YURAZ_Monitoring

Создатель: YURAZ
Описание: Скрипт рекомендован для ответа своевременных задач, по большей части помощи связи при замирающих графиках при оборвавах связи так же возможно добавить вывод в безубыток любых ордеров к примеру при 50п либо 100п
скрипт логирует обрыв связи в промежутке, краткосрочные обрывы менее gSleep в не фиксируются.
extern int gSleep = 60000; // один раз в 60 секунд контролируем сообщение Скрипт нужно повесть на отдельный график, скрипт зацикленный, при перезагрузке МТ4, скрипт нужно загрузить заново. Код: // (C) YURAZ_Monitoring 2009 // // Мониторинг других событий и связи // // В случае если внезапно сообщение оборвалась // скрпипт пробует проконектится по любому из дешёвых IP адресов // что увеличивает вероятность и надёжность коннекта возрастает // т к у дилингов смогут быть неприятности на определенном IP адресе ( сервере ) // но на втором все нормально трудиться // // методом несложной модификации возможно к примеру еще выводить ордера в безубыток // по любой паре //
#define WM_COMMAND 0x0111 #define MT4_COMMAND_SCAN_SERVER 37400

#import "user32.dll" int SendMessageA(int hWnd,int Msg,int wParam,int lParam); int GetAncestor(int hWnd, int gaFlags); #import

extern int gSleep = 60000; // один раз в 60 секунд контролируем сообщение
static int fConnect = 1; static int fBeg = 0;
void init() { if ( IsConnected( ) == false ) { fConnect = 0; } else { fConnect = 1; } Print(" Init ok "); }
void start() {
if ( fBeg == 0 ) { fBeg = 1; // тут сделаем тёмные дела при первом входе Print(" Start ok "); } while ( true ) { Sleep( gSleep ); if ( IsConnected( ) == false ) { if ( fConnect == 1 ) { fConnect = 0; Comment ( "НЕТ СВЯЗИ "); Print("Нет связи "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES|TIME_SECONDS ) ); }
// пробуем int hMetaTrader = GetAncestor(WindowHandle(Symbol(),Period()),2); // дескриптор главного окна терминала SendMessageA (hMetaTrader, WM_COMMAND, MT4_COMMAND_SCAN_SERVER , 0); // команда пересканировать все серверы } else { if ( fConnect == 0 ) { fConnect = 1; Comment ( "Сообщение Имеется "); Print("сообщение имеется "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES|TIME_SECONDS ) ); } } } } YURAZ_Monitoring.MQ4