- Вопросы от начинающих MQL5 MT5 MetaTrader 5
- Сигналы : Спрашивайте и говорите все и обо всем о торговых сигналах MQL5
- рабочий стол???
Иногда такое может быть, если после изменения свойств, нет принудительной перерисовки ChartRedraw()
Перерисовка есть
void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam ) { if(id==CHARTEVENT_CHART_CHANGE) { // ваш код } }
У меня так прекрасно работает.
Полный код: https://www.mql5.com/ru/code/34521- www.mql5.com
Еще может быть такое, наверное, что если объект не меняет сам chart, то может быть нужно из самих объектов слать события этих объектов, кастомные, и ловить их на графике.
https://www.mql5.com/ru/docs/event_handlers/onchartevent
CHARTEVENT_CUSTOM + n — идентификатор пользовательского события, где n находится в диапазоне от 0 до 65535.
https://www.mql5.com/ru/docs/eventfunctions/eventchartcustom
Ну или еще что-то)
- www.mql5.com
Короче проблема в том, что в МТ5 когда перемещаешь график мышкой с зажатой левой кнопкой, события ни какие не приходят, только при отпускании левой кнопки мыши, ну может еще пару раз что нибудь проскочит во время перемещения и все, в МТ4 гораздо лучше с этим делом
Попробуйте этот код:
void OnInit() { ChartSetInteger(0, CHART_EVENT_MOUSE_MOVE, true); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam ) { if(id==CHARTEVENT_CHART_CHANGE) { Print(__FUNCTION__, " CHANGE sparam=", sparam); } if(id==CHARTEVENT_OBJECT_DRAG) { Print(__FUNCTION__, " DRAG sparam=", sparam); } if(id==CHARTEVENT_MOUSE_MOVE) { if(sparam == "1") Print(__FUNCTION__, " MOUSE_MOVE sparam=", sparam); } }
Что значит тупят? Вот двигаю график, за две секунды получаю 2 десятка событий в журнал. У Вас не так?
Помоему проблема в том, что если колесом крутить график, то битмап генерируется за 0.007 секунд и все работает четко, а то и меньше, а если левой кнопкой мыши перемещать, то пол секунды, а то и целую секунду иногда бывает, в МТ4 0.002 секунды, хоть колесом хоть перемещением
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования