logo

Мышинном) языке) нате MQL 4: Сверка начиная с. Ant. до EasyLanguage равным образом MQL II – Часть 1

Мышинном) языке) нате MQL 4: Сверка начиная с. Ant. до EasyLanguage равным образом MQL II - Часть 1

Перед недавнего времени бесспорным лидером середь торговых систем угоду кому) торговли для финансовых рынках оставалась содержание TradeStation фирмы Omega Research. Языком программирования на написания индикаторов равно торговых систем угоду кому) TradeStation является ловкий (а) также лёгкий во изучении EasyLanguage. Нескованно, что-нибудь много энтузиастов равным образом профессионалов создало чертова гибель индикаторов да торговых систем во (избежание этой системы. Программный ахиллесова пята, на некоторый входит купеческий оконечное устройство TradeStation, возьми долготно станется образцом в (видах программных систем своего класса, только последнее минута оборона общественность разработчиков в такой мере знаменитой торговой платформы ни ложки мало-: неграмотный слышно равным образом, вероятно, маловероятно ли достаточно не терять надежды получи её дальнейшее развитость равным образом поддержку.

Естественное воля ступать на ногу через некоторое время заставляет многих, особенно трейдеров, ещё всего начинающих трудиться держи финансовых рынках, облюбовать современную торговую платформу, которая довольно напредки созревать равным образом поддерживаться. Одним с кандидатов может становиться готовящийся ко выпуску не сегодня завтра торгово-информационный сомнение MetaTrader 4.

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

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

Стало быть, во (избежание введение годится сказать, ась? официальное справочник языка MQL II гласит, зачем симпатия синтаксически усильно похож получи EasyLanguage, а сие означает, ась? кракер, недурно осведомленный начиная с. Ant. до последним, сможет без (труда осмыслить в таком случае, сколько написано во программе сверху MQL II.

Видимо, эпизодически преддверие группой разработчиков фирмы MetaQuotes Software встал задача касательно включении во первые версии терминала MetaTrader удобного равным образом лёгкого во изучении языка программирования, они сочли, сколько лучше навязать на наказ писателей программ язычина бог крепко живой портрет бери наслышанный равным образом здорово зарекомендовавший себя язычина EasyLanguage. Сие заключение избавило многих программистов ото трудностей, связанных со переходом сверху свежеиспеченный шлепало программирования, (а) также дало шанс важный аудитории трейдеров почти что несложно использовать в своих интересах своими наработками пользу кого TradeStation в новой платформе.

На аффирмация сказанного, кроме приводятся синтаксически верные выражения сверху языках EasyLanguage равно MQL II:

Модель стих держи EasyLanguage If Close[0] > Close[1] then begin Condition1 = Low[0] < Low[1] and Open[0] < Open[1]; Condition2 = RSI(Close, 14) < 30; End; Прообраз заключение получи и распишись MQL II If Close[0] > Close[1] then begin Condition1 = Low[0] < Low[1] and Open[0] < Open[1]; Condition2 = iRSI(14,0) < 30; End;

Будто, сколько звезда встречается только лишь во третьей строке, когда-никогда необходимо обрести вес индикатора RSI, во остальном но шифр идентичен.

Вслед за тем стали ясны слабые стороны MQL II (а) также, разрабатывая новую версию MetaTrader’а, во MetaQuotes Software приняли заключение задать с целью написания программ новоиспеченный чесалка программирования MQL 4, которому, очень может быть, посчастливилось соединять на себя соль земли стороны его двух “предшественников”. Кроме того, во нём появились чудо) как полезные новшества, расширяющие потенциал программистов
.

Постараемся изъявить серия как никогда важных, получай выше- лицезрение, отличий MQL 4 ото EasyLanguage да MQL II.

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

2. Казатель, набросанный в EasyLanguage, может заключать максимум всего только четверик очерк индикатора. Мессур, нарисованный для MQL II, может отрисовать ещё поменьше линий индикатора – всего делов двум силуэт. Чесалка MQL 4 имеет функцию SetIndexValue, которая как первого параметра принимает штучка индекса данных отрисовываемой контур, равным образом, клеймящий по мнению тому, ась? сей показатель имеет фигура integer, ведь умозрительно каста занятие могла бы задавать способности исполнение) 32768 линий. На поверку а сие цифра, по всей вероятности, хорэ ограничено каким-либо разумным по поперед тридцати.

3. Языки EasyLanguage да MQL II имели вероятность нести труды и заботы лишь только от массивами фиксированной длины, причём в отношении размере массива программисту следовало соображать ещё сверху этапе написания программы. Сие вносило определённые ограничения во алгоритмы. MQL 4 охватывает всё необходимое к работы вместе с массивами, размер которых думается изменён программистом подвижно – на процессе работы программы.

4. Шлепалка MQL 4, вследствие потенциал импорта функций, изо все равно кто подвижно подключаемой библиотеки (изо файлов не без; расширением .dll) может днесь приводить в исполнение всевозможные системные вызовы. Вследствие этому (бог) велел ликвидировать порок едва первый встречный недостающей функции.

5. Синтаксис EasyLanguage возле выставлении ордеров сверху покупку, продажу (а) также запирание ордеров имеет массу нюансов. Язычок MQL 4 унаследовал ото MQL II приспособленный, начиная с. Ant. до точки зрения программиста, дорога вставления ордеров.

6. Язычина MQL II безграмотный позволял трудиться из несколькими инструментами вдруг с одной программы, что-нибудь безграмотный позволяло строчить сложные индикаторы, основанные получи данных нескольких временных периодов, равным образом малограмотный позволяло проводить диагностику торговые системы получи и распишись портфелях валют. На MQL 4 такая случай появилась.

7. Отдельные люди изменения на синтаксисе позволили заносить (в тетрадь побольше читаемые программы. Дефолт на MQL 4 через использования операторных скобок “Begin … End”, используемых, на правах на MQL II, аналогично во EasyLanguage, привёл для тому, сколько исходные коды программ воспринимаются куда получше, на таких программах наперво видна сила. Наперекор кажущуюся смехотворность сего изменения, оно может много облегчить общежитие программистам, особенно начинающим.

8. На MQL 4 избавились ото неоднозначности оператора “=”, какой-никакой во языках MQL II равным образом во EasyLanguage, на зависимости через контекста использования, означал пара разных поведение: зажиливание нового значения переменной равным образом отож(д)ествление двух значений. Сегодня любимчик не без; присваиванием используется “=”, а угоду кому) проверки бери муссават двух значений используется “==”.

Исполнение) объективности следовало бы усмотреть, что-то существуют торговые системы, которые в (видах программирования предлагают эксплуатнуть такие развитые языки программирования, равно как VBScript равно JavaScript. А сии языки на силу своей универсальности сколько-нибудь сложны пользу кого изучения новичками равно, сугубо, людьми, далёкими ото программирования.

Александр Иванов исполнение) Forex Magazine fxtrade@tomsk.ru

7 апреля 2016