Будь-торговий робот з часом починає якщо не зливати депозит, то демонструвати гірші результати в порівнянні з початком використання. Пояснюється це мінливістю ринку, а вирішити таку проблему допомагає підбір нових оптимальних параметрів радника, на жаль, багато надмірно стараються з цим і стикаються з проблемою переоптімізаціі.
Будь-радник має блок налаштувань, регулюючи які можна впливати на торгівлю. Звичайно, вручну підбирати нові оптимальні параметри було б занадто складно і вимагало б багато часу, тому в торгових терміналах реалізована можливість оптимізації будь-якого робота, досить тільки вибрати потрібні параметри, задати кінцеве і початкове значення, а також крок з яким і буде виконуватися пошук кращої комбінації налаштувань.
Далі тестер самостійно проганяє радник на обраному часовому проміжку кілька разів (з урахуванням всіх можливих комбінацій параметрів, які беруть участь в оптимізації). В кінці відображаються всі результати, звичайно, якщо поліпшення в порівнянні з базовими настройками було досягнуто. Інформація виводиться у вигляді графіка і тексту.
Якщо значущі результати не вдасться отримати, то графік буде порожній, а в журналі з'явиться запис про те, що енну кількість результатів було відхилено як незначне.
Здавалося б, після підбору нової комбінації параметрів можна сміливо кидатися в бій і ставити бот на реальний рахунок, але не все так просто. При надмірному старанності цілком можна переоптімізірованние радник, це як мінімум знизить прибуток, а в гіршому випадку можливо і обнулення депозиту.
явище переоптімізаціі
При підборі оптимальних параметрів слід розуміти, що їх пошук ми ведемо на певному історичному ділянці в надії на те, що отриманий комплект параметрів буде працювати і в режимі реального часу. Але це не означає, що потрібно намагатися максимально підігнати результати до історичних даних.
Саме це, тобто бажання зробити результати на історії ідеальними, часто стає головною причиною переоптімізаціі. На історії результати чудові, а при переході на реальний рахунок починаються проблеми. Особливо небезпечно це явище тим, що визначити його можна тільки після початку торгів на реальному рахунку.
Для того, щоб захистити себе від такого явища рекомендується не ставити радник відразу на реальний рахунок, а прогнати його вже з новими настройками на іншому історичному ділянці (на якому оптимізація не виконувалася). Тобто діяти пропонується в такій послідовності:
- спершу виконуємо оптимізацію, вибираємо кращу комбінацію налаштувань. Працювати будеv з історією за останні півроку-рік, для оптимізації вибираємо часовий проміжок в 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, найсильніше впливають на торгівлю. В іншому випадку трейдер ризикує отримати ідеальний результат на історії, але розчаруватися при реальній торгівлі.
При дотриманні перерахованих правил автоматична торгівля якщо і не стане гарантовано прибутковою, то ймовірність цього збільшиться в рази. джерело: Dewinforex
Соціальні кнопки для Joomla
Популярне: