Перш ніж приступати до тестування радників, необхідно провести настроювання. Це означає, що слід:
Для тестування і оптимізації радників в терміналі використовується спеціальне вікно "Тестер". Всі перераховані вище параметри задаються у вкладці "Налаштування" цього вікна.
Радник і його параметри
В поле вікна "Тестер - Радники" необхідно вибрати радник для тестування. У цьому полі можна вибрати будь-який файл радника. Тут можуть бути тільки доступні в клієнтському терміналі експерти. Для цього вони повинні бути скомпільованими і перебувати в папці / EXPERTS.
Після того як обраний радник, необхідно провести додаткову настройку тестування і вхідних параметрів. Це можна зробити натисканням кнопки "Властивості експерта".
При цьому з'явиться нове вікно з трьома вкладками:
- Тестування - в цій вкладці задаються загальні параметри тестування. До них відносяться обсяг і валюта початкового депозиту, які вказуються в однойменних полях. Саме цим депозитом буде оперувати радник при тестуванні. У цій вкладці також вибираються типи відкриваються при тестуванні позицій: Only Long - відкривати тільки довгі позиції; Only Short - тільки короткі; Long and Short - відкривати позиції в обидві сторони. Який би не був алгоритм радника, він буде відкривати позиції тільки в заданих напрямках. Також можна включити генетичний алгоритм оптимізації і вибрати оптимізується параметр (максимізація за значенням балансу, фактора прибутковості, математичне сподівання виграшу або мінімізація за значенням максимальної осідання або відсотка просадки.
- Вхідні параметри - тут у вигляді таблиці наводиться список всіх вхідних параметрів. Вхідними параметрами називаються змінні, які впливають на роботу експерта і можуть бути змінені прямо з клієнтського терміналу. Для зміни цих параметрів немає необхідності змінювати код експерта. Кількість вхідних змінних може варіюватися від експерта до експерта. При тестуванні вхідні параметри радника задаються в полі "Значення". Дані, що записуються в полях "Старт", "Крок" і "Стоп", не впливають на тестування радника і необхідні лише для оптимізації його параметрів. Робота з цими параметрами описується в розділі "Налаштування оптимізації радників".
- Оптимізація - настройки в цій вкладці дозволяють управляти обмеженнями проходів тестування при оптимізації. Зміни параметрів в цій вкладці не впливають на одноразові тестування експерта.
Фінансовий інструмент і його період
Щоб приступити до тестування, недостатньо лише вибрати радник і налаштувати його. Необхідно також вибрати фінансовий інструмент і період (таймфрейм) для тестування. Всі тестування буде проходити саме на цих даних. При тестуванні можна вибрати один з доступних в терміналі інструментів або використовувати зовнішній файл даних. У тестуванні використовуються файли історичних даних формату * .FXT, які записуються в директорії / TESTER. Ці файли автоматично створюються при тестуванні, якщо був обраний наявний в терміналі інструмент.
Фінансовий інструмент задається в поле "Символ", а таймфрейм - в поле "Період". Якщо файлу даних по цьому інструменту, періоду і методу моделювання не існує, він буде створений автоматично. При відсутності історичних даних по інструменту і періоду, тестер автоматично завантажить 512 останніх барів історії.
Увага: якщо по інструменту є які-небудь дані за межами останніх 512 барів, відбудеться автоматичне скачування історичних даних до самого останнього наявного бару. Це може викликати різке збільшення вхідного трафіку.
методи моделювання
Історичні дані в терміналі зберігаються тільки як бари і являють собою записи у вигляді TOHLCV (формат HST). Ці дані можуть використовуватися для моделювання динаміки цін при тестуванні радників. У деяких випадках для тестування такої інформації може не вистачити. Наприклад, на денному таймфрейме коливання цін всередині бару можуть привести до спрацьовування радника. У той же час при тестуванні спрацьовування може не відбутися. Іншими словами, тестування радника на основі одних тільки барів іноді буває неточним і може дати хибне уявлення про ефективність експерта.
Термінал дозволяє тестувати радники з використанням різних методів моделювання історичних даних. За рахунок використання історичних даних більш дрібних періодів можна представляти коливання цін всередині барів, тобто динаміка цін буде емулюватися більш точно. Наприклад, при тестуванні радника на часових даних, динаміку цін всередині бару можна змоделювати на основі хвилинних даних. Таким чином, моделювання істотно наближає історичні дані до реальних коливань цін і робить тестування радників більш достовірним.
Для тестування можна вибрати один з трьох методів моделювання історичних даних:
- За цінами відкриття (швидкий метод на сформованих барах)
Деякі механічні торгові системи не залежать від особливостей внутрібарного моделювання, вони торгують на сформованих барах. Те, що поточний ціновий бар повністю сформувався, можна дізнатися по появі наступного. Саме для таких експертів призначений цей режим моделювання.
В цьому режимі спочатку моделюється відкриття бару (Open = High = Low = Close, Volume = 1), що дає експерту можливість точно ідентифікувати закінчення формування попереднього цінового бара. Саме на цьому зароджується барі запускається тестування експерта. На наступному кроці видається вже повністю сформований поточний бар, але на ньому тестування не проводиться! - Контрольні точки (використовується найближчий менший таймфрейм)
Метод моделювання контрольних точок призначений для грубої оцінки експертів, які торгують всередині бару. Для цього методу необхідна наявність історичних даних найближчого меншого періоду (таймфрейма). У деяких випадках наявні дані меншого таймфрейма в повному обсязі покривають часовий діапазон тестованого таймфрейма. При відсутності даних меншого таймфрейма розвиток бару генерується на основі визначених хвильових шаблонів, як це було в попередній, третьої версії клієнтського терміналу MetaTrader 3.
Як тільки з'являються історичні дані меншого таймфрейма, то інтерполяція застосовується вже до цих даних. Однак точно існуючі ціни OHLC меншого таймфрейма виступають в якості контрольних точок. У більшості випадків результати тестування експертів за методом контрольних точок можуть братися до уваги тільки як оціночні, а не як остаточні. Такі результати мають проміжний оціночний характер. - Все тики (на основі всіх найменших доступних періодів)
Цей режим дозволяє найбільш точно змоделювати рух ціни всередині бару. На відміну від "контрольних точок", потіковий метод використовує для генерації дані не тільки найближчого меншого таймфрейма, але і всіх доступних менших таймфреймів. При цьому, якщо для якогось тимчасового діапазону одночасно існують дані більш, ніж одного таймфрейма, для генерації використовуються дані самого меншого таймфрейма. Так само, як і в попередньому методі, генеруються контрольні точки на основі даних OHLC найменшого доступного таймфрейма. Для генерації руху ціни між контрольними точками також використовується інтерполяція на основі визначених шаблонів, тому вкрай бажано наявність хвилинних даних, що покривають весь діапазон тестування. Можлива ситуація, коли генерується кілька однакових тиків поспіль. В цьому випадку дублюються котирування фільтруються, і фіксується обсяг останньої з таких котирувань.
Необхідно враховувати дуже великий можливий обсяг згенерованих потікових даних. Це може позначитися на споживаних ресурсах операційної системи і на швидкості тестування.
- не рекомендується запускати потіковое тестування при відсутності більш дрібних таймфреймів, повністю покривають досліджуваний період, інакше тестування буде неточним;
- моделювання по контрольним точкам в основному використовується при оптимізації радників, а моделювання всіх тиків - для ретельного тестування.
Якість моделювання можна перевірити у вікні "Звіт". Для цього призначено поле "Якість моделювання" і кольорова смуга. Смуга є схематичне відображення процесу моделювання. Вона може бути трьох кольорів:
- Сірий - ця частина наявних даних не брала участі в тестуванні. Сірий колір може з'явитися, якщо для тестування було вказано діапазон дат (описано нижче);
- Червоний - на цьому відрізку моделювання не проводилося через брак даних дрібнішого періоду. При цьому використовувалися тільки дані обраного для тестування таймфрейма;
- Зелений - на даній ділянці моделювання проводилося. Причому, чим яскравіше колір, тим якіснішим було моделювання. Наприклад, при тестуванні на періоді H1 темно-зелена смуга може свідчити про те, що для тестування використовувалися дані періоду M30, а найяскравіша - про використання даних періоду M1.
У клієнтському терміналі в історії цінових даних зберігаються тільки ціни Bid. Для моделювання цін Ask в тестері стратегій за замовчуванням використовується поточний спред інструменту на момент запуску тестування. Однак користувач може задати власне значення спреду для тестування в поле "Спред".
часовий діапазон
Діапазон дат дозволяє тестувати радники не на всіх наявних даних, а лише на обраному часовому відрізку. Це буває зручним при необхідності досліджувати окрему частину історичних даних. Обмеження діапазону дат можна використовувати не тільки при тестуванні експерта, а й при генерації тестирующей послідовності барів (файлу змодельованих даних, використовуваного для тестування). Дуже часто немає необхідності генерувати дані всієї історії, особливо при потіковом моделюванні, коли обсяг невикористовуваних даних може бути дуже великим. Тому якщо при первинній генерації тестирующей послідовності була включена можливість використання діапазону дат, то бари, що виходять за межі вказаного діапазону, не генеруються, а просто переписуються в вихідну послідовність. Дані не виключаються з послідовності, щоб залишалася можливість правильно порахувати індикатори на всій отриманої історії. Необхідно зауважити, що перші 100 барів також не генеруються. Це обмеження не залежить від встановленого діапазону дат.
візуалізація тестування
Якщо включити прапорець "" Візуалізація ", то після натискання на кнопку" Старт "автоматично буде відкритий графік, на якому буде програватися змодельована послідовність тиків. Швидкість програвання можна регулювати. Можна призупинити програвання, натиснувши на кнопку" || ". Повторне натискання на цю кнопку відновлює надходження змодельованих тиків. натискання на клавішу F12 викликає моментальне поява наступного тика навіть в стані паузи. Візуалізацію можна пропустити до певної дати. Після установки потрібної дати та натискання на кнопку "Пропустити до" візуалізація припиняється і відновлюється після досягнення тестером зазначеної дати.
Увага: якщо виставлений прапорець "Оптимізація", після натиснення кнопки "Старт" замість тестування буде проводитися оптимізація параметрів радника.