Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Зарегистрируйся на MQL5.community, чтобы опубликовать тему на форуме
MetaQuotes Software Corp.
Модератор
181008
MetaQuotes Software Corp. 2009.08.09 21:15 

s-ReConnect.mq4:

Скрипт следит за соединением с сервером ДЦ и если оно пропало, то пытается пересканировать серверы, если связь не восстановилась, то переподключает аккаунт.

Author: Александр

MQL4 Comments
16319
MQL4 Comments 2009.08.10 14:03  
PostMessageA(hwindow,WM_COMMAND,37400,0);

Где можно узнать о 37400 и других командах?

MQL4 Comments
16319
MQL4 Comments 2009.08.10 14:08  

MSDN

MQL4 Comments
16319
MQL4 Comments 2009.08.10 15:38  

Да, но в MSDN ничего не сказано о метатрейдере :-)

Александр
1082
Александр 2009.08.10 16:26  
r0mBY:
PostMessageA(hwindow,WM_COMMAND,37400,0);

Где можно узнать о 37400 и других командах?


Есть такая веточка. И еще пользуюсь утилиткой spy++ для отлова сообщений.

MQL4 Comments
16319
MQL4 Comments 2009.08.10 16:37  

а разве это не происходит автоматически, без всяких скриптов?

Stanislav Korotky
17858
Stanislav Korotky 2009.08.11 09:51  
Omm:

а разве это не происходит автоматически, без всяких скриптов?

В каких-то версиях терминала бывали глюки, что переподключения не происходило. Я писал для себя похожий скрипт, с отправкой по почте уведомлений, и по статистике все разрывы были вызваны проблемами связи от хостера до ДЦ (м.б. сам ДЦ бывал перегружен), так что никакие пляски с бубном не помогли бы восстановить связь. Но обычно такие провалы занимали в среднем 2 минуты (конечно, у конкретного ДЦ) и случались не больше 3 раз за сутки.

А переподключаемый эккаунт не обязательно класть в избранное. Можно перелогиниваться в последний залогиненный эккаунт.

    PostMessageA(hwnd_parent, WM_COMMAND, 0x8A65, -0x30107D);
    hwnd = GetLastActivePopup(hwnd_parent);
    if(hwnd != 0)
    {
      Print("Attempt to re-login");
      Sleep(1000);
      PostMessageA(hwnd, WM_KEYDOWN, VK_ENTER, 0);
    }
MQL4 Comments
16319
MQL4 Comments 2010.10.28 12:44  
marketeer:
Omm:

а разве это не происходит автоматически, без всяких скриптов?

В каких-то версиях терминала бывали глюки, что переподключения не происходило. Я писал для себя похожий скрипт, с отправкой по почте уведомлений, и по статистике все разрывы были вызваны проблемами связи от хостера до ДЦ (м.б. сам ДЦ бывал перегружен), так что никакие пляски с бубном не помогли бы восстановить связь. Но обычно такие провалы занимали в среднем 2 минуты (конечно, у конкретного ДЦ) и случались не больше 3 раз за сутки.

А переподключаемый эккаунт не обязательно класть в избранное. Можно перелогиниваться в последний залогиненный эккаунт.

    PostMessageA(hwnd_parent, WM_COMMAND, 0x8A65, -0x30107D);
    hwnd = GetLastActivePopup(hwnd_parent);
    if(hwnd != 0)
    {
      Print("Attempt to re-login");
      Sleep(1000);
      PostMessageA(hwnd, WM_KEYDOWN, VK_ENTER, 0);
    }


А как грамотно прикрутить этот кусок к вышенаписаннному скрипту?

MQL4 Comments
16319
MQL4 Comments 2011.04.27 13:30  

Отлично!

НО! если его толково дописать - будет шедевр!

Первоначальные тесты, показали, его максимальную эффективность! Особенно полезен в тех БК, где любят выводить в убыток, путём отключения от сервера.

Не будем показывать пальцем на БК, но многие и так знают, какие БК воруют и намеренно отключают от серверов.

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий