Увійти
Переломи, вивихи, енциклопедія
  • До чого сниться дочка уві сні
  • Лицар Мечів – значення карти Таро Лицар мечів значення у стосунках та коханні
  • Нумерологія допоможе згадати ким я був у минулому житті
  • Ворожіння на картах на долю Взаємовідносини з іншими людьми
  • Що означає бачити кров уві сні для жінки за сонниками
  • Сонник: мати. Навіщо сниться мама? Магія чисел До чого сниться бачити матір
  • Практичний посібник для трейдерів-початківців з оптимізації радників у МТ4. Схеми, правила та закономірності

    Практичний посібник для трейдерів-початківців з оптимізації радників у МТ4.  Схеми, правила та закономірності

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

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

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

    Якщо значні результати не вдасться отримати, то графік буде порожнім, а журналі з'явиться запис про те, що е число результатів було відхилено як незначне.

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

    Явище переоптимізації

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

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

    Для того, щоб захистити себе від такого явища, рекомендується не ставити радник відразу на реальний рахунок, а прогнати його вже з новими налаштуваннями на іншій історичній ділянці (на якій оптимізація не виконувалася). Тобто діяти пропонується у такій послідовності:

    • спершу виконуємо оптимізацію, вибираємо найкращу комбінацію налаштувань. Працювати буде з історією за останні півроку-рік, для оптимізації вибираємо тимчасовий проміжок у 3-4 місяці;
    • потім радник із новими налаштуваннями тестуємо на 2-місячній ділянці ринку, яка при оптимізації не використовувалася;
    • криву зростання депозиту порівнюємо з тією, якою вона була до оптимізації. Якщо криві більш-менш подібні, то проблеми переоптимізації трейдер уникнув, якщо ж різниця в прибутковості суттєва, потрібно або проводити пошук оптимальних параметрів та тестування на більш довгому проміжку часу (це сильно залежить від типу радника), або збільшити крок/зменшити кількість параметрів, що оптимізуються. ;
    • якщо бот новий і раніше не використовувався на реальному рахунку, можна спробувати його на центовому рахунку і після цього підключати його до основного.

    Чи впливає рахунки на результати тесту радника

    Коли доходить до останнього етапу, тобто. радник з новим набором установок торгує в режимі реального часу, на кінцевий результат може вплинути навіть тип рахунку. Можна порадити:

    • для радників, які використовують спокійний стиль торгівлі, підійде будь-який тип рахунку (центовий, демо-рахунок, звичайний). Невеликі затримки у виконанні ордерів при торгівлі, наприклад, на Н4 жодного впливу на результат не вплинуть;
    • боти з урахуванням мартингейла (вони ж сіточники) також особливо вимогливі до типу рахунки, основний упор у яких робиться на розрахунок становища ордерів, управління капіталом;
    • а ось скальпують роботи, особливо ті, які в день укладають багато угод з малими цілями, вимагають швидкого виконання, так що тип рахунку важливий. На демо-рахунку виконання миттєве, а ось на гіршому центовому, так що на етапі перевірки результатів оптимізації зупинитися краще на реальному рахунку.

    Причини переоптимізації

    Щоб не зіткнутися з цим неприємним явищем, не зайвим буде знати про причини, які можуть вплинути на ефективність оптимізації радника. Виділити можна кілька факторів:

    • проблеми з самою ТЗ, покладеною в основу робота. З таким може зіткнутися автор на етапі створення радника, додавання/видалення різних індикаторів, умов входу може призвести до того, що умов для здійснення угод буде занадто багато. В результаті угод буде здійснюватися мало, система буде надто складною, на історії якщо і вдасться підібрати більш-менш робочу комбінацію параметрів, то в реальній торгівлі найменша зміна ринку зробить радник неефективним;
    • зациклювання однією параметрі. Припустимо, що в алгоритмі радника використовується вихід Стохастика із зон перепроданості/перекупленості, якщо при оптимізації приділяти тільки цьому параметру занадто велику увагу, то можна визначити положення меж зон, що дає високий результат на історії, але потім навіть невелика зміна ринку зведе всю роботу нанівець . Не слід надмірну увагу приділяти лише одному параметру, краще вибрати кілька, а пошук вести з кроком середньої величини;
    • обраний невдалий відрізок для оптимізації, під невдалим розуміється той період, коли валютна пара поводиться нехарактерним собі образом. Наприклад, у країні сталася революція, стихійне лихо чи якесь інше потрясіння. Подібний ефект буде отриманий і в тому випадку, коли обраний тимчасовий відрізок захоплює лише трендову ділянку або флет;

    • якщо у процесі оптимізації було здійснено мало угод, то довіряти таким результатам однозначно не варто. Поняття «мало» досить розпливчасте, для скальпера, що працює на m15, сотня угод за пару місяців – мало, але та сама сотня за 2 місяці для робота на Н4 – нормальне явище. У цьому питанні все індивідуально і треба враховувати принцип роботи радника, для скальпера зазвичай досить шматка історії в 2-3 місяці, а ось бот, що торгує на деньках, краще тестувати за останні пару років;
    • бажання досягти ідеалу може вилитися в те, що трейдер задає занадто малий крок в параметрах, що оптимізуються. У результаті радника звужується простір для маневру (якщо оптимізованих параметрів багато) і демонструвати високий результат не виходить. Якщо оптимальна комбінація настройок шукається серед 2-3 параметрів, такий підхід цілком виправданий.

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

    Якщо вдалих результатів виявилося багато, то потрібно вибирати той комплект налаштувань, який не дуже відрізняється від сусідніх. Графічно результати відображаються у вигляді зелених прямокутників, просто вибираємо той, який має темний відтінок і знаходиться в оточенні таких же.

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

    Приклад оптимізації сіточника

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

    Робочий таймфрейм у нього m15, мультивалютний радник, так що переваг по валютних парах немає. Для початку (щоб була база для порівняння), проженемо радник з базовими налаштуваннями на періоді на місяць з невеликим, з початку лютого по 9 березня, січень у тесті не враховувався через велику кількість святкових днів. Результати тесту відразу показують усі слабкі місця сіточника – прибуток склав трохи більше 20%, але й просідання перевищує 80%. При оптимізації завдання стоїть у підвищенні прибутковості, також можна спробувати зменшити просідання.

    Спочатку вибираємо параметри, які найбільше впливають на роботу радника, у нашому випадку це величина тейк-профіту (за замовчуванням вона дорівнює всього 11 пунктам), стартовий крок між ордерами (25 п), а також коефіцієнт, що вводиться при розрахунку відстані між іншими ордерами .

    Як основний критерій при оптимізації виберемо тільки максимальний прибуток, взагалі у випадку з сіточниками безглуздо розраховувати на довгостроковий прибуток. Основна ідея тут будується на тому, щоб максимально швидко відбити величину стартового депозиту і потім «рубати капусту» поки що радник не видихнеться (періодично гроші, звичайно, виводяться).

    В результаті оптимізації отримуємо масу результатів, так як основний критерій у нас - прибутковість, вибираємо відповідні налаштування. Щоправда, максимальне просідання при оптимізації перевищило 80%.

    Перевірка результатів

    Для перевірки отриманих результатів виконуємо тест радника на ділянці історії з січня до початку березня 2016 року з оптимізованими налаштуваннями. Порівняно з базовими до 50 збільшився ТР та коефіцієнт множення став рівним 1,2.

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

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

    Чи завжди може допомогти оптимізація

    У попередньому прикладі радник і з базовими налаштуваннями показував прибуток, треба було лише збільшити його. Розберемо випадок, коли робот торгує із негативним результатом, показуючи збитки. Наприклад взятий радник Nostradamus, при тесті на m30 з початку року він знизив обсяг стартового депозиту на 5,7%, враховуючи кількість угод, а їх було більше 1000, з налаштуваннями у нього явно не все гаразд.

    Для оптимізації були обрані такі параметри як величина ТР та SL, а також PipStep, саме вони найсильніше впливають на результати торгівлі. На жаль, автор радника не дозволяє змінювати параметри індикаторів (в алгоритмі використовується Параболік і МА), так що обмежимося лише цими налаштуваннями.

    Незважаючи на те, що алгоритм нескладний, часу оптимізація може зайняти чимало, тому крок при пошуку оптимальних налаштувань виберемо досить великий. Пошук вдалої комбінації проводитиметься у такому інтервалі: ТР – від 10 до 50 (крок 10), SL – від 10 до 50 (крок 10), Pipstep – від 6 до 10 (крок 2).

    Оптимізація виконувалася також на 3-місячному відрізку графіка, у період із жовтня по грудень 2015 року. Максимальний прибуток склав понад 80% від стартового депозиту при налаштуваннях ТР – 40 п, SL – 20 п, Pipstep – 10.

    При тестуванні оптимізованими налаштуваннями на тимчасовому інтервалі з початку цього року суттєвого покращення не відбулося. Радник протягом 2 з невеликим місяців торгує з прибутком, що прагне нулю, за станом 9 березня прибуток початку року становила $46,99, тобто. 0,47% від стартового капіталу. Формально ефект від оптимізації є, замість збитку отримали прибуток на тому ж проміжку часу, але прибути ця просто сміховинна, а форма кривої зміни депозиту не дуже змінилася.

    Після використання покращених налаштувань видно, що значно зменшилася кількість угод. Це тим, що збільшився крок між ордерами сітки, отже, і кількість одночасно відкритих ордерів знизилося. Якщо спочатку число угод дорівнювало 1098, то після оптимізації - всього 301.

    Цей приклад – підтвердження того, що оптимізація не є панацеєю, і якщо радник у минулому демонстрував непогані результати, то немає жодної гарантії, що оптимізація в тестері МТ4 збереже ту саму ефективність у майбутньому.

    Яку модель вибирати під час оптимізації

    За великим рахунком, оптимізація – те ж тестування радника, але з різними наборами налаштувань. Тестування деяких роботів виконується майже миттєво, але є такі алгоритми, в яких тест за 2-3 місяці займає хвилин 5 і більше. Якщо потрібно лише кілька разів прогнати радник на кількох парах, то нічого страшного в цьому немає, але при оптимізації таких проходів може бути більше 100, тому процес розтягується на годинник.

    Якщо вибрати в тестері стратегій модель контрольні точки або за цінами відкриття, процес прискориться, але це сильно позначиться на точності. Річ у тім, що коли обрана модель всі тики, тестер враховує всі коливання ціни всередині робочого таймфрейму, тобто. якщо радник тестується на Н1, то враховуватиметься і поведінка ціни на m1.

    Модель за контрольними точками враховує дані лише з найближчого до вибраного таймфрейму (тобто при тесті на Н1 враховуватимуться лише дані з m30), а метод за цінами відкриття підходить лише радникам, які відкривають угоди під час відкриття нової свічки. У переважній більшості випадків єдиний правильний варіант - використання моделі "всі тики" для достовірного результату.

    Порівняння результатів при використанні різних моделей виконаємо з прикладу радника 4НBox Breakout. При тестуванні по всіх тиках було укладено 60 угод, результат – збиток $52,3.

    Виставляємо в тестері модель "контрольні точки" і отримуємо той же результат, що і при моделі "по всіх тиках". Це пояснюється тим, що угоди цей радник укладає тільки на закритті чотиригодинної свічки, тому поведінка ціни всередині 4-годинної свічки не є особливо важливою, час тесту скорочується приблизно в 3-5 разів.

    Але при використанні моделі «за цінами відкриття» отримуємо зовсім іншу картину. Число угод скорочується до 35 і крива зміни депозиту має зовсім інші контури. Якби ця модель використовувалася під час тестування та оптимізації радника, результати були б далекі від реальності.

    Підбиття підсумків

    Головна причина переоптимізації радників – нерозуміння трейдером самого механізму вибору оптимальних параметрів. Звідси випливають і найпоширеніші помилки – вибір невідповідного шматка історії та помилки у самій методиці пошуку оптимальних параметрів.

    При оптимізації головне – не скромничати з вибором шматка історичних даних (хоча і тут є свої нюанси, якщо для скальпера достатньо й кількох місяців, то для довгострокової торгівлі рахунок триває вже на роки). Також не слід намагатися підібрати ідеальну комбінацію всіх налаштувань робота, достатньо 3-4, що найсильніше впливають на торгівлю. В іншому випадку трейдер ризикує отримати ідеальний результат на історії, але розчаруватися за реальної торгівлі.

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

    Як правильно оптимізувати радниківу тестері стратегій терміналу МетаТрейдер 4? Навіщо взагалі потрібна оптимізація, і що це таке? оптимізація параметрів радниківзадля досягнення прибуткової торгівлі валютою на Форекс? Відповіді на ці та інші питання Ви зможете дізнатися, прочитавши цей матеріал.

    Крок 2Зараз необхідно завантажити в тест стратегій оптимізаційний файл, якщо він у Вас є. Якщо оптимізаційного файлу немає - завантажуємо файл налаштувань радника, який копіювався у папку з торговим терміналом (це папка на диску С://Programe Files/MetaTrader/experts/presets/ , або окрема папка для радника - С://Programe Files/MetaTrader /experts/presets/назва_радника/). Для цього натискаємо на кнопку Властивості експерта, у вікні вибираємо вкладку Вхідні параметри, натискаємо Завантажити і знаходимо файл оптимізованого радника з розширенням.set, з відповідним валютним інструментом та періодом (тайм-фреймом):


    Завантажуються початкові налаштування радника, які потрібно змінити на вкладці "Вхідні параметри". Для цього галочкою відзначаємо значення у стовпці Змінна, які необхідно змінювати у процесі оптимізації радника, виставляємо початкові, кінцеві цифри та значення кроку у стовпцях Старт, Стоп та Крок, після чого зберігаємо оптимізаційний файл для радника у папку С://Programe Files/MetaTrader /tester/ - ця папка буде доступна за замовчуванням, якщо натиснути кнопку Зберегти. Якщо Ви оптимізуєте не одного радника, а кілька, то в такому випадку рекомендується в папці /tester/ створювати папку за назвою радника і в неї зберігати початковий оптимізаційний файл - це допоможе уникнути плутанини і завжди зрозуміти, до якого радника належить оптимізаційний файл. Назва файлу оптимізації з розширенням.set слід включати ім'я валютної пари і тайм - кадр, наприклад, оптимізація_назва_радника_eurusd_m15.set:


    Після цього переходимо на вкладку Тестування, встановлюємо розмір депозиту, позицію (Long або Shot), вибираємо параметр, що оптимізується (за замовчуванням Balance), і ставимо галочку в вікні генетичний алгоритм (Можливо, у Вас виникне питання - Що таке генетичний алгоритм? Генетичний алгоритм - це "розумна" функція перебору параметрів, яка явно збиткові параметри відкидає, у результаті значно скорочується кількість варіантів перебору та час тестування). Після цього натискаємо кнопку ОК.


    Крок 3. Безпосередньо перед запуском оптимізації параметрів радника ставимо галочку у віконце зі словом Оптимізація. І лише після цього можна натискати кнопку Старт. Процес оптимізації форекс радника на тестовому періоді може зайняти значний час - від кількох хвилин, до годин і навіть до доби: все залежить від кількості параметрів, що оптимізуються кожного конкретного радника.


    Крок 4По закінченню процесу оптимізації у вкладці Графік оптимізації формується своєрідний графік, де темнішим кольором виділяються параметри радників, прибутковість яких вище. Навіть неозброєним оком видно, що варіації від 1,7 до 1,75 у порядку зростання більше підійдуть для подальшої оптимізації:


    Роботу з графіком слід поєднувати з аналізом таблиці. Результати оптимізації, де наочно представлені вхідні параметри. Перевіряти всі параметри підряд і шукати найкращі - сенсу немає, оскільки багато хто з них практично ідентичні і суттєво не відрізняються. Та й часу на перевірку сотень комбінацій піде багато. Найзручніше відсортувати їх за однією з ознак, наприклад, за прибутком, і перевіряти комбінацію з найкращими результатами. Для цього клацаємо правою кнопкою миші по рядку з тією комбінацією, де прибуток максимальний, і вибираємо Встановити вхідні параметри.


    Відкривається вікно тестера, де, якщо необхідно, змінюємо параметр Моделі. Замість значення За ціною відкриття встановлюємо значення Усі тики, тому що результати тесту по всіх тиках будуть більш точними. Але це насамперед залежить від того, за яким алгоритмом працює радник. Якщо робота радника побудована за цінами відкриття - тестування його по всіх тиках. дасть невірні результати! Тому перш ніж оптимізувати радника, Ви повинні розуміти логіку його роботи. Знімаємо галочку з вікна Оптимізація та тиснемо кнопку Старт для тестування радника з оптимізованими вхідними параметрами на тестовому періоді:


    Аналіз тесту проводиться на основі вкладок Графік та Звіт. Чим графік прибутку більш рівний і висхідний, тим вхідні параметри кращі:


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


    У вкладі Звіт тестера стратегій торгової платформи MetaTrader 4 є більш зручна для сприйняття та аналізу інформація. Причому, якщо оптимізація проводилася на котируваннях, завантажених з MetaQuotes, результати будуть такими:


    А якщо Ви працювали з котируваннями, завантаженими з сервісу DukasCopy, то результати якісної оптимізації радника (одного і того ж) з однаковими параметрами будуть виглядати наступним чином:


    Висновок зробити не складно.

    Далі по черзі підставляємо різні комбінації вхідних параметрів, сортуючи їх за різними параметрами. Особливу увагу при виборі комбінацій слід приділяти таким параметрам, як Кількість угод (для кожного типу радників різне), Максимальне та мінімальне просідання. При виявленні "гарного" висхідного графіка і успішних результатів (хороша прибутковість, маленька просадка і т.д.) з тим чи іншим набором властивостей, потрібно протестувати радника на форвардному періоді.

    Крок 5. Тестування радника на форвардному періоді.Переходимо у вкладку тестера Налаштування та замість проміжку часу історичного періоду встановлюємо дати початку (Від) та закінчення (До) форвардного періоду. Форвард-період починається з кінця історичного періоду та закінчується сьогоднішнім числом. Кнопка Старт запускає тестування робота із встановленими вхідними параметрами, отриманими першому етапі оптимізації.


    Якщо тестер показує хороші результати (аналізувати за графіком та звітом), то встановлену комбінацію параметрів можна зберегти. Для цього у вкладці Налаштування клацаємо кнопку Властивості експерта, виходить вже знайоме вікно з вхідними параметрами, тими, що показали хороший результат тесту. Тут натискаємо Зберегти. Зберегти файл можна в папці з наявними файлами.set, давши йому таке ім'я, що можна було відразу зрозуміти, оптимізаційний файл від якого радника, якої валютної пари і якого тайм - кадру перед Вами:


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

    Крок 6. Дооптимізація радників. Перед тим, як запустити радника на реальний рахунок, рекомендується його оптимізувати. Але, увага - не здійсніть помилку! Дооптимізація – це не оптимізація радника на форвардному періоді! Підганяння радника на форвард-тесті слід повністю виключити! Для початку пояснимо, який принцип покладено на систему дооптимізації радників. Відомо, що система вважається стабільною у тому випадку, якщо невелика зміна параметрів не дестабілізує її стан. Ключова фраза у цьому визначенні - невелика зміна параметрів. Щодо дооптимізації радників цей принцип має реалізовуватися так: потрібно змінити параметри радників у невеликих межах і запустити оптимізацію на форвардному періоді. І якщо після дооптимізації на форвардному періоді вихідні дані (максимальне та мінімальне просідання, прибутковість, кількість угод тощо) не будуть істотно відрізнятися від тих, які були отримані при тестуванні на форвардному періоді, то вибираєте кращі налаштування та зберігаєте їх. Ви перевірите правильність оптимізації радника та отримаєте ще кращий комплект налаштувань.

    У різних радників дооптимизуються різні параметри, тому в рамках цієї статті конкретні параметри, які повинні оптимізуватися, назвати не можна. Але навести приклад для кращого розуміння матеріалу можна, що ми зробимо. Наприклад, для даних налаштувань, які застосовувалися при оптимізації радника на тестовому періоді, можна дооптимизувати параметр Pips - значення Крок поміняти з 2 на 1, коефіцієнт Старт змінити з 10 на 22, а Стоп - з 30 на 26:


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

    З усього вищесказаного можна зробити висновок, що тільки якісна оптимізація радника разом з його тестуванням на історичному та форвардному періоді може забезпечити нехай і не 100-відсоткову, але високу ймовірність його стабільної роботи у реальному режимі. Складно – скажете Ви? Так, складно! Але Ви зможете отримувати , яка повністю окупить ваше терпіння та наполегливість у вивченні принципів оптимізації радників у торговій платформі MetaTrader.

    Як правильно оптимізувати радник? - питання на який немає поки що точної відповіді. Тут я розповім як я це роблю у metatrader 4. У статті я припускаю, що Ви вже знаєте

    Спочатку розберемося з технічними тонкощами оптимізації. Оптимізація - це підбір найкращих параметрів роботи радника. "Найкращі" - поняття розпливчасте, хтось скаже ризик повинен бути мінімальний, для когось важливіший прибуток у відсотках, для інших високий профіт фактор. Найкращі параметри це вже питання більше за релігію, хто у що більше вірить. Особисто я вірю що можна підібрати оптимум (найвигідніші параметри) за безліччю критеріїв відразу. Але платформа MT4 поки що у плані обмежена і дозволяє оптимізувати лише з одному критерію, тобто. якщо ми ставимо оптимізувати чистий прибуток, то генетичний алгоритм намагається підібрати такі параметри, при яких прибуток максимально, не дивлячись на просідання, та інші показники. Це дуже схоже на джина, який формально виконує бажання, але завжди криво і не так як потрібно. В оптимізації радників дуже важливо експериментувати та набиратися досвіду, оптимізувати якнайбільше систем, на різних інтервалах, стежити що змінюється, як змінюються найкращі параметри. Тоді з досвідом Ви краще розбиратиметеся у працездатності та живучості радників.

    • 1. Звичайно депозит. На етапі оптимізації депозит ставлять максимально великим, щоб депозит не став обмеженням у роботі радника, нехай і збиткового, роботу над помилками у системі роблять саме так.
    • 2. Long/Short - параметр який дозволяє відкривати і BUY і SELL ордери. МТ4 дозволяє заборонити відкриття будь-якого з типів ордерів. Не рекомендую використовувати цей параметр, т.к. у експерті можуть виникнути логічні помилки. У будь-якому експерті!
    • 3. Оптимізований показник - те, про що я говорив вище. Якщо виставити balance то генетичний алгоритм намагатиметься максимізувати баланс, не дивлячись на інші показники. З усіх представлених показників оптимізації я рекомендую використовувати ProfitFactor, він найбільше оптимально для більшості систем підбере параметри.
    • 4. Увімк/викл Генетичний алгоритм. Генетичний алгоритм дуже прискорює пошук оптимальних параметрів. Існує цілий розділ у Машинному навчанні, який допоможе Вам докладно розібратися що таке генетичний алгоритм. Я лише скажу, що без нього йде прямий перебір параметрів, який може затягуватися на роки, тоді як генетичний алогіртм шукає оптимальні параметри за 1-2 дні максимум.

    Поїхали далі, друга вкладка


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

    • 1. Старт – з цього значення параметр починає свій перебір у поєднанні з іншими параметрами. Тобто. якщо тут навпаки TP_1 виставити 100 то при оптимізації закінчення TP_1=100 буде мінімальним, ніколи радник не виставить нижче 100 пунктів TP_1. Аналогічно для інших параметрів.
    • 2. Крок перебору параметра. Якщо навпроти TP_1 крок встановити 20, то генетичний алгоритм перебиратиме по черзі значення 100, потім 120, потім 140, потім 160, АЛЕ ніколи не буде перебирати 145 або 167, крок не дозволить настільки деталізуватися в підборі параметрів.
    • 3. Стоп-це максимальне значення параметра в переборі. Якщо навпроти TP_1 виставити 1000, то в переборах параметрів TP_1 ніколи не буде більше 1000, тільки менше.
    • 4. Ну і останнє - повинна стояти галочка (де показано стрілкою) щоб цей параметр підбирався. Якщо галочка у параметра не стоїть, то параметр прирівнюється до колонки "Значення"

    Найважливіший параметр – Крок. Його правильне значення дозволяє максимально скоротити час оптимізації. Я рекомендую брати розмах (максимальне значення параметра і мінімальне) параметра і ділити його на 5-8, значення, що вийшло, вписувати в крок при оптимізації. На прикладі Ви знаєте, що Тейкпрофіт у колонці Старт краще поставити мінімальним приблизно 5 пунктів. Але в той же час у колонці Стоп Ви розумієте, що стратегія не довгострокова і більше 200 пунктів ставити не має сенсу. Тоді крок виставляєте 20 пунктів. І вже потім коли Ви розумієте, що система Вас влаштовує і Вам потрібно більш детально оптимізувати параметри і Вам відомо, припустимо, що оптимальний тейкпрофіт коливається в діапазоні 25-45 пунктів, тоді Ви можете провести ще одну оптимізацію з більш дрібним кроком, але і більш вузьким діапазоном значень.

    Ну і нарешті третя вкладка


    Обмеження, при яких зупиняється поточний прохід при оптимізації. Адже за оптимізації генетичний алгоритм проходить тисячі, а то й десятки тисяч різних комбінацій параметрів. Так от якщо навпроти обмеження поставити галочку і в значенні виставити таке значення перевищення або нижче за яке Вас система вже не цікавить, то прохід буде зупинено як тільки буде перевищено обмеження. Це дозволяє сильно скоротити час оптимізації, але на етапі розробки системи тільки заважатиме і швидше за все не дасть побачити слабкі місця системи.

    Не багато хто сьогодні знає, то звичайнісінький тестер стратегій в терміналі metetrader 4 (або 5 на ваш смак) дозволяє, витративши певний час на оптимізацію знайти найкращий сет налаштувань. Дозволяє за допомогою торгового робота заробляти якнайбільше прибутку і потрапляти в якнайменші просідання. Хороша новина для багатьох з вас, полягає в тому, що більше не потрібно ризикувати на реальних рахунках, запускаючи на них радника з сетом налаштувань, що є у вас на руках. Кожен з вас вже давно має можливість знайти найкращу комбінацію з можливих або просто викинути робота за відсутністю "корисності" для вашого гаманця. Сенс оптимізації зводиться до наступного: роботу задаються налаштування до кожного параметра на вигляд - "від і до", з якими він проганяється на періодах від одного року. Тому в результатах оптимізації трейдер може спостерігати які налаштування призводять до найбільш продуктивних варіантів, а не шукати свій сет, навмання підставляючи параметри. І щохвилини проганяючи його у тестері стратегій. Оптимізація дозволяє за 1-5 годин зрозуміти чи радник має потенціал чи ні і якщо цей потенціал є - то використовувати його на максимум. Хіба цього хоче кожен трейдер? Давайте дізнаємося, як проводити оптимізацію форекс радника.

    Як і раніше, необхідно знайти специфічний значок з лупою, що позначає необхідний нам тестер стратегій, який ми і будемо використовувати для оптимізації радника. При натисканні на кнопку тестера (розташована вона у верхній панелі інструментів терміналу метатрейдер), нам відкривається додаткове вікно програми, воно буде знаходитися в самому низу. У першій графі потрібно буде обрати назву радника, що оптимізується, в наших прикладах, це буде радник R-Profit V.8 від нашого проекту. У другій, ви зможете вибрати валютну пару, на якій тестуватимете форекс робота. Ну і звичайно ж, модель тестування, часовий інтервал (таймфрейм), період тестування (дата "від і до") та спред (рекомендується залишати на параметрі "поточний"). Пропонуємо подивитися на малюнок нижче, для повноцінного уявлення.

    Як би не здавалося, але не все так просто, давайте розглянемо весь процес акуратно і по кроках, щоб уже ні в кого не виникало питань. Ми торкнемося і завантаження котирувань у ваш термінал метатрейдер та установки радника з сетом налаштувань та власне самих налаштувань робота для якісної оптимізації (такі налаштування також є). Отже, перш за все встановлення форекс радника у термінал, без неї нам і оптимізувати власне було б нічого. Для цього в новому метатрейдері необхідно зробити наступні дії: Файл -> Відкрити каталог даних -> MQL4 -> Experts і вже в цю папку слід скопіювати файл радника. Для завантаження сету налаштувань (позначається у форматі ".set") необхідно зробити той же план дій, проте в папці MQL4 знайти папку Presents і скопіювати сет саме туди.

    Давайте приділимо кілька рядків тому, що таке сет і звідки він береться. Часто сет налаштувань вам пропонують розробники разом із самим торговим роботом. щоб використовувати його, достатньо перемістити з навігатора fx-радник на робочий графік обраної валютної пари і у спливаючому вікні натиснути кнопку "вхідні параметри" і вже в даному розділі вибрати "завантажити" програма відразу ж направить вас до папки Presents з якої ви і завантажите у радник необхідний вам сет налаштувань. Сам по собі set ніщо інше як оптимізовані налаштування, що дозволяють раднику заробляти більше при менших просіданнях (якщо розробники звичайно не полінувались провести якісну оптимізацію. інакше слід зробити це самостійно). При його завантаженні всі налаштування миттєво проставляються у вхідних параметрах робота, вручну вам залишається тільки встановити стартовий лот (тут вже слід розрахувати ризик менеджмент). Ось тепер ми плавно підійшли до питання про те, як самостійно створити прибутковий сет налаштувань, щоб ваш радник не тільки не втратив довірених йому в обіг коштів, але й примножив їх настільки, наскільки це взагалі можливо, наявним у вас на руках торговим роботом.

    Кожна стратегія, індикатор, або радник тестуються на історії котирувань, це ні для кого не секрет, інакше як ми взагалі могли б робити висновки щодо ефективності або неефективності інструментів аналізу, що використовуються? Тому найперше, що потрібно зробити перед оптимізацією і найголовніше, про що забуває більшість новачків - завантажити в термінал метатрейдер архів котирувань. Здавалося б для чого, адже коли ви відкриваєте графік інструменту, у вас вже є котирування, але не все так просто. На періодах довше 3-х місяців починаються збої і похибки, де то й зовсім пропадають дні або тижні. Говорити в подібній ситуації про якість історичних даних, звісно, ​​не доводиться, тому в результатах тестування обов'язково дивіться на показник якість моделювання, який відображає як точно була відтворена історія. Можна завантажувати котирування від брокера Dukascopy з його 99% моделюванням, проте це складніший процес і не настільки обов'язковий. Наявний у нашому розпорядженні сервіс MetaQuotes надає 90% моделювання і цього цілком достатньо для якісної оптимізації. Отже, що необхідно зробити.

    Знову дивимося на верхню панель інструментів у нашому метатрейдері та шукаємо там кнопку "сервіс", далі за списком: сервіс -> архів котирувань, після чого вам буде представлений список валютних пар, вибираєте ту, на якій збираєтеся оптимізувати радник і натискаєте на неї двічі, щоб з'явилися списки таймфреймів. Потрібно вибрати хвилинні графіки, незалежно від того, на якому часовому інтервалі ви плануєте оптимізувати робота. Так як будь-який ТФ складається з хвилинних графіків, то ви отримаєте максимально точне моделювання історії, що власне нам і потрібно. Власне натискаєте "завантажити", чекаєте і протягом 2-3 хвилин все буде готове. Закриваєте вікно котирувань. Попередньо, для більшої точності, можна пройти ще одним шляхом: сервіс -> налаштування -> графіки, там ви побачите рядок "Макс барів в історії", проставте 10 000 000, якщо там встановлена ​​інша цифра і натисніть "ОК". На цьому підготовчі заходи закінчено, залишається парочка фінальних етюдів, які ми зараз з вами і розберемо.

    Отже, повернемося на початок. Після того, як ви натиснули на значок з лупою у верхній панелі терміналу Metatrader, внизу вам було відкрито вікно з тестером стратегій, де ви і тестуватимете форекс робота. Також ви можете помітити там кнопку властивості експерта, саме з неї і має починатися грамотне тестування чи оптимізація робота Вам відкриється наступне меню налаштувань (для кожного радника воно різноманітне в залежності від функціоналу, ми, як говорилося вище, показуємо на R-Profit V.8):

    У списку змінних будуть перебувати різноманітні параметри радника, від рівнів стоп наказів, трала позиції або цілей по угоді до всіляких налаштувань управління ризиком менеджментом або позиціями. Варіантів безліч і вони не вплинуть на саму оптимізацію. Важливо звернути увагу на останні три стовпчики: старт - крок - стоп. Саме вони й відповідатимуть за перебіг оптимізації торговельного робота. Наприклад, ми хочемо зрозуміти, який стоп наказ буде найбільш оптимальним (при якому ми більше зароблятимемо і менше втрачатимемо) і виставляємо у зазначених стовпчиках наступні показники: 10 - 5 - 100. Що для програми означатиме наступне: під час оптимізації будуть протестовані всі варіанти зі стоп лосом від 10 пунктів, до 100 з кроком у 5 пунктів. Те саме стосується будь-якого іншого параметра. Виставляти необхідно налаштування для кожного параметра одразу, щоб під час оптимізації враховувалися всі можливі комбінації налаштувань.

    Нижче ви можете бачити вкладку результати оптимізації, в якій будуть зібрані результати разом з налаштуваннями радника, які до них відповідно привели. Ви можете вибудовувати їх за прибутковістю, просіданням та іншими показниками оптимізації. Головне, що вам більше не доведеться гадати, тестер сам покаже вам найбільш прибуткові чи надійні налаштування радника. Після закінчення оптимізації, достатньо натиснути в результатах на сет, що сподобався, і він буде завантажений в радник, звідки ви зможете зберегти його (не забудьте при збереженні вказати шлях в папку Presents, щоб потім з легкістю встановлювати сет в радник прямо на графіку).

    Бажаємо Вам успішного тестування.

    Ваш Портал Форекс Трейдера!

    Фінансовий ринок мінливий - рівні волатильності постійно змінюються, одні валютні пари, які раніше знаходилися в тренді, зупиняються на тривалу консолідацію (яка може тривати і більше року), інші, що раніше флетували, починають довгостроковий тренд. Так було завжди і буде у майбутньому. Чи залежить прибутковість радників від змін тенденцій ринку? Однозначно, ТАК! Один і той же робот може показувати в різні часи різні торгові результати. До того ж, якщо радник Форекс добре торгує на одній валютній парі, це ще не означає, що він дасть такий самий добрий результат не інший.

    Як допомогти своєму роботу заробляти більше та пристосувати його для торгівлі в різних умовах ринку та на різних валютних парах? У цьому вам допоможе оптимізація!

    Покроковий алгоритм оптимізації торгового експерта

    Отже, у всій відомій нам платформі МТ4 є добре продуманий блок для тестування торгових стратегій. Всі ми називаємо його одним словом – “тестер”. При правильному використанні тестер стає унікальним інструментом для налаштування та оптимізації торгових параметрів робота. І зараз ми опишемо алгоритм оптимізації EA за допомогою стандартного тестера в mt4.

    Качаємо котирування

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

    Для цього у вкладці «Налаштування», виберіть підрозділ «історія котирувань», а у вікні, що потрібне, потрібну вам валютну пару.

    Завантажувати необхідно котирування М1, з допомогою яких торгова платформа потім самостійно сформує необхідний тестування таймфрейм. Звичайно, якщо форекс-радник працює на М15, було б логічним завантажити котирування для М15. Проте, як свідчить практика, такі котирування будуть не точними, а тести не коректними.

    Як правило, для однієї валютної пари котирування М1 займають близько 3 гігабайт простору на диску "C". Так що, якщо ви вирішили використовувати при оптимізації відразу кілька валютних пар, можливо, для того, щоб провести оптимізацію однієї, необхідно видалити з кореневого каталогу котирування попередньої пари. Їх ви знайдете в підкаталозі "History" папки "Tester".

    Вибір моделі котирувань, за якими проводитиметься оптимізація радника – всі тіки, за цінами відкриття, або контрольні точки.

    Найточніший метод оптимізації - це оптимізація по тиках. Його зазвичай і вибирають для точного настроювання форекс-радника. Однак цей метод займає найбільшу кількість часу. Оптимізація по тиках може тривати більше доби! Як скоротити цей час? Для початку спробуйте метод - "контрольні точки", а найкращі результати оптимізації, які вам вдалося досягти - перевіряйте в тестері за методом "Всі тики". Це значно скоротить час оптимізації!

    Встановлюємо правильний розмір спреду

    Якщо ваш торговий експерт не є чутливим до розміру спреду, його значення можна встановити з параметром «Поточний». Тоді тестер використовуватиме спред, який спостерігається на ринку прямо зараз. Якщо ви тестуєте скальпера, тоді для правильного тесту потрібно встановити точніше значення спреду, який спостерігається на ринку протягом торгового часу EA.

    Встановлюємо суму віртуального депозиту для тестів


    Встановлюємо суму депозиту для оптимізації

    Після вказівки розміру депозиту, в разі потреби, встановіть обмеження для оптимізатора (наприклад, максимальне просідання, безперервний збиток тощо). Якщо оптимізатор «упреться» в одне із зазначених вами обмежень, він припинить перебирати параметри в «тупиковому напрямку», що значно скоротить час оптимізації.

    Якщо ви зніме галочку з цього параметра, тестер стратегій почне «оптити» експерта шляхом простого перебору всіх можливих параметрів. Такий тест може зайняти більше тижня! Так що краще це значення не чіпати і для генетичного алгоритму залишити галочку!

    Період оптимізації.

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

    Який підхід буде правильним?

    Правильним буде робити оптимізацію на меншому проміжку історії, наприклад з 2010 по 2015. А найкращі параметри, які видасть оптимізатор, перевірити в тестері стратегій в даний час, тобто з 2016 по 2017 р. Якщо вони підходять - відмінно, ви справляєтеся зі своїм завданням!

    Іншими словами, ви оптимізує параметри EA за попередні роки і перевіряєте, наскільки вони актуальні для торгівлі в даний час. Тобто, робите два тести – бект-їсть та форвард-тест. Найкращий з форвард-тестів – це і буде результат вашої роботи, тобто – найкращим результатом вашої оптимізації.

    Які параметриEAнеобхідно оптимізувати?

    І, нарешті, про параметри, які необхідно оптити. Їх ви бачите у налаштуванні форекс-радника у тестері стратегій.

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

    Які параметри відзначати? Ви повинні розуміти, що кожен зайвий параметр – це зайва година, або навіть кілька годин у роботі оптимізатора. Таким чином, вибирати необхідно ті параметри, які за логікою речей, відповідають за торговий результат експерта. Наприклад – параметри індикаторів, розмір SL та TP, параметри трала відкритих позицій тощо.

    Тобто, відзначати всі пункти в налаштуванні EA для оптимізації немає потреби. Навпаки – це ускладнить роботу МТ4 і уповільнить процес оптимізації.

    Наприклад, візьмемо нічного скальпера Generic , огляд якого ви можете знайти на нашому порталі. Судячи з змінних ручного налаштування, найбільш правильним буде вибрати для оптимізації параметри індикаторів, які торговий експерт використовує для укладання угод, та розмір SL та TP. Їх і відзначаємо галочкою:

    Start, StepіStop

    Start, Step та Stop – три компоненти, які відповідають за ефективність перебору оптимізатором торгових параметрів.

    Start- Відповідає за те, починаючи від якого значення змінної почнеться перебір параметрів.

    Step- Який крок у переборі він робитиме.

    Stop– до розміру якого значення оптимізатор перебиратиме параметр.

    У цьому випадку, чим більше ви встановите параметри Start, Step і Stop, тим швидше буде працювати оптимізатор, але тим грубіше ви отримаєте результати.

    Отже, після того, як ми прогнали радник на оптимізаторі, залишилося вибрати найкращі з отриманих результатів у співвідношенні – найкращий профіт-фактор, мінімальне просідання та максимальний профіт (при середньому значенні угод):

    Перевіряємо результати оптимізації

    Як було сказано вище, якщо ви оптимізували радник з початку певного проміжку історії до сьогоднішнього дня, це буде називатися не оптимізацією, а підгонкою під історію. Так «оптити» експертів не можна.

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

    Після того, як оптимізатор закінчив свою роботу, вибираємо по черзі найкращі результати, видані МТ4 та проганяємо їх у звичайному тестері, щоб подивитися на динаміку торгівлі радника в наш час. Тобто для перевірки використовуємо ті рік-два, які не використовувалися під час оптимізації.

    Для того, щоб більш виразно було видно ефективність торгівлі, краще використовувати фіксований лот. У нашому випадку після кількох прогонів різних результатів, виданих оптимізатором в тестері, ми отримали наступний графік прибутковості при торгівлі фіксованим лотом:

    Графік прибутковості радника з автоматичним вибором лота

    Результати нашої оптимізації вважаємо відмінними. Можна ставити роботу для реальної торгівлі!

    Проблеми із оптимізацією?

    Деякі параметри радників не підлягають оптимізації. Якщо ви зробили все відповідно до нашого алгоритму, а торговий радник відмовляється оптимізуватися, то його оптимізація спеціально зроблена недоступною автором EA. Або код торгового експерта має помилки, які перешкоджають коректній роботі оптимізатора МТ4.

    Що робити у такому разі?

    Залишається лише ручна добірка параметрів. Тобто, вам необхідно зробити все те саме, що робить тестер МТ4, тільки вручну.

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

    І, так само, як і за автоматичної оптимізації, необхідно підбирати параметри на віддаленому проміжку історії, а перевіряти на історії за останні рік-два.