Скачать MetaTrader 5

Автоматический перезапуск советника через заданый интервал времени - страница 6

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подключи хранилище исходного кода MQL5 Storage. Это бесплатно!
Рустам
3597
Рустам 2013.08.10 14:35  
При вызове советника настройки гарантированно слетят на умолчания (если не загружать сет файл). Так что остается только переключение ТФ. Кроме того, если бы вы читаль форум, ну например самую первую тему, то вы бы поняли, что очень скоро сервисы подобные вашему мкл_лок останутся не при делах. Так как взломать .ех4 будет равнозначно взлому .ехе по сложности.
Dmitry Fedoseev
42922
Dmitry Fedoseev 2013.08.10 14:47  
Webmaster:

...Объясняю на пальцах...

Погните пальцы перед этим самым MQLLock'oм, чтобы нормальный сервис предоставлял, чтобы делал проверку раз в сутки в старте а не в ините. Вы же платите ему деньги, пусть работает и предоставляет нормальные услуги.
Fivos S. Georgiades
885
Fivos S. Georgiades 2013.08.10 15:11  
FAQ:
При вызове советника настройки гарантированно слетят на умолчания (если не загружать сет файл). Так что остается только переключение ТФ. Кроме того, если бы вы читаль форум, ну например самую первую тему, то вы бы поняли, что очень скоро сервисы подобные вашему мкл_лок останутся не при делах. Так как взломать .ех4 будет равнозначно взлому .ехе по сложности.


Да ладно, как ломали, так и будут ломать. Взломов не будет какое-то очень короткое время. Я это говорю не со злорадством, а ссожалением, как человек, страдающий от взломов.

Мне кажется, что настройки не должны слететь, ведь не слетают же они при ручном перезапуске. Конечно, надо проверить, если получится эту злополучную функцию оживить.

Переключение ТФ тоже вариант, но тут больше действий нужно, сначала найти нужный ТФ, потом переключить его один раз, заблокировать нежелательные сигналы, переключить обратно, короче, гембель. Перезапустить проще.

Fivos S. Georgiades
885
Fivos S. Georgiades 2013.08.10 15:13  
Integer:

Погните пальцы перед этим самым MQLLock'oм, чтобы нормальный сервис предоставлял, чтобы делал проверку раз в сутки в старте а не в ините. Вы же платите ему деньги, пусть работает и предоставляет нормальные услуги.

Пока они свою платформу обновят ... проще самому подстроиться под то, что есть.
Рустам
3597
Рустам 2013.08.10 15:39  

переключение ТФ проще, и надежней. кода больше - да, зато последствий меньше.

Webmaster: Да ладно, как ломали, так и будут ломать. Взломов не будет какое-то очень короткое время. Я это говорю не со злорадством, а ссожалением, как человек, страдающий от взломов.
ну тогда то же самое можно сказать и про ваш вариант, ибо ех4 будет компилироватся сразу в натив...
Fivos S. Georgiades
885
Fivos S. Georgiades 2013.08.10 16:23  
FAQ:

ну тогда то же самое можно сказать и про ваш вариант, ибо ех4 будет компилироватся сразу в натив...


Да я двумя руками за! Посмотрим, как оно будет на самом деле.

Чисто из спортивного интереса, этот код не компилируется только у меня, или у всех тоже вылезает ошибка - "несовместимый тип"?

datetime st;

#include <WinUser32.mqh>

int start()
 {
   int hwnd;
      
   Print(TimeCurrent()-st); 
    
   if(TimeCurrent() - st > 60) 
     {
       SendMessageA(hwnd, RegisterWindowMessageA("MetaTrader4_Internal_Message"), 14, "MACD Sample"); 
       
       st = TimeCurrent();
     }        
 }
o_o
Модератор
23700
o_o 2013.08.10 17:44  
Webmaster:


этот код не компилируется только у меня, или у всех тоже вылезает ошибка - "несовместимый тип"?

а у вас собственный компилятор? нечего на компилятор пенять, коли прога кривая.
Рустам
3597
Рустам 2013.08.10 17:50  
чисто из спортивного интереса загляните в ваш вин32 мгш и гляньте на формат вызова SendMessageA() особенно типы переменных
Vadim Zhunko
5226
Vadim Zhunko 2013.08.10 17:56  

