0
Views
0
Downloads
0
Favorites
s-ReConnect
//+------------------------------------------------------------------+
//| s-ReConnect.mq4 |
//| Copyright © 2009, Talex |
//| talex.kaliningrad@gmail.com |
//+------------------------------------------------------------------+
//
// ÂÍÈÌÀÍÈÅ!!!
// Ïåðåïîäêëþ÷àåìûé ñ÷åò äîëæåí áûòü â îêíå "Èçáðàííîå", ñàìûì âåðõíèì
#property copyright "Copyright © 2009, Talex"
#property link "talex.kaliningrad@gmail.com"
#import "user32.dll"
int GetAncestor (int hWnd, int gaFlags);
int GetDlgItem (int hDlg, int nIDDlgItem);
int GetLastActivePopup (int hWndOwner);
int PostMessageA (int hWnd, int Msg, int wParam, int lParam);
#import
#define WM_COMMAND 0x0111
#define WM_KEYDOWN 0x0100
#define VK_HOME 0x24
#define VK_ENTER 0x0D
int Pause=15000; // ïàóçà 15 ñåêóíä
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
void start() {
bool flag=true;
//------------------------------------
while(!IsStopped()) {
Comment("ReConnect");
if(!flag) {
Print("Ñîåäèíåíèå âîññòàíîâëåíî. Âðåìÿ ÄÖ: ",TimeToStr(TimeCurrent()));
Comment("ReConnect\nÑîåäèíåíèå âîññòàíîâëåíî.\nÂðåìÿ ÄÖ: ",TimeToStr(TimeCurrent()));
flag=true;
}
while(!IsConnected()&&!IsStopped()) { // åñëè ñîåäèíåíèÿ íåò
if(flag) {
Print("Íåò ñîåäèíåíèÿ ñ ñåðâåðîì. Âðåìÿ ÄÖ: ",TimeToStr(TimeCurrent()));
Comment("ReConnect\nÍåò ñîåäèíåíèÿ ñ ñåðâåðîì.\nÂðåìÿ ÄÖ: ",TimeToStr(TimeCurrent()));
flag=false;
}
Rescan(); // ïåðåñêàíèðóåì ñåðâåðû
Sleep(Pause); // ïîäîæäåì êîííåêòà
if(!IsConnected()) { // åñëè ñîåäèíåíèÿ íåò
Reconnect(); // ïåðåïîäêëþ÷àåì ñ÷åò
Sleep(Pause); // ïîäîæäåì êîííåêòà
}
}
Sleep(60000);
}
Comment("");
return;
}
//+------------------------------------------------------------------+
//-----------------------------------------------------------------------+
// Ôóíêöèÿ ïîçâîëÿåò ïåðåñêàíèðîâàòü ñåðâåðû +
//-----------------------------------------------------------------------+
void Rescan() {
int hwindow=GetAncestor(WindowHandle(Symbol(),Period()),2);// ïîëó÷àåì õåíäë ãëàâíîãî îêíà
//-----------------------------------
Comment("ReConnect\n...ïåðåñêàíèðóåì ñåðâåðû");
if(hwindow!=0) { // íàøëè ãëàâíîå îêíî
PostMessageA(hwindow,WM_COMMAND,37400,0); // ïîñûëàåì ñîîáùåíèå "ïåðåñêàíèðîâàòü ñåðâåðû"
}
else Print("Rescan Error:",GetLastError());
return;
}
//-----------------------------------------------------------------------+
//-----------------------------------------------------------------------+
// Ôóíêöèÿ ïîçâîëÿåò ïåðåïîäêëþ÷èòüñÿ ê ñ÷åòó +
//-----------------------------------------------------------------------+
void Reconnect() {
int hwindow=WindowHandle(Symbol(),Period()), // ïîëó÷àåì õåíäë îêíà ãðàôèêà
hterminal=GetAncestor(hwindow,2); // ïîëó÷àåì õåíäë ãëàâíîãî îêíà
//----------------------------
Comment("ReConnect\n...ïåðåïîäêëþ÷àåì àêêàóíò");
if(hterminal!=0) { // íàøëè ãëàâíîå îêíî
hwindow=GetDlgItem(hterminal,0xE81C);
hwindow=GetDlgItem(hwindow,0x52);
hwindow=GetDlgItem(hwindow,0x8A70); // íàøëè Èçáðàííîå îêíà Íàâèãàòîð
PostMessageA(hwindow,WM_KEYDOWN,VK_HOME,0); // âåðõíÿÿ ñòðî÷êà çàêëàäêè Èçáðàííîå îêíà Íàâèãàòîð
PostMessageA(hwindow,WM_KEYDOWN,VK_ENTER,0); // íàæàëè ëîãèí
Sleep(1000); // âûæäàëè
hwindow=GetLastActivePopup(hterminal); // íàøëè ôîðìó ëîãèíà
PostMessageA(hwindow,WM_KEYDOWN,VK_ENTER,0); // çàëîãèíèëèñü
}
else Print("Reconnect Error:",GetLastError());
return;
}
//-----------------------------------------------------------------------+
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
---