Учимся писать эксперты для MetaTrader. Урок №1
|

Учимся писать эксперты для MetaTrader. Урок №1

Автор:
Халхальян Артур

1.1 От автора

MetaTraderЗдравствуйте, Дорогие читатели! Это первый выпуск новой рубрики “Обучение MQL II”. Меня зовут Артур, я профессионально занимаюсь написанием механических торговых систем и индикаторов. Большая часть написанных мной экспертов на заказ были эксперты написанные на MQL II, под немало известный торговый терминал MetaTrader (в дальнейшим я буду называть его МТ). Не буду приводить здесь сравнительных таблиц и характеристик, но по моему личному мнению МТ на сегодняшний день является самым удачным отечественным терминалом для торговли на Forex и CFD. Так же, только он имеет встроенную среду программирования.

Немаловажным является и то, что МТ используют многие наши, и некоторые западные дилинговые центры. Справедливости ради, надо заметить, что MetaTrader имеет ряд ограничений и недочетов, и идеальным терминалом его назвать сложно, но будем надеяться на дальнейшее его усовершенствование разработчиками. Скачать терминал можно по адресу: https://www.instaforex.com/ru/trading_platform

По поводу механической торговли уже было бесчисленное количество споров, я думаю, нет смысла вдаваться в полемику. Ибо вопрос этот почти риторический, а торговая стратегия и способ ее реализации, личное дело каждого трейдера. Но я глубоко уверен, что возможность написание экспертов пригодится любому трейдеру. С помощью MQL можно не только создавать эксперты для торговли, эта среда программирования открывает довольно широкие возможности. Написание собственных индикаторов, собирание статистической информации из исторических данных, всевозможные помощники, оповещающие звуковым сигналом о тех или иных изменения на рынке, это все будет Вам под силу.

В настоящее время компьютер стал неотъемлемой частью очень многих технологических процессов. Это особенно актуально для задач связанных с обработкой больших объемов цифровой информации, с чем мы и сталкиваемся на бирже. Всем известно, что на бирже выигрывают только те игроки, которые гораздо “сильнее” большинства. Конечно, в слове “сильнее” включено несколько параметров, и одним из немаловажных является техническое обеспечение трейдера. Изучая MQL II Вы сможете писать программы для более мощных программ чем MetaTrader. Например, MQL II очень похож на Easy Language, который включен в мощнейший пакет теханализа Omega TradeStation.

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

1.2 Создание первого эксперта

Для создания первого эксперта выполним следующее:

1. Запустим МТ.

2. В выпадающем меню “Сервис”, щелкнем на “Редактор MetaQuotes Language”, также можно просто нажать F4.

3. Перед Вами среда программирования Meta Editor.

4. На панели инструментов или из меню “File” нажмите на иконку “New”, также можно использовать Ctrl+N.

5. В появившемся меню выберите “Expert Advisor Program”.

6. В следующем меню, по порядку впишите: название, автора, ссылку, примечание, количество лотов (Lots), стоплос (Stop Loss), тейкпрофит (Take profit) и трейлингстоп (Trailing Stop).

7. Нажмем “далее” и “Готово”.

8. На экране мы увидим начало кода нашего эксперта

/*[[
Name := Expert 1
Author := Forextimes
Link := https://www.forextimes.ru
Lots: = 1 .00
Stop Loss := 30
Take Profit := 60
Trailing Stop := 20
]]*/

Все данные, которые были введены при создании эксперта, отобразились в начале (“шапке”) его кода. При желании Вы можете изменить любое значение. Переменные : Lots, Stop Loss (в коде эксперта, в дальнейшем “Stop Loss” пишется без пробела, также и обе следующие переменные), Take Profit и Trailing Stop являются зарегистрированными переменными MQL и будут непосредственно участвовать в работе эксперта. Из тестера, который находится непосредственно в MetaTrader, эти переменные могут быть изменены, введенные же при создании эксперта значения будут значениями по умолчанию. Тестер подробно мы будем изучать позже.

9. Далее идут секции: defines, array и var. За ними идет тело эксперта.

10. Добавьте к эксперту следующий блок

defines: per 1 (0);
Array : ArrayName[1 ..3](0);
var: per2(0);

В секции defines описываются внешние переменные, значения которых можно будет изменить в тестере. В секции Array, описываются массивы, а секция var нужна для описания внутренних переменных, эксперта. После названия секции ставится двоеточие, затем идут название переменных, после названия в скобках указывается значение переменной по умолчанию (у нас переменные по умолчанию равны 0), после окончания описания любой секции ставится точка с запятой. В секции массивов, после названия массива в квадратных скобках идет его размерность. В нашем случае это одномерный массив из 3 элементов, значение каждого элемента по умолчанию равно 0. per1 и per2, это название переменных, ArrayName название массива. Подробные правила описания переменных мы обсудим на следующем уроке.

11 . После этих трех секций идет “тело” эксперта . Следует отметить, что любой из секций может не быть, также может не быть и ни одной из секций. Тело эксперта может быть заключено между операторами “begin :. end;”, а может быть между фигурными скобками “{::.};” Что, выбрать выбирайте сами.

12. По традиции, которая сложилась при изучении языков программирования, мы выведем на экран слово “Privet”, или любое другое. В MQL есть несколько функций для вывода текста, мы воспользуемся функцией Comment.

13. Добавим к тексту программы эту функцию в фигурных скобках.

{
Comment(“Privet”);
};

После функции, ставим точку с запятой. Выводимое слово должно быть в двойных кавычках и круглых скобках.

14. Получаем текст программы.

/*[[
Name := Expert 1
Author := Forextimes
Link := https://forextimes.ru
Lots: = 1 .00
Stop Loss := 30
Take Profit := 60
Trailing Stop := 20
]]*/
defines: per 1 (0);
Array : ArrayName[1 ..3](0);
var: per2(0);
{
Comment(“Privet”);
};

15. Щелкаем на F7 или на иконку с галочкой, на панели задач, для компиляции нашего эксперта.

16. Заходим в MetaTrader, в “навигаторе” (ctrl+n), во вкладке “Советники” находим наш эксперт. Щелкаем по нему 2 раза мышкой, соглашаемся присоединить его к графику.

В появившемся окне выбираем вкладку “Тестирование стратегии”. В этом окне в правом верхнем углу выбираем модель тестирования “OHLC point (fast)” и нажимаем кнопку “Старт”.

17. По окончанию тестирования в левом верхнем углу окна с барами видим наше слово Privet.

В следующем выпуске мы более детально изучим лексику языка MQL II.