- 2010.05.11
- Sergey Pavlov
- www.mql5.com
вот вам в помощь https://www.mql5.com/ru/articles/81
Добрый день!
Кто знает какие функции из MQL5 имеют возможность использования аналогичного синтаксиса в MQL4 (и где посмотреть).
Интересуют в основном те функции, описания которых отсутствует в стандартной справке по языку, но тем не менее они корректно работают в MQL4.
Например, "новая" конструкция:
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,Period);
отсутствует в описании MQL4, но работает в MQL4 аналогично "старой" конструкции
SetIndexDrawBegin(0,Period);
Как Вы определили, что новая конструкция работает аналогично старой?
Вы проверили код возврата PlotIndexSetInteger? Он наверняка false. Вы проверили код ошибки? Она наверняка 4014 (неизвестная функция)
Как Вы определили, что новая конструкция работает аналогично старой?
Вы проверили код возврата PlotIndexSetInteger? Он наверняка false. Вы проверили код ошибки? Она наверняка 4014 (неизвестная функция)
Как Вы определили, что новая конструкция работает аналогично старой?
Вы проверили код возврата PlotIndexSetInteger? Он наверняка false. Вы проверили код ошибки? Она наверняка 4014 (неизвестная функция)
В пятёрке индикаторы реализованы совсем по-другому, чем в четвёрке. Совсем разные архитектуры.
Но есть и хорошая новость - одинаковое исполнение OnCalculate второй формы.
Для четвёрки и пятёрки будут отличаться только функции инициализации. Смотрите примеры индикаторов в клиентском терминале MT4, смотрите примеры тех же индикаторов в MT5 - там запрограммированы практически все случаи жизни
В пятёрке индикаторы реализованы совсем по-другому, чем в четвёрке. Совсем разные архитектуры.
Но есть и хорошая новость - одинаковое исполнение OnCalculate второй формы.
Для четвёрки и пятёрки будут отличаться только функции инициализации. Смотрите примеры индикаторов в клиентском терминале MT4, смотрите примеры тех же индикаторов в MT5 - там запрограммированы практически все случаи жизни
Вопрос теперь немного о другом. Есть ряд синтаксически правильных в MQL4 конструкций, например:
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,Period);
Каким путём можно выяснить не прибегая к тестированию работоспособности самой функции, что её нельзя использовать в MQL4?
Как можно выявить такие ситуации на этапе компиляции?
Почему такие неработоспособные функции компилятор распознает как правильные конструкции?
Вопрос теперь немного о другом. Есть ряд синтаксически правильных в MQL4 конструкций, например:
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,Period);
Каким путём можно выяснить не прибегая к тестированию работоспособности самой функции, что её нельзя использовать в MQL4?
Как можно выявить такие ситуации на этапе компиляции?
Почему такие неработоспособные функции компилятор распознает как правильные конструкции?
Все ответы сводятся к тому, что нужно писать отдельный код инициализации для четвёрки и отдельный код инициализации для пятёрки. Автоматизация здесь неприменима.
В документации все функции приведены. Если в четвёрочной документации нет функции PlotIndexSetInteger (а её там нет потому что в четвёрке нет понятия plot), то и использовать её не надо
Почему компилятор не даёт ошибки? Так сложилось исторически, когда была иллюзия, что мы сможем переносить исходный код инициализации пятёрочных индикаторов в четвёрку один в один.
Все ответы сводятся к тому, что нужно писать отдельный код инициализации для четвёрки и отдельный код инициализации для пятёрки. Автоматизация здесь неприменима.
В документации все функции приведены. Если в четвёрочной документации нет функции PlotIndexSetInteger (а её там нет потому что в четвёрке нет понятия plot), то и использовать её не надо
Почему компилятор не даёт ошибки? Так сложилось исторически, когда была иллюзия, что мы сможем переносить исходный код инициализации пятёрочных индикаторов в четвёрку один в один.
Все ответы сводятся к тому, что нужно писать отдельный код инициализации для четвёрки и отдельный код инициализации для пятёрки. Автоматизация здесь неприменима.
В документации все функции приведены. Если в четвёрочной документации нет функции PlotIndexSetInteger (а её там нет потому что в четвёрке нет понятия plot), то и использовать её не надо
Почему компилятор не даёт ошибки? Так сложилось исторически, когда была иллюзия, что мы сможем переносить исходный код инициализации пятёрочных индикаторов в четвёрку один в один.
Вячеслав , можно вопрос отвлеченный от темы.
Планируется ли слияние MQL4 -> в MQL5 т е с поглощением платформы MT4 платформой MT5 ?
Ведь понятно что сопровождение двух платформ накладно , и требует больше ресурсов компании.
Почему возник такой вопрос:
Давно наблюдая за изменениями MQL4 - замечается как плавно и постепенно MQL4 получает улучшения близкие к MQL5.
а МТ5 получает функционал ранее присущий только платформе МТ4 ( Хедж )...
Возникает ощущение что платформы двигаются друг к другу, видимо для слияния.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Кто знает какие функции из MQL5 имеют возможность использования аналогичного синтаксиса в MQL4 (и где посмотреть).
Интересуют в основном те функции, описания которых отсутствует в стандартной справке по языку, но тем не менее они корректно работают в MQL4.
Например, "новая" конструкция:
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,Period);
отсутствует в описании MQL4, но работает в MQL4 аналогично "старой" конструкции
SetIndexDrawBegin(0,Period);
Интересует по возможности полный список таких соответствий.
Есть конкретный случай - написан индикатор на MQL5 и нужно с наименьшими изменениями в синтаксисе перенести его на MQL4.Меня интересует: какие конструкции из MQL5 будут в том же синтаксисе работать в MQL4.