Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати
У минулому уроці ми розібралися, як тестувати радник в терміналі МТ4.

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

Найкраща якість моделювання, яке можна отримати в тестері стратегій МТ4 звичайними способами, це 90%. Щоб його отримати, треба вибрати в тестері режим «за всіма тікам» і мати закачані котирування найдрібнішого таймфрейма М1 за весь період тестування. Проте, навіть якість моделювання 90% не завжди виявляється достатнім для оцінки працездатності радника. Давайте розберемо, чому таке може бути.

Як добре відомо, історичні котирування всіх інструментів зберігаються в МТ4 у вигляді барів (свічок) різних таймфреймів. Кожен бар містить в собі ціну відкриття (open), закриття (close), максимум (high) і мінімум (low) за даний проміжок часу. Найдрібніший таймфрейм в МТ4 це хвилинки M1. Це означає, що про кожну хвилину з минулої історії термінал МТ4 «знає" не більше 4х цін. А кожен трейдер знає, що за деякі хвилини на ринку форекс встигає статися багато. При тестуванні радника в тестері стратегій в режимі «за всіма тікам», тестер старанно намагається заповнити «дірки» між тими цінами, які у нього є в розпорядженні, розставляючи імітовані ціни просто лінійно. Чи треба говорити, що це не має нічого спільного з реальністю?

Давайте подивимося, до чого може призвести такий недолік моделювання. У мережі існує ряд радників, зазвичай описуваних як «тестерної граалі», які показують нечувані результати в тестері, але впевнено зливають на реалі. Вони кочують з форуму на форум і викликають масу емоцій у новачків. Давайте візьмемо один з них, радник під назвою VectorTrader і проженемо його в тестері стратегій з якістю моделювання 90%. Отримуємо наступну картинку.

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

За неповний місяць 35 тис. Угод і депозит збільшений в 3.5 рази, при роботі постійним лотом. Непогано, чи не так? Але почекаємо радіти. Спочатку проженемо той же радник з тими ж настройками за той же період, але з якістю моделювання 99%. Отримуємо ось що

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

Строго кажучи, в останньому тесті нам треба було б розділити тейк-профіт і стоп-лосс на 10, тому що котирування 4х-значні а радник погано написаний, але ролі це не грає - як би ми не підбирали налаштування, тест з 99% моделюванням буде показувати впевнений слив. Чи треба пояснювати, який з двох тестів ближче до того, що виходить при торгівлі на реальному рахунку? Думаю що ні. Поясню тільки чому різниця між 90% і 99% така велика. Радник VectorTrader (як і інші подібні радники) написаний так, щоб торгувати ВСЕРЕДИНІ барів М1 - якраз там, де тестер при 90% моделюванні не має достовірної інформації і розставляє тики лінійно.

Так що ж таке тестування з якістю моделювання 99%? Існує метод, що дозволяє завантажити реальну тикову історію котирувань по валютних парах, згенерувати її в форматі відповідному для МТ4 і «підсунути» справжню тикову історію тестеру стратегій. Для цієї процедури існує ряд комерційних рішень, але я вам розповім як це можна зробити досконалої безкоштовно.

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

Після того, як котирування скачати, у вас з'явиться файл з назвою імя_валютной_пари.csv в піддиректорії \ tickdata папки установки Tick Data Downloader. У моєму випадку це USDCHF.csv.

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

2. Тепер треба перетворити викачані котирування в формат, придатний для МТ4. Для цього вам знадобиться термінал MT4, підключений до вашого улюбленого брокеру. Нехай ваш термінал встановлено в папку з назвою MT4_folder. Розпакуйте вміст архіву csv2fxt.zip. Покладіть сам скрипт csv2fxt.mq4 і csv2fxt.ex4 в MT4_folder \ experts \ scripts \, допоміжний файл FXTHeader.mqh в папку MT4_folder \ experts \ include \, бібліотеку CsvReader.dll в MT4_folder \ experts \ libraries \. Переконайтеся, що в терміналі МТ4 дозволений виклик dll бібліотек. Для цього треба зайти в меню Сервіс> Налаштування> Радники. Переконайтеся, що всі галочки виставлені, як на малюнку внизу.

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

Тепер знайдіть викачані котирування імя_валютной_пари.csv і перенесіть їх в MT4_folder \ experts \ files \. Увійдіть або термінал і перевірте, що ви під'єднані до брокера.

Відкрийте графік валютної пари, для якої ви завантажили котирування. Знайдіть в розділі скриптів CSV2FXT і перетягніть його на графік. Серед великої кількості відкритих налаштувань для нас актуальні тільки кілька.

CsvFile - сюди можна ввести ім'я файлу котирувань (наприклад, USDCHF.csv). Це необхідно зробити, якщо у вас в терміналі «розширене» ім'я валютної пари (наприклад, USDCHF.m). Якщо ім'я пари таке ж, як і у файлу (USDCHF), то це поле можна залишити порожнім.

FXTGMTOffset - зсув часу сервера брокера щодо часу GMT. Можна залишити нулем - тоді котирування будуть такими, як ніби у вашого брокера час варто за Гринвічем.

CreateM1, CreateM5, CreateM15 і т.д. - ставимо TRUE для тих таймфреймів, тиків котирування яких необхідно згенерувати. Генерувати відразу багато тикових котирувань слід з обережністю, тому що кожен файл може займати по кілька гігабайт дискового простору.

Чекаємо появи віконця, який повідомляє, що процес закінчено. Скрипт пропонує нам перенести файли в іншу папку - відхиляємо його пропозицію. Дивимося в папку MT4_folder \ experts \ files і бачимо, що скрипт створив один або кілька файлів з розширенням .fxt і кілька файлів з розширенням .hst. Файли fxt - це і є файли тикової історії, а hst файли містять котирування різних таймфреймів, які відповідають тикової історії.

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

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

Тепер треба розпакувати стару версію Метатрейдер 4 (455 білд), який буде використовуватися для тестування з 99% моделюванням. Скажімо, ми розпакували наш МТ4 в папку MT4_test. Нагадаю, в папці MT4_folder у нас нова версія MT4, під'єднана до брокеру RoboForex-Demo.

  1. Копіюємо файл конфігурації сервера MT4_folder \ config \ RoboForex-Demo.srv -> MT4_test \ config \ RoboForex-Demo.srv
  2. Копіюємо всю папку історії MT4_folder \ history \ RoboForex-Demo \ -> MT4_test \ history \ А потім видаляємо з неї всі файли * .hst. Для цього можна набрати в командному рядку del * .hst
  3. Переносимо файли котирувань, які ми згенерували MT4_folder \ experts \ files \ *. Hst -> MT4_test \ history \ RoboForex-Demo \
  4. Переносимо файли тикової історії, які ми згенерували MT4_folder \ experts \ files \ *. Fxt -> MT4_test \ tester \ history \

Зауважу, що пакетний файл start_tester.bat запускає термінал МТ4 і автоматично виконує скрипт патча. Ви можете також запустити термінал звичайним чином (дважни клікнувши на terminal.exe), а потім вручну запустити скрипт патча birts_patch_416, доступний в списку скриптів терміналу.

Тепер спробуємо протестувати який-небудь радник. Відкриваємо тестер стратегій (Contrl-R), вибираємо тестовий радник Moving Average, вибираємо валютну пару, котирування якої ми згенерували, вибираємо таймфрем, який ми згенерували, вибираємо дати тесту (в межах періоду згенерованих котирувань), вибираємо якість моделювання "все тики" і натискаємо Start.

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

Після закінчення тесту переходимо в закладку Report і перевіряємо, що отримане якість моделювання дійсно 99%. Бінго.

Якість моделювання 99% в тестері стратегій - чи потрібне воно і як його отримати

Завантажити матеріали використані в статті і все
необхідне для тестів з якістю 99%.

Схожі статті