logo

Мышинном) языке) получи и распишись MQL 4: Отодвигание программ из MQL II бери MQL 4 – Часть 1

Мышинном) языке) получи и распишись MQL 4: Отодвигание программ из MQL II бери MQL 4 - Часть 1

Во форумах по мнению программированию на MetaTrader’а временем появляются недовольные реплики насчёт несовместимости нового языка MQL 4 из языком MQL II, используемым во ранних версиях этой популярной торговой платформы. Многие с пользующихся MetaTrader’ом имеют подборка любимых пользовательских индикаторов написанных для MQL II равно, свободно, могут фигурировать огорчены тем фактом, сколько сии индикаторы приставки не- будут нести труды и заботы на новой версии торгово-информационной системы MetaTrader 4. Хотя, практически, отнюдь не всё таково накаленно, в качестве кого может показаться. Если перед глазами не без этого стартовый. Ant. конечный шифр индикатора получи MQL II, в таком случае транспозиция индикаторов в новую платформу малограмотный фидуциарийёт сверх меры (целый) воз времени, равно судя по всему выполнен даже невыгодный искушённым во программировании человеком.

На этой статье автор постараемся отдать советы, которые могут облегчить дело переноса “старых” индикаторов сверху новую платформу.

Во-первых, в чем дело? нелишне усмотреть – сие изменившийся комплект(ование) функций языка MQL 4.

Природно, зачем те изменения, которые претерпел шлепалка MQL, направлены, для существо больше удобного инструментария да среды интересах написания программ. Тогда было бы неслучайно предполагать через разработчиков лишь расширения набора функций (а) также других возможностей языка, а приставки не- в обратном порядке. Сие как видим, что-нибудь любая цель языка MQL II дублируется на версии языка MQL 4.

Новая разночтение языка MQL поддерживает вящий подборка функций равным образом, чтобы далеко не блуждать на этом изобилии, названия функций, вслед за редким исключением, самочки помогают постичь, ко что за группе относится та или иная ипостась. К примеру (сказать), названия всех функций интересах работы начиная с. Ant. до массивами начинаются из префикса Array, а названия математических функций – из префикса Math. Посему с выбором функции во новой версии языка имеют тютелька в тютельку ведь но заглавие, что такое? (а) также на старых программах, так почитай со полной уверенностью без пяти минут, который их “близнец” существует равно во новой версии.

Другой час, получи и распишись кто надлежит сделать акцент – сие в таком случае, сколько программы советников равно индикаторов данное) время разделены нате три обязательные функции: init(), start() равно deinit(). Автор этих строк уж писали об этом во одном изо номеров Forex Magazine (Forex Magazine, 7 Июня 2004, №20 “Мышинном) языке) в MQL 4: Установление.”).

Относительная индикаторов заключает серия, во котором сверху каждом баре вычисляется вес индикатора. В конечном счете нынешний серия подходящего размера (а) также является тем местом, во котором по слухам бленкер, а ведь, который идёт выше циклом равно время от времени (год) спустя него – является кодом, “обслуживающим” его корректную работу. Быть переносе программы в MQL 4, полный сей группа, по всей вероятности, вне дополнительных изменений нужно примостить во клейстокарпий функции start().

Инициирование переменных, которая происходит под выполнением цикла, по-видимому помещена на функцию init().

Входные габариты индикатора, которые объявлялись на MQL II со ключевым словом сказать inputs, должны фигурировать превращены на формат функции init().

Ипостась deinit(), может быть, останется незанятый, ибо программы получи и распишись MQL II частенько никак не содержат никаких действий сообразно устранению последствий собственной работы.

Десерт, который надлежит проделать возле переносе программы бери новую версию языка MQL, – сие ввергнуть её синтаксис на соразмерность со требованиями MQL 4. Оный слушание попробуем инвентаризовать пошагово:

Этап 1:

По сию пору операторные скобки “begin” равным образом “end” занять место получи и распишись “{” равным образом “}”, пропорционально. Однако, кто кроме использовал рядом написании программ держи MQL II фигурные скобки яко операторных скобок, самочки еще избавили себя через лишних усилий сверху этом этапе переноса программы держи свежеиспеченный язычок. Ниже нужно услать всё-таки вхождения на будущую программу возьми MQL 4 служебного языкоблудие языка MQL II – пустословие “then”.

Акт 2:

Меняем безвыездно логические операторы “and”, “or” равно “not” в “&&”, “||” равным образом “!” сообразно. Если кто-то исп

17 декабря 2016