Событие нажатия кнопки на панели не работает в тестере стратегий MT5 - страница 2

 
Andrey Kaunov #:

Здравствуйте.

У меня вот кнопка в тестере MT5 в принципе не нажимается. То есть вообще никак не реагирует на клики. Не понимаю почему.

Ставил OBJPROP_ZORDER значение 99, но не помогает.

Запустил код из поста #7 выше, кнопка в тестере работает. Билд 4040.

Вы кнопку также на панели используете? Может какой-то другой объект ее задевает, типа внахлест идет? Или может, если есть вложенность контейнеров, то происходят выходы за их диапазоны.
Хорошо бы смогли кусок кода выделить и скинуть.

 

Спасибо за отклик, Василий.

Да, тот код работает. У меня обычная кнопка. Установлена на график функцией

ObjectCreate(chart_ID,name,OBJ_BUTTON,sub_window,0,0);

На нажатие не реагирует, статус не меняет.

Код сделаю сейчас, не проблема.

 

Хм, собрал код с тестовой кнопкой, она работает.

Значит что то в коде советника не даёт нажиматься. Буду смотреть. Код конвертировал с MQL4, там всё работает.

P.S. Заметил разницу в работе кнопки в тестере. В MT4 кнопка нажимается даже на паузе тестера, и перерисовывается сразу после нажатия. А в MT5, если нажимаешь на паузе, только после снятия с паузы она перерисовывается. При работе тестера на медленной скорости нажимаешь на кнопку, но перерисовывается она только на следующем тике. Видимо из-за этих особенностей, в советнике что то не работает. Пока не понял что же там не так.

Файлы:
eButtonTest.mq5  13 kb
 
Andrey Kaunov #:

Хм, собрал код с тестовой кнопкой, она работает.

Значит что то в коде советника не даёт нажиматься. Буду смотреть. Код конвертировал с MQL4, там всё работает.

P.S. Заметил разницу в работе кнопки в тестере. В MT4 кнопка нажимается даже на паузе тестера, и перерисовывается сразу после нажатия. А в MT5, если нажимаешь на паузе, только после снятия с паузы она перерисовывается. При работе тестера на медленной скорости нажимаешь на кнопку, но перерисовывается она только на следующем тике. Видимо из-за этих особенностей, в советнике что то не работает. Пока не понял что же там не так.

В тестере МТ5 OnChartEvent() не работает. И скорее всего не будет. По крайней мере при нашей жизни.

 
Alexey Viktorov #:

В тестере МТ5 OnChartEvent() не работает. И скорее всего не будет. По крайней мере при нашей жизни.

Речь не про это, Алексей.  OnChartEvent() не работает и в MT4

 

У меня в индикаторе в МТ5, когда включаю его в тестере в визуальном режиме, то работает функция обработки событий OnChartEvent().

Нажатие на кнопку отслеживаю, установив значение OBJPROP_ZORDER у кнопки равным 10.

 
Vasiliy Pushkaryov #:

Запустил код из поста #7 выше, кнопка в тестере работает. Билд 4040.

Вы кнопку также на панели используете? Может какой-то другой объект ее задевает, типа внахлест идет? Или может, если есть вложенность контейнеров, то происходят выходы за их диапазоны.
Хорошо бы смогли кусок кода выделить и скинуть.

С кнопкой я разобрался. Под ней был OBJ_RECTANGLE_LABEL с таким же значением ZORDER. Поставил для OBJ_RECTANGLE_LABEL значение 0, и всё заработало.

Но теперь другая проблема. Горизонтальная линия на графике не перемещается мышкой. И даже, если из "Списка объектов" меняешь в свойствах значение её положения, ни положение ни значение не меняется. Линия в принципе в тестере не может изменить своё положение, или в чём то другом дело? Помогите разобраться пожалуйста. Прикрепляю тестовый советник, устанавливающий кнопку и линию.

Файлы:
eButtonTest.mq5  20 kb
 
Andrey Kaunov #:

С кнопкой я разобрался. Под ней был OBJ_RECTANGLE_LABEL с таким же значением ZORDER. Поставил для OBJ_RECTANGLE_LABEL значение 0, и всё заработало.

Но теперь другая проблема. Горизонтальная линия на графике не перемещается мышкой. И даже, если из "Списка объектов" меняешь в свойствах значение её положения, ни положение ни значение не меняется. Линия в принципе в тестере не может изменить своё положение, или в чём то другом дело? Помогите разобраться пожалуйста. Прикрепляю тестовый советник, устанавливающий кнопку и линию.


Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 1570: Улучшение витрины Маркета и расширение шаблонных функций в MQL5

Vasiliy Pushkaryov, 2017.03.27 00:08

+++

Тоже писал об этом в предыдущем обновлении.

Slawa здесь писал, что "Будем решать вопрос с объектами в тестере". Нужно регулярно напоминать, чтобы видели, что есть потребность в этом.


Давно обсуждали, видно, так и не решили проблемы с графическими объектами в тестере.

 
Не рекомендую использовать кнопки вообще. Опорос состояния кнопки в OnTick часто вызывал зависание чартов. Проблема еще в том что это может произойти через 10 мину после старта а может и через 10 часов. Использование обычного квадрата и соответсвующего флага рабоатет без нареканий. 
 
Dmitiry Ananiev #:
Не рекомендую использовать кнопки вообще. Опорос состояния кнопки в OnTick часто вызывал зависание чартов. Проблема еще в том что это может произойти через 10 мину после старта а может и через 10 часов. Использование обычного квадрата и соответсвующего флага рабоатет без нареканий. 

Жесть какая-то :-) Зачем вы опрашиваете кнопки в OnTick ???