Завантажити безкоштовно експерт 'Ilan 1.6 Dynamic HT' від 'C-4' для MetaTrader 5 в MQL5 Code Base

  1. Результати тестування
  2. Параметри і їх значення
  3. Як візуалізувати роботу експерта і контролювати його роботу через ручне управління?

Реальний автор:

Невідомий.

Базовий алгоритм, що лежить в основі Ilan Dynamic 1.6 HT, простий. Він ґрунтується на усередненні ціни з поступовим збільшенням обсягу кожної угоди.

Наприклад, якщо ціна після відкриття першої довгої позиції пішла вниз і перевищила певний діапазон в пунктах, відкривається нова довга позиція, з уже великим об'ємом.

Таким чином, середня ціна входу Ilan Dynamic постійно наближається до поточної ринкової ціною. Завдяки цьому потрібно просто дочекатися невеликого цінового відкату і зафіксувати всі відкриті до цього часу позиції з прибутком, використовуючи TakeProfit. Загальна картина входів Ilan 1.6 Dynamic відповідає цьому скриншоту з тестера стратегій MetaTrader 5:

6 Dynamic відповідає цьому скриншоту з тестера стратегій MetaTrader 5:

Як видно, ціна йшла проти трьох позицій на покупку, однак після невеликого відкоту все три позиції були зафіксовані зі значним прибутком. На скріншоті вказані також рівні TakeProfit (зелені горизонтальні) і StopLoss (червоні горизонтальні відрізки).

Цінові рівні для усереднення експерт розраховує динамічно, в залежності від цінового діапазону між максимальною і мінімальною ціною на діапазоні кількох останніх барів. Слово "Dynamic" в його назві вказує саме на цей факт.

Крім TakeProfit, Ilan 1.6 Dynamic дозволяє використовувати класичний StopLoss, трейлинг стоп, вихід за часом, вихід за індикатором CCI і вихід за рівнем Equity всіх угод.

Результати тестування

Результати тестування Ilan 1.6 Dynamic можуть сильно відрізнятися в залежності від обраного таймфрейма, періоду тестування, інструменту, брокера і початкових умов.

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

Ось типовий графік Еквіті і балансу, який генерує даний експерт:

Попередження: незафіксованим прибуток / збиток або Equity Ilan 1.6 Dynamic може істотно відрізнятися від його балансу, що добре видно на графіку. У разі безоткатного руху ціни його Equity серйозно просідає, і в кінцевому підсумку така торгова тактика може привести до MarginCall і повного розорення рахунку. Працюйте з Ilan 1.6 Dynamic тільки під час флет і використовуйте його експоненту лота з обережністю!

Параметри і їх значення

Ilan 1.6 Dynamic за замовчуванням налаштований оптимальним чином. Велика частина його параметрів в цьому режимі не використовується. Однак ви можете провести індивідуальну настройку параметрів.

Для цього скористайтеся представленою нижче таблицею, щоб настроїти параметри на свій розсуд.

