Робота з тестером стратегій MetaTrader4 помилки неузгодженості та архів котирувань у MT4

помилки

Майстер клас "Робота з тестером стратегій MetaTrader4" - частина 3

Способи боротьби з помилками неузгодженості

Як боротися з помилками неузгодженості? Існує два шляхи: закачування котирувань центру історичних даних (History Data Center – HDC) компанії Meta Quotes та створення всіх часових періодів на основі наявної хвилинної історії.

Перший спосіб набагато простіше, але потребує витрат Інтернет-трафіку. Для цього лише потрібно зайти в пункт головного меню МТ4 «Сервіс» і вибрати підпункт«Архів котирувань»або просто натиснутиF2. У вікні вибрати валютну пару подвійним кліком лівої клавіші мишки, а потім період "1 хвилина". Після цього тиснемо «Завантажити», читаємо повідомлення, яке сповіщає про те, що будуть завантажені дані з сервера компанії Meta Quotes, тиснемо «ОК» і далі чекаємо закінчення завантаження. Після закінчення завантаження буде поставлено питання про перерахунок всіх таймфреймів (періодів), на який необхідно ствердно відповісти. В результаті ми отримаємо історію хвилинних котирувань із 1999 року. Відразу треба зауважити, що вона не повністю збігатиметься з історією котирувань вашого брокера, хоча і буде схожа.

Другий спосіб трохи складніше у реалізації і дає менше історії, але це будутьточні котирування вашого брокера. Відкрийте хвилинний графік потрібної валютної пари та підкачайте історію котирувань до кінця, натискаючи Home. При цьому автопрокрутка графіка має бути вимкнена. Потім у вікні Навігатора (Ctrl+N) знайдіть розділ "Скрипти", а в ньому скрипт "period_converter". Перетягніть його мишкою на графік валютної пари. Єдиний вхідний параметр ExtPeriodMultiplier виставте рівним 60 (якщонеобхідно створити годинний період) і натисніть «ОК». Зачекайте кілька секунд, за які скрипт повинен встигнути відпрацювати, а потім видаліть скрипт із графіка – натисніть правою клавішею мишки для виклику контекстного меню та виберіть «Видалити скрипт». Для створення інших періодів повторюємо операцію з такими значеннями параметра ExtPriodMultiplier: М5 – 5, М15 – 15, М30 – 30, Н4 – 240, D1 – 1440.

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

І знову результати тестування

А тепер повернемося до розгляду результатів тестування (див. рис. 4). Звичайно ж, найцікавішим є пункт«Чистий прибуток». Але сам собою він мало що означає. Його необхідно співвідносити з параметром «Максимальна просадка» — це максимальна кількість грошей, яка була втрачена. При чому не має значення, на якому етапі це сталося – спочатку, у середині або наприкінці тесту. Внаслідок цього показник максимальної просідання може бути більшим за початковий депозит (спочатку ми заробили, а потім втратили і зароблені, і початкові кошти).Оптимальне відношення чистого прибутку до максимального просідання має бути близько одиниці. Тобто для отримання прибутку ми ризикуємо приблизно такою самою сумою. Хоча звичайно ніхто не заперечуватиме, якщо подібне ставлення буде набагато більше одиниці. У наведеному прикладі на шляху до заробітку в 100 доларів ми на якомусь періоді втратили 40.

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

Також цікаві показники«Прибутковість»і«Математичне очікування виграшу». Прибутковість – це відношення загального прибутку до загального збитку. Чим вище цей показник, тим краще (зазвичай значення більше двох). У звіті прибутковість відсутня, оскільки був збиткових угод (тобто відбулося значення «плюс нескінченність»). Показник матожидания — це чистий прибуток, поділена кількість угод. Він вимірюється у валюті депозиту, тому аналізу краще переводити їх у пункти (для мікролотів множити на 10, для повних лотів – ділити на 10). Великі значення цього показника також кращі, тоді як малі (менше 10 пунктів) говорять про те, що стратегія швидко ріже прибуткові угоди і довго тримає збиткові.

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

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

metatrader4

Мал. 5. Звіт тестера стратегій на моделі «Всі тики».

Тут же варто зауважити, що якістьмоделювання ми досягло максимального показника 90% (на хвилинному періоді максимальний показник 25%). Разом з кількістю угод виріс і чистий прибуток, оскільки, як і раніше, у нас немає збиткових угод. Але не варто зваблюватись – ми просто вибрали досить вдалий для цього радника історичний період. До того ж,ніколи не варто всерйоз сприймати результати тестування з невеликою кількістю угод. Мінімальна вибірка має бути близько 100 угод, оптимальна – 1000. До того ж, історичний період має бути не меншим за рік. Підтвердженням сказаного вище буде тестування цього радника з початку 2007 року по сьогоднішній день. Там ситуація менш приваблива.

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

Отримані результати можна зберегти. Для цього вибираємо пункт«Зберегти як звіт»з контекстного меню (для виклику такого меню натисніть правою кнопкою мишки) закладки «Результати».

Узакладці «Графік»можна побачити наочну історію зміни рахунку, де синя лінія – це графік зміни балансу, а зелена – еквіті (засобів, що залишаться при закритті всіх позицій). Якщо тестування проводиться не постійним обсягом коштів (у прикладіобсяг постійний - 0.1 лота), то в нижній частині графіка виводиться гістограма зміни обсягу угод.