Тестирование советников форекс

Тестирование советников форекс в тестере стратегий MetaTrader 4

 С опытом работы на форекс, все чаще начинает посещать голову мысль, о использовании торговых стратегий не привязанных к трейдеру, а именно о автоматических торговых советниках. Но советник советнику рознь, и перед запуском его в бой, всегда интересно провести его тестирование в тестере стратегий. Тестер стратегий — это часть программы MetaTrader 4, и ее использоваие очень просто освоить. Ничего не требуется доустанавливать все уже готово к использованию. Это самый доступный для тестирования советников способ. (а так же для оптимизации)

Так же как нельзя сесть есть без ложки, так же невозможно провести тестирование советника – без истории котировок нужной Вам валютной пары. (есть то без ложки можно, но что из этого выйдет представить не сложно)

Загрузка истории котировок

Для полной картины тестируемого советника необходимы точные данные, особенно если это касается таймфреймов часовых и дневных. Где же взять историю котировок!? Переходим в верхнем меню «Сервис» -> «Настройки» -> вкладка «Графики» (можно использовать сочетание «горячих» клавиш Ctrl + O) и устанавливаем максимум баров истории которые необходимо загрузить: В графе «Макс. баров истории» вводим число взятое из расчета: я возьму период равный одному году и трем месяцам, это примерно равно 60мин * 24час * 450дн = 650000 баров. Новые данные вступят в силу сразу после перезагрузки терминала MT4.

Загружать историю котировок будем через подменю «Архив котировок» (находим его так «Сервис» -> «Архив котировок», или просто F2). 

Слева в окне «Символы» находим валютную пару по истории которой будем проводить тестирование советника форекс (делаем по выбранному символу двойной клик) и выделяем одним кликом мышки временной период «1минута». Отлично, жмем «Загрузить». Загруженные котировки по количеству исторических данных в зависимости от дилинговых центров могут различаться. Окно «Архив котировок» можно закрыть.

Некоторое трейдеры считают, что тестировать можно начинать только после того как загруженные котировки таймфрейма М1 будут переконвертированы при помощи стандартного скрипта-конвертера «period_converter», в таймфреймы нужного временного интервала. Пробовали без него, результаты те же. Как использовать любой скрипт можно посмотреть здесь. Если надумаете попробовать переконвертировать, то знайте, что для периода М5 надо выставить в скрипте значение 5, для М15 = 15, для Н1 = 60,  т.д. 

Как тестировать советника?!

Тестировать будем в тестере стратегий который вшит в торговую платформу метатрейдер4. Вызывается он сочетанием клавиш Ctrl + R, либо через меню «Вид» -> «Тестер стратегий», либо просто нажмите на кнопку 

Знакомимся с окном тестера!

Советник: Из выпадающего списка выбираем советника (я возьму советника Илан1,6). Здесь будут все советники установленные в этот терминал по адресу С:\Program Files\Forex4you MetaTrader 4\experts. В место «Forex4You» может стоять название любого другого брокера с которым Вы сотрудничаете (мне нравится этот, да и Ilan1.6 работает только с ним).

Символ: Валютная пара по истории которой производим тестирование советника. Так же выбирается из выпадающего списка. Мы скачали историю котировок для EUR/USD, и тетировать следовательно будем на ней. Выбираем.

Модель: Снова выпадающий список. Выбираем «Все тики». О том что это самый точный метод прочитаете рядом со словами «Все тики».

Использовать дату: Ставим галку. Выбираем временной промежуток по которому будем гонять советника. Для разных тайфреймов промежутки временные могут быть разными.

Визуализация: Интересная штучка, но в моей практики широкого использования не получила. Поиграл разок другой, и ладно. Да и время тестирования заметно увеличивает. Ставите галку если хотите понабдюдать как советник открывает и закрывает сделки, по мере просчета баров. Тут же чуть правее можно ползунком регулировать скрость.

Свойства эксперта: Вызывает окно настройки свойств эксперта со кладками: параметры оптимизации, входные параметры и тестирование. О свойствах эксперта участвующих в тестировании поговорим чуть ниже.

Период: Выпадающий список с таймфреймами. Выбранный мною советник работает на таймфрейме M5 значит и тестить его будем на М5.

Свойства символа: Нажатие на эту кнопку выдает окно со спецификацией контракта. Ничего менять не советую. Она вам для тестировании советника не нужна. Пропускаем.

