Подскажите пожалуйста есть ли возможность программной (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+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь