Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Знаешь C++? MQL5 очень схож с ним, убедись в этом сам!
Evgeniy Scherbina
2118
Evgeniy Scherbina 2016.08.17 20:11 

В mql4 в режиме тестирования можно отследить состояние объекта-кнопки OBJPROP_STATE. Если нажата, выполнить действие, отжата - не выполнить. В mql5 это не доступно? Пробую и так и сяк, визуально не видно, что кнопка нажимается в режиме теста. Время в тесте тикает и даже сделку открывает.

Evgeniy Scherbina
2118
Evgeniy Scherbina 2016.08.17 21:35  
Вот здесь https://www.mql5.com/ru/articles/239 подзаголовок "Обработка событий в тестере". Указано, что обработка событий в тестере работает. Так ведь нет! В лайве работают и клики и движения, а в тесте никак.
Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
Vitaly Muzichenko
3267
Vitaly Muzichenko 2016.08.17 21:49  

События "OnChartEvent" не отслеживаются в тестере, а вот нажатие кнопки отслеживается и работает:

//=========================================== MQL4 ==============================================
void OnTick() {
 // создадим кнопку
  ButtonCreate("Button",50,50,30,30,0,"Жми","","Arial",8,clrBlack,C'236,233,216',clrGray,false);
 // и проверим нажатие
  Comment( ObjectGetInteger(0,"Button",OBJPROP_STATE)?"Нажата":"Отжата" );
 }
 
//===============================================================================================
//--------------------------------------- Создает кнопку ---------------------------------------+
//===============================================================================================
void ButtonCreate(string nm="Button",int xd=0,int yd=0,int width=50,int height=18,int cr=0,
                  string text="Button",string tooltip="Button",string font="Arial",int font_size=9,
                  color cl=clrBlack,color back_cl=C'236,233,216',color border_cl=clrNONE,bool state=false) {
 if(ObjectFind(0,nm)==-1) {
    ObjectCreate(0,nm,OBJ_BUTTON,0,0,0);
    ObjectSetInteger(0,nm,OBJPROP_XDISTANCE,xd);
    ObjectSetInteger(0,nm,OBJPROP_YDISTANCE,yd);
    ObjectSetInteger(0,nm,OBJPROP_XSIZE,width);
    ObjectSetInteger(0,nm,OBJPROP_YSIZE,height);
    ObjectSetInteger(0,nm,OBJPROP_CORNER,cr);
    ObjectSetString(0,nm,OBJPROP_TEXT,text);
    ObjectSetString(0,nm,OBJPROP_TOOLTIP,tooltip);
    ObjectSetString(0,nm,OBJPROP_FONT,font);
    ObjectSetInteger(0,nm,OBJPROP_FONTSIZE,font_size);
    ObjectSetInteger(0,nm,OBJPROP_COLOR,cl);
    ObjectSetInteger(0,nm,OBJPROP_BGCOLOR,back_cl);
    ObjectSetInteger(0,nm,OBJPROP_BORDER_COLOR,border_cl);
    ObjectSetInteger(0,nm,OBJPROP_BACK,false);
    ObjectSetInteger(0,nm,OBJPROP_STATE,state);
    ObjectSetInteger(0,nm,OBJPROP_SELECTABLE,false);
    ObjectSetInteger(0,nm,OBJPROP_SELECTED,false);
    ObjectSetInteger(0,nm,OBJPROP_HIDDEN,false);
  }
 }
Evgeniy Scherbina
2118
Evgeniy Scherbina 2016.08.17 21:58  

Mql4 работает. Mql5 не работает, я об этом

Это очень странно. Столько написали про новый метатрейдер. Думаешь, ну конфетка. Обязательно надо сделать советник, и все его купят. А интерфейс в тесте не работает. Ну и как купят? 

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