Открыть график: Это та кнопка, которая выводи на экран график валютной пары с историей открытых и закрытых сделок. Т.е. если бы Вы поставили галку «Визуализация», видели бы как этот график заполняется имитируя «он-лайн» поступление данных (оно Вам надо?!). А так, тот же график. Без лишних затрат времени.

Оптимизация: О оптимизации поговорим в следующей статье. При тестировании галку здесь не ставим.

Изменить эксперта: Если Вы владеете языком программирования WQL4, то кликнув здесь, откроется окно приложения MetaEditor для редактирования кода эксперта. Эксперт можно редактировать если он не скомпилирован, т.е. значек его отображается цветным (например сине-желтым), если иконка советника серая, то этот эксперт не доступен для редактироания.

Старт: Производит запуск начала тестирования либо оптимизации.

Кнопка «Свойства эксперта»

Не на долго вернемся к кнопке «Свойства эксперта». Жмем ее, и изучаем. В первой слева вкладке «Тестирование» находим общие параметры управления, которые подходят под любого советника. Тестирование будет проводится на депозите размер которого Вы указываете в одноименной графе, выбираете из раскрывающегося списка валюту депозита, а так же тип (-ы) сделок:

Long and Short – сделки как в сторону покупки так и в сторону продажи;

Only Long – только длинные сделки то биш – покупка;

Only Short соответственно короткие сделки – продажа.

 Не забываем поставить галку рядом с «Генетический алгоритм» это несколько ускорит процесс тестирования. «Оптимизируемый параметр» будем рассматривать в разделе оптимизация советника, поэтому оставляем «Balance».

«Входные параметры» это вторая вкладочка (средняя). В ней отражены те же переменные которые можно увидеть если вернуться на график с установленным экспертом, и дважды кликнуть на него. Так же здесь добавились поля «Старт», «Шаг» и «Стоп» они используются при оптимизации (пока не трогаем). Изменяя «Значение» переменных мы будем влиять на работу алгоритма, что нам и надо. Например для изменения значения параметра «Lots» дважды тыркаем по числу, и оно готово для редактирования, вводим нужный размер лота и нажимаем клавишу «Enter». И так можно поступить с любым параметром который хотите изменить и протестировать. Главное сначала изучить советника и знать что Вы меняете, а не на обум.

 Слева от каждого параметра есть поле для галочки. Установленная галка в этом поле, скажет тестеру, что при оптимизации советника нужно обязательно учитывать этот параметр.

После удачного тестирования, при обнаружении необходимых параметров, их можно с легкостью сохранить в файле настроек с разрешением *.set. Далее этот файлик можно будет подгрузить к этому советнику на другом терминале, и не придется вновь настраивать его в ручную. 

Тестирование и анализ полученных результатов

Вот и добрались до самого интересного. Непосредственно само тестрование. Когда тестируешь советника, и удается найти хоошие параметры по которым эксперт не сливает депозит, а еще и приносит прибыль, то чувства которые испытаваеш — сродни выигранной лотереи.

Все настройки сделаны, история котировок загружена пришло время нажать кнопку «Старт». По ползущей полоске можно примерно оценить время выполнения тестирования.

В любой момент тестирование можно прервать нажав на появившуюся кнопку «Стоп».

По окончании тестирования, в низу, справа от вкладочки «Настройки», стали активными и наполненными информацией вкладки:

«Результаты» — В таблице результатов собраны по порядку все операции которое были выполнены советником во время его прогона по истории. Названия столбцов таблицы об этом красноречиво говорят.

«График». Так и хочется сказать словами Вадика Галыгина – «График с..ка, красивый!» На самом деле на графике изображены 2 кривых линии, это синяя – график баланса, и зеленая – свободные средства, зеленую часто не бывает видно за синей. А вот если зеленая выглядывает, да еще и сильными амплитудными скачками из за синей, это свидетельство сильно передержанных позиций.

«Журнал» — здесь сведены результаты работы алгоритма советника в том ключе, что «есть сигнал – сделка открыта», «есть сигнал – сделка модифицирована», «есть сигнал – ничего не происходит» (ошибка), и т.д. и т.п.

 «Отчет» Самая любимая и интересная вкладка.

Принято считать, что результатам можно верить если «Качество моделирования» = или больше 90% (хотя больше бывает редко), «Ошибки рассогласования» = 0. Если Ваш результат тестирования по этим показателям не прошел, то просто загружаете по новой историю одноминутных котировок. И повторяете тест.

Основными, безусловно, являются такие параметры торговой стратегии как: «Чистая прибыль», «Количество сделок» и «Максимальная просадка»

«Количество сделок» — это частота входа в рынок советником. Зная период времени на который вы ставили советник (например 100 дней) и общее количество сделок (возьмем 20шт), можно посчитать что в среднем в день советник выходит в рынок 5 раз.

«Чистая прибыль» – здесь все понятно. Это сколько наработал советник с учетом всех сделок, прибыльных и убыточных

«Максимальная просадка» — максимальная сумма убытков следующих друг за другом.

Эффективность советника можно выразить через отношение «чистой прибыли» к «максимальной просадке», что называют «фактором восстановления» системы. Хорошая торговая система имеет «фактор восстановления» равный или более 3.

Если «средняя прибыль» превосходит «средний убыток» в 3 раза это то же признак хорошего торгового эксперта.

«Непрерывный проигрыш» —  больше психологический фактор, подталкивающий к решению о использовании советника. Если непрерывный проигрыш не велик, то так и хочется поставить на реал. А если большой, то либо надо иметь крепкие нервы, чтоб быть готовым к долгой и затяжной просадке, либо отложить до времени когда нервов не останется )))

Визуализация в тестере стратегий

Не могу не рассказать о визуализации тестового процесса. Как и говорил, я визуализацией наигрался очень быстро и не пользуюсь. Но вещица эта призабавненькая. О том что график с изображенными сигналами можно посмотреть после тестирования советника, уже описывал выше.

Вернемся к интерактивному режиму. Ставим галочку «Визуализация» нажимаем «Старт», сразу откроется окно графика валютной пары, на который будут поступать котировки из закачанной истории, и сигналы от работы советника. Синие и красные стрелки будут показывать момент открытия сделок, а желтые – закрытие. Так же будут оставаться наклонные линии – это время которое существует сделка от открытия и до закрытия. Скорость с которой будет проходить визуализация тестирования советника, зависит от положения ползунка, коим и регулируется скорость.

Если Ваш советник с блеском прошел тестирование на истории, это вовсе не значит, что вы нашли тот самый заветный «безубыточный советник». Почему?! Щас Вы сами себе ответите на этот вопрос. Задайте себе вопрос почему качество моделирования составляет всего 90% и редко больше?! А? А потому, что котировки которые Вы закачали и на которых тестируете советника, имеют провалы (отсутствующие данные в истории). Можете просмотреть, пробежаться в архиве котировок глядя на месяца.

Не хватает иной раз не то что свечки или дня, а месяцев целых. Возможно убраны эти месяцы с историей умышленно (а как иначе, не компьютер же это «случайно» сделал). Может в эти месяцы там была такая движуха, что ни один советник не выдержит испытания. Вот и цифра с качеством моделирования в 90%. Этих недостающих 10% истории, как раз, хватит на все советники. Так что, ставить или не ставить эксперта на реал, это Ваш риск, и душевные нервотрепания!

Как видите, ничего сложного в тестировании советника – нет. Необходимо разок другой все внимательно прочитать, везде понажимать, пощелкать, поклацать, поиграться, дабы потом не отвлекаться на моменты которые просто отвлекают от процесса созидания новой или оттачивания старой торговой стратегии. Надеюсь эта «небольшая» инструкция станет полезной, когда Вы доберетесь до тестирования своего советника! В следующей статье я напишу про оптимизацию советника.

Пишите Ваши отзывы! И ни пуха Вам ни пера.

5 Комментариев для “Тестирование советников форекс”

  1. Эффективность советника можно выразить через отношение «чистой прибыли» к «максимальной просадке», что называют «фактором восстановления» системы. Хорошая торговая система имеет «фактор восстановления» равный или более 3.
    К примеру чистая прибыль 475.17, а макс просадка 1124.00 что нужно разделить прибыль на просадку?

    1. Чистую прибыль делим на просадку. Например, предпоследнюю картинку кликните, чтобы увеличить. Чистая прибыль = 83290,70 делим ее на максимальную просадку=32720,29 получаем, что данный советник с такими настройками, будет иметь эффективность = примерно 2,55.
      В Вашем случае 475,17/1124,00=0,42, это очень мало для стабильной работы. Так как одна такая просадка перекроет всю прибыль.

  2. Отлично, но наверное, сегодня дочитать не успею, добавил в избранное.

Комментарии закрыты.