По многочисленным просьбам пользователей перевел код ZUP с MQL4 на MQL5.
В МТ4 все работает как часы. Большое количество кнопок графического интерфейса через функцию OnChartEvent отрабатывают мгновенно.
И когда открыт рынок, и когда закрыт - в выходные.
В МТ5 тот же самый код в рабочие дни работает, хотя и с задержками.
А в выходные некоторые функции графического интерфейса вообще отказываются работать. В рабочие дни эти функции работают, хотя и с огромной задержкой.
В МТ4 в тестере все функции графического интерфейса работают. А при профилировании в МТ5 некоторые кнопки работать отказываются.
Почему такое отличие в работе функции OnChartEvent в МТ4 и в МТ5.
ChartRedraw() делайте когда необходимо отобразить изменения. Иначе - только с новым тиком.
ChartRedraw() делайте когда необходимо отобразить изменения. Иначе - только с новым тиком.
Это очень дорогая функция
Это очень дорогая функция
Но в mql4 она по умолчанию отрабатывает при взаимодействии с графикой, и при этом
В МТ4 все работает как часы. Большое количество кнопок графического интерфейса через функцию OnChartEvent отрабатывают мгновенно.
В mql5 же для контроля за производительностью нам дана возможность использовать её выборочно, а не исключительно, как в mql4, что при равных условиях даёт преимущество неиспользования её там, где не нужно.
ЗЫ. Меня вообще конечно порой поражает, что пользователи ранее - лет 10 назад - можно сказать прям требовали дать более низкоуровневый доступ в mql4 - для точечного и разумного использования открывающихся при этом возможностей. Нет-нет, да проскакивали на форуме такие просьбы. Ну дали - в mql5 это по умолчанию есть. И теперь люди эту возможность стали преподносить как недостаток. Наверное такова природа человека..
Это очень дорогая функция
Это не критично. ZUP - использует индикаторное построение. Отработка нажатий кнопок происходит редко и быстро. На основную работу это не влияет.
ЗЫ. Меня вообще конечно порой поражает, что пользователи ранее - лет 10 назад - можно сказать прям требовали дать более низкоуровневый доступ в mql4 - для точечного и разумного использования открывающихся при этом возможностей. Нет-нет, да проскакивали на форуме такие просьбы. Ну дали - в mql5 это по умолчанию есть. И теперь люди эту возможность стали преподносить как недостаток. Наверное такова природа человека..
Вопрос был - почему в МТ4 работает, а в МТ5 не работает...
Проверю с ChartRedraw(). Результат отпишу здесь.
Напрягает - придется очень много строчек кода "забить" функцией ChartRedraw(). Но попробую, для начала там, где вообще не работает в МТ5.
Экспресс тест.
Работает с ChartRedraw();
Спасибо Артем.
================
Но работает странным образом. Стали нажиматься те кнопки, на которые не нажимаю. Разберусь.
Это не критично. ZUP - использует индикаторное построение. Отработка нажатий кнопок происходит редко и быстро. На основную работу это не влияет.
Вопрос был - почему в МТ4 работает, а в МТ5 не работает...
Проверю с ChartRedraw(). Результат отпишу здесь.
Напрягает - придется очень много строчек кода "забить" функцией ChartRedraw(). Но попробую, для начала там, где вообще не работает в МТ5.
В MetaTrader5 тоже работает. Но обновление графика происходит только на новом тике если нет принудительного обновления ChartRedraw(). Отсюда и кажущиеся "тормоза" и "неработа" в выходные
Насколько помню, в МТ4 прямой доступ к объектам своего графика - как только произошло обращение, объект сразу изменяется.
В МТ5 есть очередь, в которую собираются все запросы, и всё исполняется по очереди.
Это можно увидеть при профилировании когда некоторые, встроенные, функции начинают явно "тормозить".
Раньше это был, конкретный тормоз, сейчас уже ускорили немного.
ЗЫ. Меня вообще конечно порой поражает, что пользователи ранее - лет 10 назад - можно сказать прям требовали дать более низкоуровневый доступ в mql4 - для точечного и разумного использования открывающихся при этом возможностей. Нет-нет, да проскакивали на форуме такие просьбы. Ну дали - в mql5 это по умолчанию есть. И теперь люди эту возможность стали преподносить как недостаток. Наверное такова природа человека..
Не, Артем, как мне кажется - это закономерный результат. Просто низкоуровневый доступ требовали одни, а считают это недостатком - другие.
Всем в любом случае не угодишь.
Не, Артем, как мне кажется - это закономерный результат. Просто низкоуровневый доступ требовали одни, а считают это недостатком - другие.
Всем в любом случае не угодишь.
Не, Артем, как мне кажется - это закономерный результат. Просто низкоуровневый доступ требовали одни, а считают это недостатком - другие.
Всем в любом случае не угодишь.
Не берусь утверждать. Просто отложилось в памяти об одном и том же пользователе. Ну и со временем обобщённое мнение появилось.
А всем угождать-то и не надо. Кому нужно, тот давно оценил.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
По многочисленным просьбам пользователей перевел код ZUP с MQL4 на MQL5.
В МТ4 все работает как часы. Большое количество кнопок графического интерфейса через функцию OnChartEvent отрабатывают мгновенно.
И когда открыт рынок, и когда закрыт - в выходные.
В МТ5 тот же самый код в рабочие дни работает, хотя и с задержками.
А в выходные некоторые функции графического интерфейса вообще отказываются работать. В рабочие дни эти функции работают, хотя и с огромной задержкой.
В МТ4 в тестере все функции графического интерфейса работают. А при профилировании в МТ5 некоторые кнопки работать отказываются.
Почему такое отличие в работе функции OnChartEvent в МТ4 и в МТ5.