Подскажите пожалуйста есть ли возможность программной (mql5) записи и восстановления настроек советника ? А так же перехват времени их изменения.
- оповещение об окончании оптимизации
- Обсудим совместные проекты в редакторе - зачем они и куда движутся
- Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6.
Andrey Mikhailov:
Подскажите пожалуйста есть ли возможность программной (mql5) записи и восстановления настроек советника ? А так же перехват времени их изменения.
Конечно существует, сохранение и восстановление input переменных реализовано на штатном уровне терминала, все остальные переменные значение которых нужно восстановить при перезапуске советника записываются в файл или или в глобальные переменные терминала например в функции OnDeinit() а восстановление в функции OnInit(). Примерно такПодскажите пожалуйста есть ли возможность программной (mql5) записи и восстановления настроек советника ? А так же перехват времени их изменения.
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- if(MQLInfoInteger(MQL_VISUAL_MODE))flag_save=false; if(MQLInfoInteger(MQL_OPTIMIZATION))flag_save=false; if(MQLInfoInteger(MQL_TESTER)) flag_save=false; if(flag_save)LoadParametres(); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- if(flag_save)SaveParametres(); } //+------------------------------------------------------------------+ void SaveParametres() { int handle=FileOpen(Имя файла.csv",FILE_CSV|FILE_WRITE); if(handle>0) { FileWrite(handle,tiket); FileWrite(handle,flag_series); FileWrite(handle,TP); FileWrite(handle,SL); FileWrite(handle,series); FileWrite(handle,Lots); FileClose(handle); } else Print("Error saving data № - ",GetLastError(),"Magic = ",Magic," ",_Symbol); } //+------------------------------------------------------------------+ void LoadParametres() { Print("*******************************************"); Print("Start downloading data Magic = ",Magic," ",_Symbol); Print("*******************************************"); int handle=FileOpen("Имя файла.csv",FILE_CSV|FILE_READ); if(handle>0) { tiket=(int)FileReadNumber(handle); flag_series=FileReadBool(handle); TP = FileReadNumber(handle); SL = FileReadNumber(handle); series=(int)FileReadNumber(handle); Lots=FileReadNumber(handle); FileClose(handle); Print("*******************************************"); Print("Loading data completed Magic = ",Magic," ",_Symbol); Print("*******************************************"); } } //+------------------------------------------------------------------+
А в советнике можно поймать момент когда изменены параметры советника ?
Andrey Mikhailov:
А в советнике можно поймать момент когда изменены параметры советника ?
А в советнике можно поймать момент когда изменены параметры советника ?
скорее всего да, только для какой цели это нужно
Andrey Mikhailov:
А в советнике можно поймать момент когда изменены параметры советника ?
А в советнике можно поймать момент когда изменены параметры советника ?
Создайте статическую переменную, или глобальную например bool one_start=true; и проверяйте её в OnInit, при изменении параметров они не сбрасываются. По значению этой переменной вы узнаете, это просто запуск, или же изменение параметров.
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- bool one_start=true; //--- if(one_start){ Print("One start"); one_start=false; } else Print("Parameters changed"); return(INIT_SUCCEEDED); }
Andrey Mikhailov:
Подскажите пожалуйста есть ли возможность программной (mql5) записи и восстановления настроек советника ? А так же перехват времени их изменения.
Вчера вышла статья Текстовые файлы для хранения входных параметров советников, индикаторов и скриптов
Подскажите пожалуйста есть ли возможность программной (mql5) записи и восстановления настроек советника ? А так же перехват времени их изменения.
Всем спасибо !

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь