0
Views
0
Downloads
0
Favorites
lm8gli6hk9hbpcci56tf4t6ubz131lcn
//+------------------------------------------------------------------+
//| Ïåðåñêàíèðîâàíèå.mq4 |
//| Ñêðèïò |
//| Martingeil© 2011, 01 èþëÿ |
//| fx.09@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Martingeil© 2011, 01 èþëÿ"
#property link "fx.09@mail.ru"
// Ñêðèïò ñêàíèðóåò ñåðâåðà â ñëó÷àå îáðûâà ñâÿçè, èëè îøèáêè ¹6, åñëè íå ïîìîãàåò äåëàåò ïåðåëîãèíèðîâàíèå ñ÷åòà.
// Ñêðèïò óñòàíîâèòñÿ àâòîìàòè÷åñêè íà ãðàôèê ñîâåòíèêîì - "Çàïóñê ñêðèïòà ñîâåòíèêîì".
//  ñåðâèñå->íàñòðîéêè->ñîâåòíèêè òåðìèíàëà ÌÒ4 - íóæíî óáðàòü ãàëêó, "îòêëþ÷èòü ñîâåòíèêè ïðè ñìåíå ñ÷åòà"
#include <WinUser32.mqh> // Ñòàíäàðòíàÿ áèáëèîòåêà
#define RESCANSERVERS_COMMAND_CODE 37400
#define OPENLOGINWINDOW_COMMAND_CODE 35429
#define PAUSE 1000
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
void start() {
bool flag=true;
//------------------------------------
while(!IsStopped()){
Comment("Ïåðåñêàíèðîâàíèå");
if(!flag)
{ Print("Åñòü êîíòàêò. Âðåìÿ ñåðâåðà: ",TimeToStr(TimeCurrent()));
Comment("Ïåðåñêàíèðîâàíèå\nÅñòü êîíòàêò.\nÂðåìÿ ñåðâåðà: ",TimeToStr(TimeCurrent()));
flag=true;
} //if(!flag)
// åñëè ñîåäèíåíèÿ íåò, èëè åñëè åñòü îøèáêà "6", à IsConnected()==true
while(!IsConnected()&&!IsStopped()||GetLastError()==6)
{
if(flag)
{ Print("Íåò ñîåäèíåíèÿ ñ ñåðâåðîì. Âðåìÿ ñåðâåðà: ",TimeToStr(TimeCurrent())," Îøèáêà:",GetLastError());
Comment("Ïåðåñêàíèðîâàíèå\nÍåò ñîåäèíåíèÿ ñ ñåðâåðîì.\nÂðåìÿ ñåðâåðà: ",
TimeToStr(TimeCurrent()),"\nÎøèáêà:",GetLastError());
flag=false;
} //if(flag)
ReScanServers(); // ïåðåñêàíèðóåì ñåðâåðû
Sleep(10000); // ïîäîæäåì êîííåêòà
if(!IsConnected()||GetLastError()==6) // åñëè ñîåäèíåíèÿ íåò, èëè îøèáêà ¹6
{ ReLoginAccount(); // ïåðåëîãèí ñ÷åòà
Sleep(10000); // ïîäîæäåì êîííåêòà
}//if(!IsConnected())
}//while (!IsConnected()&&!IsStopped())
Sleep(20000);
}//while(!IsStopped())
Comment("");
return;
}//void start()
// Ïåðåñêàíèðóåì ñåðâåðû ------------------------------------------------
int ReScanServers(){
int hwindow=GetAncestor(WindowHandle(Symbol(),Period()),2); // ïîëó÷àåì õåíäë ãëàâíîãî îêíà
Comment("Ïåðåñêàíèðîâàíèå\n+++ ÏåðåÑêàíèðóåì Ñåðâåðû +++"); // âûâåäåì íà ÷àðò ñîîáùåíèå
if(hwindow!=0) { // íàøëè ãëàâíîå îêíî
// ïîñûëàåì ñîîáùåíèå "ïåðåñêàíèðîâàòü ñåðâåðû"
return(PostMessageA(hwindow,WM_COMMAND,RESCANSERVERS_COMMAND_CODE,0));
}
return(-1);
}
// Ïåðåëîãèíåìñÿ --------------------------------------------------------
int ReLoginAccount()
{
int hwnd=GetAncestor(WindowHandle(Symbol(),Period()),2); // ïîëó÷àåì õåíäë ãëàâíîãî îêíà
Comment("Ïåðåñêàíèðîâàíèå\n+++ ÏåðåËîãèí +++ "); // âûâåäåì íà ÷àðò ñîîáùåíèå
PostMessageA(hwnd,WM_COMMAND,OPENLOGINWINDOW_COMMAND_CODE,0); // îòêðûëè îêíî ââîäà Ëîãèíà è Ïàðîëÿ.
Sleep(PAUSE); // äåëàåì ïàóçó, æäåì
hwnd=GetLastActivePopup(hwnd); // íàøëè õýíäë îêíà ââîäà Ëîãèíà è Ïàðîëÿ
hwnd=GetDlgItem(hwnd,0x1); // íàøëè õýíäë êíîïêè ËÎÃÈÍ
Sleep(PAUSE); // äåëàåì ïàóçó, æäåì
SendMessageA(hwnd,BM_CLICK,0,0); // íàæàëè êíîïêó ËÎÃÈÍ
return(0);
}
//------------------------------------------------------------------------
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---