Вчимося писати експерти для MetaTrader

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

писати
Здрастуйте, Дорогі читачі! Це перший випуск нової рубрики "Навчання MQL II". Мене звуть Артур, я професійно займаюся написанням механічних торгових систем та індикаторів. Більшість написаних мною експертів на замовлення були експерти написані на MQL II, під чимало відомий торговий термінал MetaTrader (надалі я називатиму його МТ). Не наводитиму тут порівняльних таблиць та характеристик, але на мою особисту думку МТ на сьогоднішній день є найвдалішим вітчизняним терміналом для торгівлі на Forex та CFD. Також, тільки він має вбудоване середовище програмування.

Щодо механічної торгівлі вже була незліченна кількість суперечок, я думаю, немає сенсу вдаватися в полеміку. Бо питання це майже риторичне, а торговельна стратегія та спосіб її реалізації, особиста справа кожного трейдера. Але я глибоко впевнений, що можливість написання експертів стане в нагоді будь-якому трейдеру. За допомогою MQL можна не тільки створювати експерти для торгівлі, це програмування відкриває досить широкі можливості. Написання власних індикаторів, збирання статистичної інформації з історичних даних, всілякі помічники, що сповіщають звуковим сигналом про ті чи інші зміни на ринку, це буде Вам під силу.

В даний час комп'ютер став невід'ємною частиною багатьох технологічних процесів. Це особливо актуально для завдань, пов'язаних з обробкою великих обсягів цифрової інформації, з чим ми стикаємося на біржі. Всім відомо, що на біржі виграють тільки ті гравці, які набагато "сильніші" за більшість. Звичайно, у слові "сильніше" включено кілька параметрів, і одним із важливих єтехнічне забезпечення трейдера Вивчаючи MQL II Ви зможете писати програми для потужніших програм, ніж MetaTrader. Наприклад, MQL II дуже схожий на Easy Language, який включений до найпотужнішого пакету теханалізу Omega TradeStation.

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

1.2 Створення першого експерта

Для створення першого експерта виконаємо таке:

2. У меню «Сервіс», клацніть на «Редактор MetaQuotes Language», також можна просто натиснути F4.

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

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

5. У меню виберіть “Expert Advisor Program”.

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 описуються зовнішні змінні, значення яких можна буде змінити в тестері. У секції Array описуються масиви, а секція var потрібна для опису внутрішніх змінних, експерта. Після назви секції ставиться двокрапка, потім йдуть назва змінних, після назви в дужках вказується значення змінної за замовчуванням (у нас змінні за промовчанням дорівнюють 0), після закінчення опису будь-якої секції ставиться крапка з комою. У секції масивів після назви масиву в квадратних дужках йде його розмірність. У нашому випадку це одновимірний масив з 3 елементів, значення кожного елемента за умовчанням дорівнює 0. per1 і per2, це назва змінних, ArrayName назва масиву. Детальні правила опису змінних ми обговоримо на наступному уроці.

11 . Після цих трьох секцій йде "тіло" експерта. Слід зазначити, що будь-який із секцій може бути, також може бути і жодної з секцій. Тіло експерта може бути укладено між операторами “begin:. end;”, а може бути між фігурними дужками “;” Що, вибирайте самі.

12. За традицією, що склалася щодо мов програмування, ми виведемо на екран слово “Privet”, чи будь-яке інше. У MQL є кілька функцій для виведення тексту, ми скористаємось функцією Comment.

13. Додамо до тексту програми цю функцію у фігурних дужках.

Після функції ставимо крапку з комою. Слово, що виводиться, має бути в подвійних лапках і круглих дужках.

14. Отримуємо текст програми.

15. Клацаємо F7 або на іконку з галочкою, на панелі завдань, для компіляції нашого експерта.

16. Заходимо в MetaTrader, у “навігаторі” (ctrl+n), у вкладці “Радники” знаходимо наш експерт. Клацаємо по ньому 2раз мишкою, погоджуємося приєднати його до графіка.

У вікні вибираємо вкладку "Тестування стратегії". У цьому вікні у правому верхньому кутку вибираємо модель тестування "OHLC point (fast)" та натискаємо кнопку "Старт".

17. Після закінчення тестування у лівому верхньому куті вікна з барами бачимо наше слово Privet.

У наступному випуску ми детальніше вивчимо лексику мови MQL II.