Назва параметра Значення
за замовчуванням Опис параметра Основні параметри експерта LotExponent 1.4
На скільки множити лот, при виставленні такої позиції. Наприклад, при LotExponent = 1.4 і Lots = 0.1, перша позиція відкриється з лотом 0.1, друга усереднюються позиція відкриється з лотом 0.2 (0.1 * 1.4 ^ 2), третя з лотом 0.3 (0.1 * 1.4 ^ 3), сьома з лотом 1.0 ( 0.1 * 1.4 ^ 7). Цей параметр слід змінювати обережно. Його значення варіюються від 1.0 (сверконсерватівная торгівля) до 2.0 (суперагрессівная торгівля); MaxTrades 10 Скільки позицій може бути відкрито в одну сторону. Якщо ліміт позицій вичерпаний, нові позиції не відкриваються, а старі позиції закриваються по невластивому умові виходу (залежить від налаштувань). DynamicPips true Істина, якщо використовується динамічний ціновий діапазон. DefaultPips 120 Рівень цінового каналу в піпсах за замовчуванням. Glubina 24 Ilan 1.6 Dynamic розраховує ціновий діапазон між High і Low за останні кілька барів. Параметр вказує, скільки барів необхідно брати для такого розрахунку. DEL 3 Коефіцієнт, який вказує яку частку з цінового діапазону необхідно брати для визначення наступного рівня покупки або продажу. Lots 0.1 Розмір лота першої угоди. lotdecimal 1 Скільки знаків після коми розраховувати для лота. 0 - нормальні лоти (1.0), 1 - мінілоти (0.1), 2 - мікро (0.01) TakeProfit 100 Рівень прибутку в пунктах від поточної ціни, при досягненні якого всі відкриті позиції закриваються. slippage 30 Рівень гранично допустимого прослизання в пунктах. MagicNumber 2222 Магічний номер експерта. Параметри, що визначають сигнали на вхід в ринок RsiPeriod 14 Період індикатора RSI. RsiMinimum 30.0 Якщо індикатор RSI нижче поточного рівня, то покупки не відбуваються. RsiMaximum 70.0 Якщо індикатор RSI вище поточного рівня, то продажу не відбуваються. Використання і конфігурація класичного StopLoss рівня UseStopLoss false За замовчуванням, рівень стоп-лосс не використовується, однак ви можете включити його, виставивши значення цієї змінної в true. StopLoss 500.0 Рівень стоп-лосс в пунктах (за замовчуванням використовується значення для п'ятизначних котирувань). Використання і конфігурація Equity Stop UseEquityStop false Істина, якщо потрібно закрити позиції в разі якщо сумарний збиток по всіх позиціях досяг деякого відсотка від максимально досягнутої прибутку. EquityPercent 1.0 Відсоток прибутку всіх відкритих позицій, від поточного equity рахунку. При перевищенні цього відсотка включається вихід всіх позицій по Equity стопу. TotalEquityRisk 20.0 Відсоток збитку від максимально досягнутого equity, при якому відбувається вихід з усіх існуючих позицій. Використання і конфігурація TrailingStop UseTrailingStop false За замовчуванням трейлинг стоп не використовується, але ви можете включити його, встановивши цю змінну в значення true. TrailStart 100.0 Рівень середньозваженої прибутку всіх позицій в пунктах, при прівишенія котрій виконується трал. TrailStop 100.0 Рівень в пунктах між поточною ціною і StopLoss, який треба підтримувати. Використання і конфігурація стопа по індикатору CCI UseCCIStop false За замовчуванням, використання стопа по індикатору CCI відключено, однак ви можете включити його, встановивши цю змінну в значення true CCIPeriod 55 Період індикатора CCI. CCILevel 500 Якщо значення CCI> CCILevel (500 за замовчуванням) все короткі позиції закриваються. Якщо значення CCI менше -500 (за замовчуванням) - закриваються всі довгі позиції. Використання і конфігурація виходу за часом UseCloseByTime false За замовчуванням вихід за часом не використовується, але Ви можете включити його, встановивши цю змінну в значення true MaxTradeOpenHours 48 Кількість годин, з моменту відкриття першої позиції, після досягнення яких всі позиції примусово закриваються за часом. Враховується тільки торгове час. Час вихідних і свят пропускається.

Режими тестування. Оптимальні інструменти і таймфрейме.

Ilan 1.6 Dynamic створювався для отримання прибутку в першу чергу з короткострокових цінових рухів. Його оптимальний таймфрейм - 15 хвилинний графік (M15). Налаштування за замовчуванням необхідно використовувати для п'ятизначних котирувань. Експерт підтримує тестування в наступних режимах:

  • Every Tick (кожен тик). Експерт необхідно тестувати в цьому режимі, якщо ви використовуєте трейлинг стоп і вам важливий точний вихід за рівнем TakeProfit, CCI Stop і EquityStop.
  • 1 minute OHLC. Це компромісний режим, що поєднує високу швидкість тестування і точність виконання сигналів.
  • Open prices only (Тільки за цінами відкриття). Це найбільш швидкий режим. Через особливості віртуалізації, TakeProfit зупинки спрацьовують в цьому режимі лише в момент відкриття бару. Таким же чином спрацьовують CCI Stop і EquityStop. Однак у багатьох випадках таке штучне загрубленіе приносить кращий результат, ніж тестування в режимі "все тики".

Алгоритм Ilan 1.6 Dynamic успішно проходить тестування як в звичайному режимі, так і в режимі з довільною затримкою (Random Delay).

Рекомендовані інструменти

Ilan 1.6 Dynamic рекомендується використовувати на всіх валютних парах, схильних до тривалих бестрендовом періодів. Для цих цілей підійдуть: EURUSD, USDJPY, GBPUSD, USDCHF, EURCHF і інші основні пари. Його настройки оптимізовані для п'ятизначних валютних пар. Якщо Ви хочете використовувати експерт на чотиризначних валютних парах, перш за все необхідно зменшити наступні параметри в десять разів:

  • DefaultPips - 12;
  • TakeProfit - 10;
  • slippage - 3;
  • StopLoss - 50.

Як скомпілювати експерт і змусити його працювати (обов'язково для прочитання!)

Ilan 1.6 Dynamic в своїй роботі активно використовує так звану сітку ордерів, а також індивідуальний супровід кожного ордера (позиції).

Для такої роботи йому необхідна спеціальна віртуалізація, що дозволяє працювати в оточенні MetaTrader 5 так, як це прийнято в MetaTrader 4. Для цього він використовує виклики функцій бібліотеки HedgeTerminalAPI, працюючи в оточенні, яке вона надає. Про те, як використовувати цю бібліотеку, написано в статті " Різноспрямована торгівля і хеджування позицій в MetaTrader 5 за допомогою API HedgeTerminal, частина 2 ". Якщо Ви захотіти модифікувати торгову логіку експерта, ознайомтеся з цією статтею для розуміння того, як працює код експерта.

Перед початком роботи необхідно встановити бібліотеку HedgeTerminalAPI на свій комп'ютер. Після цього необхідно буде скопіювати програмні модулі, які використовує експерт на свій комп'ютер (прикріплені до даного опису). Наведемо їх більш детально.

  • ilan_1.6_dynamic_ht.mq5 - Основний модуль. Містить торгову логіку експерта. Тег "HT" в назві вказує, що для роботи експерта потрібно бібліотека HedgeTerminalAPI. Це єдиний файл, який необхідно розташувати в папці каталог_данних_термінала \ MQL5 \ Experts \, всі інші модулі нижче необхідно розташувати в каталог_данних_термінала \ MQL5 \ Include \.
  • prototypes.mqh - Власне файл прототипів, необхідний для взаємодії з бібліотекою.
  • drawhedgeposition.mqh - Трасує (отрісовиваєт) угоди експерта так, як це прийнято в MetaTrader 4 (див. перший скріншот). Різноспрямовані позиції отрісовиваємих паралельно один одному, а не слідом один за одним, як в MetaTrader 5.
  • environment.mqh - Модуль торгового оточення експерта. Збирає всю необхідну торговельну інформацію, необхідну експерту. З його допомогою можна дізнатися, скільки всього позицій відкрито поточним експертом, яка їх прибуток / збиток і багато іншої корисної інформації.
  • testertable.mqh - Показує просту таблицю всіх відкритих позицій експерта в тестері стратегій. Якщо ви хочете, щоб позиції експерта відображалися в візуальної таблиці в режимі реального часу, використовуйте панель HedgeTerminal .
  • indicators.mqh - Модуль індикаторів. Містить простий інтерфейс надають допуск даними індикаторів.
  • tradestate.mqh - Модуль торгового стану експерта. В MetaTrader 5 може пройти деякий час, перш ніж виконаний ордер потрапить в історію ордерів і його можна буде проаналізувати. Цей модуль допомагає правильно дочекатися попадання ордера в історію.

Як візуалізувати роботу експерта і контролювати його роботу через ручне управління?

Ilan 1.6 Dynamic управляє відразу декількома позиціями, спрямованими в одну сторону. Всі ці позиції видно в MetaTrader 5 як єдина нетто-позиція. Щоб мати зручний доступ до управління позиціями експерта, а також в кожен момент часу представляти його торгове стан необхідно додатково встановити демонстраційну панель HedgeTerminal . Після свого запуску вона відобразить позиції експерта подібним чином:


Більш детальну інформацію про роботу панелі і способах інтеграції з експертами використовують бібліотеку HT написано в статті " Різноспрямована торгівля і хеджування позицій за допомогою панелі HedgeTerminal, частина 1 ".

Як візуалізувати роботу експерта і контролювати його роботу через ручне управління?