Библиотека.

 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 // 7. ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ПРОГРАММАМИ MQL4.
 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 // 7.1. Функция удаляет эксперт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceDeleteExpert(int hwndChart); // Системный дескриптор окна графика, удаляемого эксперта.
 //=====================================================================================================================================================================
 // 7.2. ФУНКЦИЯ удаляет индикаторы по имени из списка загруженных индикаторов.
 void ServiceDeleteIndicatorsByName(int     hwndChart,         // Системный дескриптор окна, куда прикреплен индикатор.
                                    int     nWindow,           // Номер подокна для удаления индикаторов. Если -1, то удаляются индикаторы из всех подокон.
                                    string &asIndicatorName[], // Одномерный массив с именами удаляемых индикаторов.
                                    int     nNumberName);      // Количество имён индикаторов в массиве.
 //=====================================================================================================================================================================
 // 7.3. Функция удаляет скрипт с указанного графика. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServiceDeleteScript(int hwndChart); // Системный дескриптор окна графика, удаляемого скрипта.
 //=====================================================================================================================================================================
 // 7.4. Функция управляет диалоговым окном завершения скрипта и возвращает системный дескриптор диалогового окна завершения скрипта, если окно есть,
 //      иначе - NULL. Функция работает только с русской и английской локализациями.
 int ServiceDialogScript(int bInstruction); // Команда для диалогового окна завершения скрипта: TRUE - завершить скрипт, FALSE - не завершать скрипт.
 //=====================================================================================================================================================================
 // 7.5. Функция получает имена индикаторов из списка загруженных индикаторов.
 //      В случае успеха функция возвращает количество индикаторов в указанных подокнах параметром "nWindow", иначе ноль.
 int ServiceGetNamesIndicators(int     hwndChart,         // Системный дескриптор окна, куда прикреплен индикатор.
                               int     nWindow,           // Номер подграфика. Если -1, то считываются имена индикаторов из всех подокон.
                               string &asIndicatorName[], // Одномерный строковый массив для приёма имён индикаторов.
                                                          // Массив должен быть инициализирован разными значениями в каждой ячейке!
                                                          // Это особенность инициализации строковых массивов в MQL4.
                               int     nNumberName);      // Размер массива "asIndicatorName[]" для приёма имён индикаторов.
 //=====================================================================================================================================================================
 // 7.6. Функция возвращает TRUE, если окно свойств эксперта открыто, иначе - FALSE.
 bool ServiceIsPropertiesExpert(string sNameExpert); // Имя эксперта, для которого контроллируется открытие окна.
 //=====================================================================================================================================================================
 // 7.7. Функция открывает окно списка индикаторов. Функция ожидает открытия окна в течении 2,5 секунд. Если окно не появилось в течении этого времени,
 //      функция возвращает FALSE.
 bool ServiceListIndicators(int hwndChart); // Системный дескриптор окна графика, на котором вызывается окно списка индикаторов.
 //=====================================================================================================================================================================
 // 7.8. Функция загружает на указанный график пользовательский индикатор по его имени.
 void ServiceLoadCustomIndicator(int    hwndChart,      // Системный дескриптор окна графика, куда загружается индикатор.
                                 string sNameIndicator, // Имя загружаемого индикатора.
                                 int    bOK);           // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
                                                        // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //=====================================================================================================================================================================
 // 7.9. Функция загружает на указанный график эксперт по его имени.
 void ServiceLoadExpert(int    hwndChart,   // Системный дескриптор окна графика, куда загружается эксперт.
                        string sNameExpert, // Имя загружаемого эксперта.
                        int    bOK);        // Подтверждение запуска эксперта, при наличии диалогового окна свойств эксперта.
                                            // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //=====================================================================================================================================================================
 // 7.10. Функция загружает на указанный график скрипт по его имени.
 void ServiceLoadScript(int    hwndChart,   // Системный дескриптор окна графика, куда загружается скрипт.
                        string sNameScript, // Имя загружаемого скрипта.
                        int    bOK);        // Подтверждение запуска скрипта, при наличии диалогового окна свойств скрипта. Скрипт может не иметь окна свойств!
                                            // При использовании функции для загрузки скрипта из скрипта на текущем графике параметр не работает из-за
                                            // невозможности одновременной работы двух скриптов на одном графике.
                                            // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //=====================================================================================================================================================================
 // 7.11. Функция загружает на указанный график стандартный индикатор по его имени.
 void ServiceLoadStdIndicator(int    hwndChart,      // Системный дескриптор окна графика, куда загружается индикатор.
                              string sNameIndicator, // Имя загружаемого индикатора.
                              int    bOK);           // Подтверждение запуска индикатора, при наличии диалогового окна свойств индикатора.
                                                     // TRUE - автонажатие на кнопку "OK" разрешено, FALSE - автонажатие на кнопку "OK" запрещено.
 //=====================================================================================================================================================================
 // 7.12. Функция вызывает меню свойств эксперта. В случае успеха функция возвращает TRUE, иначе - FALSE.
 bool ServicePropertiesExpert(int hwndChart); // Системный дескриптор окна графика, на котором вызывается меню свойств эксперта.
 //=====================================================================================================================================================================
 // 7.13. Функция включает/отключает эксперты, управляя кнопкой "Советники".
 void ServiceSetExperts();
В комплекте есть тествый скрипт с примерами ко всем функциям.
123456
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий