Trader-blog » Форекс UA » Тестування стратегій в MetaTrader: оптимізація через історію

Тестування стратегій в MetaTrader: оптимізація через історію

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

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

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

Допустимо, ви тестуєте консультанта, і все виглядає дивовижно: приріст складає понад 100% за рік, а втрата становить всього 1%. Проте це лише тестування на історії, і це не означає, що наступного року консультант покаже такі ж результати. Він навіть може зазнати втрат і втратити ваші гроші. Тому завжди пам’ятайте, що для кожної торгової стратегії та консультанта результати у минулому ще не гарантують результатів у майбутньому.

Переваги тестування на історії

Тестування консультантів на історії має багато переваг:

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

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

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

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

5. Тестування платного або безкоштовного консультанта перед придбанням.

Недоліки тестування на історії

Тестування на історії має також кілька недоліків:

1. Різниця між роботою на реальному рахунку та тестуванням на історії. Робота консультанта на реальному рахунку може відрізнятися від тестування на історії. Це пов’язано з брокером та взаємодією з сервером в реальному часі.

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

3. Залежність надійності від якості тіків котирувань. Тестування на історії може бути надійним лише в тому випадку, якщо воно виконується на якісних тікових котируваннях.

Як завантажити історичні дані в MetaTrader?

Перш ніж ви зможете протестувати свого радника, вам потрібно завантажити історичні котирування у свого брокера. Для початку перейдіть в СервісНалаштуванняГрафіки і введіть для параметрів «Макс. баров історії» і «Макс. баров у вікні» число 9999999999999. Перезапустіть термінал та натисніть F2 на клавіатурі.

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

Оберіть пункт у меню “Сервіс” і далі “Архів котирувань”:

Виберіть торгові інструменти, для яких ви хочете завантажити історичні дані та необхідні таймфрейми:

Кроки для завантаження історичних даних в MetaTrader:

  1. Виберіть таймфрейм: подвійно клацніть обраний таймфрейм і переконайтеся, що MetaTrader може завантажити доступні дані з сервера брокера. Обраний таймфрейм буде підсвічений жовто-зеленим кольором.
  2. Завантажте дані: кількість доступних даних у архіві котирувань залежить від вашого брокера. Натисніть кнопку «Завантажити», щоб завантажити котирування з сервера MetaQuotes.
  3. Використовуйте дані: завантажені дані за 1 хвилину можна використовувати для тестування на історії. Однак їхній рівень точності не дуже великий. Для досягнення найкращих результатів тестування краще використовувати тікові котирування.

Тестер стратегій: що це таке?

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

Як використовувати тестер стратегій:

  1. Вибір параметрів: перейдіть у меню “Вид” та оберіть “Тестер стратегій”. Заповніть всю необхідну інформацію, таку як советник, символ, період, модель тестування, розмір спреду тощо.
  2. Параметризація: ви можете змінити параметри советника та символа, щоб підлаштувати їх під ваші потреби.
  3. Початок тестування: натисніть кнопку “Старт”, щоб розпочати тестування. Після завершення ви отримаєте доступ до результатів у вкладках “Графік”, “Звіт” та “Журнал”.
  4. Візуалізація: якщо оберете візуалізацію, ви зможете переглянути графік, де будуть показані всі сделки, зроблені советником.

Переваги тестування:

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

Як використовувати тестер стратегії?

Виконати тестування в історії дуже просто. Для початку відкрийте тестер стратегій у MetaTrader. Далі виберіть радника для тестування з меню, виберіть торговий інструмент і період часу, виберіть дати початку і закінчення, встановіть параметри радника. Натисніть кнопку «Старт». MetaTrader запустить радник на історичні дані та представить отримані результати.

Вибираємо радник, торговий інструмент, таймфрейм, початкову та кінцеву дати:

Налаштовуємо параметри радника — вкладка «Властивості експерта»:

Список виконаних ордерів – вкладка «Результати»:

Лінія балансу торгового рахунку – вкладка «Графік»:

Журнал тестування – вкладка «Журнал»:

Статистика – вкладка «Звіт»:

Клацнувши правою кнопкою миші на звіті, ви зможете зберегти його у файл — пункт «Зберегти як звіт»:

Якщо ви натиснете кнопку «Відкрити графік» на панелі «Налаштування», ви зможете побачити всі ордери радника, виконані під час тестування:

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

Аналізуємо результати тестування

Після тестування вашого радника важливо проаналізувати отримані результати.

Панель «Результати»:

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

Панель «Графік»:

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

Панель «Звіт»:

Це важлива вкладка з безліччю корисної інформації.

Загальний прибуток: сума всіх прибуткових угод.

Загальний збиток: сума всіх збиткових угод.

Прибутковість: коефіцієнт прибутковості дорівнює загального прибутку, поділеного на загальний збиток. Що цей коефіцієнт, то краще. Значення вище 1.5 це добре.

Матеріювання виграшу: загальний прибуток, поділений на кількість угод.

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

Максимальне просідання: різниця між одним з локальних максимумів і наступним мінімумом еквіті.

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

Панель «Журнал»:

Ця вкладка корисна для розробника радника для пошуку помилок у коді.

Якість моделювання в тестері стратегій

У тестері стратегій MetaTrader є показник, який вказує, наскільки точним є тестування на історії. Цей показник називається якістю моделювання, і його можна побачити після завершення тестування на вкладці “Звіт”.

У прикладі видно, що якість моделювання для даного тестування не є ідеальною, оскільки зелена смуга не є повністю зеленою. Найнадійніше тестування має якість моделювання 99,9% і повністю заповнену зеленою смугою.

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

Оптимізація порадника

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

Для використання цієї опції вам потрібно встановити прапорець “Оптимізація” на вкладці “Налаштування” тестера стратегій MetaTrader 4, а потім перейти до “Властивостей експерта”. На вкладці “Вхідні параметри” ви можете вибрати критерії, за якими порадник повинен бути оптимізований.

Як параметр для оптимізації на вкладці “Тестування”, я зазвичай вибираю “Profit Factor”, але ви також можете встановити інші критерії.

Тепер перейдемо на вкладку “Вхідні параметри”. Тут нас цікавлять колонки «Старт», «Крок» та «Стоп».

Наприклад, я можу протестувати кілька різних рівнів тейк-профіту. Я встановлюю прапорець поруч із TakeProfit і далі встановлюю Старт = 20, Крок = 15, Стоп = 95. Тепер тестер стратегій тестуватиме прибуток вашого радника кілька разів за допомогою комбінації всіх вибраних параметрів тейк-профіту.

Після того, як оптимізація закінчена, ви зможете перейти на дві нові вкладки під назвою «Результати оптимізації» та «Графік оптимізації».

У результаті оптимізації ви побачите всі проходи з прибутком та загальною кількістю угод. Далі ви можете натиснути правою кнопкою миші на найкращий результат і оберіть «Встановити вхідні параметри».

На «Графікі оптимізації» ви можете бачити всі проходи та оптимізовані параметри:

Тестування радника

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

Профіт-фактор

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

Неправильна модель тестування

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

Надмірна оптимізація

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

Наприклад, якщо ви хочете оптимізувати стоп-лосс від 40 до 160 і тейк-профіт від 20 до 80, не оптимізуйте кожен крок. Оберіть крок 10 для стоп-лосса і крок 5 для тейк-профіта. Таким чином, тестування буде менш прибутковим, але менш оптимізованим, що збільшить ваші шанси на успіх у реальній торгівлі.

Час тестування

Не тестуйте свого радника на надто давній історії. Безглуздо оптимізувати радника на даних з 2000 року, оскільки ринки з того часу значно змінилися. Найкраще оптимізувати радника на основі останніх 1-3 років. Вам буде достатньо мати близько 200-300 угод в тесті на історії.

Різноманітність у тестуванні

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

Радники з маленькими стоп-лоссом або тейк-профітом

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

Висновок

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


Recommended for viewing