4 нюанса тестирования советников в терминале MetaTrader 4, о которых знают не все трейдеры
[info_block align=»right»]Обратите внимание, что качество истории котировок у разных форекс брокеров отличаются, что может вызвать серьезные расхождения в результатах тестирования одного советника на счетах от разных брокеров[/info_block]
В условиях современного трейдинга использование в торговле форекс советников уже давно не выглядит какой-то экзотикой. Практически каждый день появляются новые платные и бесплатные торговые роботы, которые впечатляют доходностью и вызывают желание быстренько заработать. Однако, ставить эксперта на торговый счет без проверки – сомнительная затея, ведущая к «неожиданным» потерям в потенциале. Поэтому рекомендуем начать работу с роботом с тестирования.
Все, что нужно знать о том, как правильно тестировать торгового советника в тестере стратегий терминала MetaTrader 4 – в инструкции от экспертов журнала Фортрейдер.
С чего необходимо начинать тестирование советника?
Торговый робот проверяют на истории, поэтому в первую очередь необходимо скачать котировки нужной вам валютной пары. Для этого следует в меню «Сервис» найти вкладку «Архив котировок» или просто нажать клавишу F2.
Рис. 1. Архив котировок в меню «Сервис» терминала MetaTrader 4.
Далее выбираем необходимую валютную пару и таймфрейм, кликаем по ним два раза левой кнопкой мышки и нажимаем «Загрузить».
Рис. 2. Выбор валютной пары и таймфрейма.
Обратите внимание, что качество истории котировок у разных форекс брокеров отличаются, что может вызвать серьезные расхождения в результатах тестирования одного советника на счетах от разных брокеров.
Выбираем в тестере стратегий торгового робота (1), валютную пару (2), тип моделирования (3), таймфрейм (4), спред (5) и настройки советника (6).
Рис. 3. Настройка тестера стратегий для тестирования.
Не забудьте о размере спреда, который установлен для валютной пары вашим брокером. Дело в том, что в тестере стратегий по умолчанию установлен текущий спред. Если вы этого не сделаете, то можете получить совершенно фантастические результаты, особенно, если тестируете эксперта в выходной день.
Какой тип моделирования выбрать?
[info_block align=»right»]Тестируете по всем тикам, потом по контрольным точкам, потом по ценам открытия и смотрите разницу.[/info_block]
Тестер стратегий предлагает на выбор три типа моделирования:
- Все тики;
- Контрольные точки;
- По ценам открытия.
«Все тики» — самый точный из стандартно-доступных типов моделирования, но он же и самый долгий. Некоторые советники можно тестировать без потери точности по контрольным точкам или по ценам открытия. Для этого в алгоритме должны быть заложены условия открытия сделки, начиная с нового бара.
Если вы не сильно разбираетесь в советнике, который тестируете, то имеет смысл подойти к вопросу экспериментальным путем. Тестируете по всем тикам, потом по контрольным точкам, потом по ценам открытия и смотрите разницу. Если она небольшая, то можно оптимизировать советник наиболее быстрым методом, а потом проверять по всем тикам. Если разница существенная, то можно грубую оптимизацию проводить быстрым методом, а тонкую — по всем тикам. Если разница совсем большая, то делать нечего, и придется оптимизировать долго и упорно по всем тикам.
Есть класс советников, в которых рабочий таймфрем прописан в настройках, у них результаты тестирования не зависят от выбранного периода в тестере. Такие роботы, как правило, можно тестировать практически без потери точности на контрольных точках. Получается намного быстрее, чем по всем тикам, а результат практически тот же самый.
Опять-таки, оптимизируем быстрым методом, найденный лучший вариант проверяем по всем тикам и убеждаемся, что все в порядке.
На какие параметры нужно обратить внимание при оптимизации советника?
Количество сделок
В первую очередь обращаем внимание на количество сделок. Желательно, чтобы их было не менее 150, иначе оптимизация теряет всякий смысл, поскольку возникает эффект «подгонки» результатов.
Если же сделок меньше 150, то необходимо увеличить промежуток времени тестирования, чтобы получить полную картину.
Прибыль и просадка
[info_block align=»right» linkText=»Зарабатываем с Мартингейлом! 8 правил торговли форекс экспертами с повышенным риском» linkUrl=»https://fortrader.org/learn/forex-trader/zarabatyvaem-s-martingejlom-8-pravil-torgovli-foreks-ekspertami-s-povyshennym-riskom.html» imageUrl=»http://files.fortrader.org/uploads/2016/11/invest-money.jpg»]Заработок на советнике по принципу Мартингейла возможен. 8 правил о том, как снизить риск от торговли «опасным» роботом.[/info_block]
Во вторую очередь нас будет интересовать соотношение прибыли к просадке.
Популярным параметром для отбора результатов оптимизации является коэффициент восстановления, который представляет собой простое отношение: прибыль / максимальная просадка. Его несложно вычислить, поделив столбец «Прибыль» на столбец «Просадка» в долларах. Но вот отсортировать результаты оптимизации по этому параметру тестер так просто не позволяет.
К счастью, это несложно поправить, если у вас есть доступ к исходному коду советника. Достаточно в конец кода любого робота приписать следующие строчки:
double GetRecoveryFactor( void ) <
double MaxDD = TesterStatistics(STAT_EQUITY_DD);
Res = TesterStatistics(STAT_PROFIT) / MaxDD;
double OnTester( void ) <
и перекомпилировать его. После этого при оптимизации в тестере появится новая колонка «Результат OnTester». Она будет содержать коэффициент восстановления. Щелкнув по шапке этой колонки, можно отсортировать результаты оптимизации по данному параметру.
Рис. 4. Сортировка результатов оптимизации по коэффициенту восстановления.
Что делать с ошибками рассогласования?
Часто случается, что в отчете о тестировании торгового эксперта тестер стратегий в строке «Качество моделирования» указывает значение n/a и сообщает об ошибках рассогласования графиков.
Рис. 5. Ошибки рассогласования графиков.
Откуда берутся эти ошибки? Самой распространенной причиной является расхождение между котировками, которые получены от брокера напрямую, и котировками, загруженными из архива.
Как устранить это расхождение? Существует очень простой способ. Необходимо удалить историю котировок по необходимой валютной паре через «Меню Файл» — «Открыть каталог данных» – History – «Имя торгового сервера». Стираем все файлы EURUSD*.hst.
Рис. 6. Удаление файла с архивом котировок.
После удаления файлов перезапускаем терминал и загружаем котировки заново, как это было описано выше.
После проделанных процедур в большинстве случаев ошибки рассогласования графиков исчезают, а качество моделирования вырастет до 90%.
Итого
Таким образом, тестирование и оптимизация торговых советников – дело совсем несложное, хотя требует больших временных затрат и знания тонкостей. Надеемся, что эта статья позволит вам быть с тестером стратегий «на ты», эффективно тестировать форекс экспертов и получать прибыль на валютном рынке.
Похожие статьи
- Практика торговли кросс-курсами. От анализа до закрытия сделки
- Нюансы торговли с индикатором Ишимоку
- Конец эпохи ручного трейдинга или как организованы высокочастотные стратегии
- Арбитраж на криптовалютах – пока еще эффективная торговая стратегия
Fortrader Suite 11, Second Floor, Sound & Vision House, Francis Rachel Str. Victoria Victoria, Mahe, Seychelles +7 10 248 2640568
Комментарии (2)
А ничего что котировки после удаления будут загружены с сервера метаквот и будут очень сильно отличаться от данных полученных от брокера и после перезалива этот тестер можно смело выкинуть в ведро? вы этот момент почему-то упускаете.
Здравствуйте! Спасибо Вам за информацию о тиковом тестировании робота. Но у меня вопрос такого плана. Если я скачаю тики из архива котировок MQL4 и провожу тестирование в таймфрейме H1(часовом), то не будет ли отличаться время открытия бара от серверного времени брокера? Мне это важно знать, так как открытие ордера в моём роботе привязано ко времени открытия бара и со временем начала торговых сессий.
Заранее благодарен, если получу от Вас разъяснение по моему вопросу.
PS: может у Вас есть описание кода, который можно будет внести в тело советника для устранения проблемы, если она, конечно, существует.
Как правильно тестировать советник в мт4
Сегодня мы поделимся методикой тестирования и расскажем о некоторых очень важных нюансах при тестировании советников в мт4.
Подготовка терминала
Первое, что вам понадобиться – отдельный терминал, настроенный специально для тестов.
Можно использовать Альпари. Открываете демо-счет и скачиваете терминал. Его следует установить в директорию, где есть минимум 30-50 ГБ свободных, можно и больше. Дело в том, что тиковые котировки занимают много места.
После установки логинимся на демо счет, а потом отключаем терминал от сети. Для этого нажмите Ctrl + O, а дальше все как на картинке:
Если мы укажем этот сервер, логин и пароль, терминал не сможет подключится к данному прокси-серверу, соответственно, он будет «не в сети».
Терминал надо отключить от сети, чтобы в процессе тестирования он случайно не затер качественные котировки, которые мы в него залили.
Кроме того, рекомендуем провести визуальные настройки терминала, либо установить готовые шаблоны.
С терминалом закончили, пора заниматься котировками.
Котировки и качество моделирования 99%
Чем больше качество моделирования, тем больше результаты полученных тестов будут похожи на реальную торговлю.
Терминал МТ4 не умеет хранить тиковые котировки, поэтому максимальное, что у вас получится добиться при штатных условиях – 90%
Для достижения лучшего качества мы будем использовать тиковые котировки от брокера Дукаскопи. А скачать нам их поможет программа TickStory Lite.
Что дают тиковые котировки
Они почти полностью имитируют реальный рынок за исключением проскальзываний и плавающего спреда. Полученные результаты в тестере стратегий будут максимально приближены к реальным.
Итак, мы установили TickStory Lite и проверили работоспособность программы.
Теперь, что касается правильного тестирования советников. При экспорте котировок из TickStory Lite в мт4, в настройках экспорта следует убрать спред и своп:
Спред создает лишнюю нагрузку на депозит при тестировании, таким образом, даже прибыльная стратегия может тяготеть вниз. Если вы действительно хотите выявить потенциал какой-либо стратегии, ее сперва следует протестировать без спреда и свопа. Так мы узнаем чистую эффективность стратегии без лишнего шума. И только потом, когда стратегия будет полностью изучена, можно подключать спред и своп. Это единственный и правильный вариант поиска прибыльных закономерностей, т.к. многие из них не способны покрыть величину спреда.
Когда котировки экспортированы, следует запустить любой советник и проверить качество моделирования. Если оно 99%, значит все правильно, можно идти дальше.
Где взять советника
Не все стратегии поддаются тестированию, но если поставить цель, то можно протестировать что угодно.
Те, у кого уже есть советник, можете пропустить этот раздел и перейти сразу к тестированию.
Те, у кого его нет, могут воспользоваться любым бесплатным либо скачать вот этот.
Не обязательно быть программистом, чтобы написать свой советник. Например, можно воспользоваться программой Etasoft Forex Generator, в которой легко создаются каркасы всех советников. Она старенькая, но до сих пор работает на отлично.
При разработке советников важно ставить перед собой правильные цели:
- Неправильная цель: «Хочу эксперта в основе с этим индикатором + дивергенция, чтобы стабильно работал в плюс».
- Правильная цель: «Хочу узнать работает ли этот индикатор, и понять можно ли его применять на практике».
Разница в том, что в первом случае трейдеры обычно зацикливаются и пытаются выжать из эксперта желаемую прибыльность. Но этого не случается.
Допустим, что советник уже есть, перейдем к тестированию.
Правильное тестирование советников
Перед началом любых тестов можно запустить этот советник, открывающий сделки в случайном направлении. Если его результаты крутятся вокруг нуля, значит терминал и котировки настроены нормально и спред отключен.
Можно приступать к тестированию самого советника.
Шаг 1. Если у вас советник торгующий по какому-либо индикатору, установите этот индикатор на уже подготовленный шаблон графика.
Дальше, ПКМ на графике → Шаблон → Сохранить шаблон. Из списка выбираем tester.tpl, жмем «Ок» и «Заменить».
Это необходимо, чтобы в дальнейшем проверить правильность работы советника.
Шаг 2. Настройте советник, укажите период тестирования, диапазон дат и т.д.:
Шаг 3. Запустите первый тест, нажав кнопку «Старт». Во вкладке «График» должны появится какие-то сделки. Если сделок нет, значит с советником есть какие-то проблемы, подробнее смотрите вкладку «Журнал». Если в журнале все хорошо, а сделок все равно нет, значит вы установили нереальные критерии для входа в сделку.
Шаг 4. По завершении теста нажмите на кнопку «Открыть график». В случае, если вы ранее подготовили шаблон, то у вас откроется график с индикатором, по которому торгует советник. Обязательно проверьте правильность входов советника.
Шаг 5. Если советник работает корректно, можно начинать подбор оптимальных настроек. Например, размер SL, TP, лотность, критерии на вход в сделку и т.д. Проводим тесты и выбираем оптимальные параметры.
Шаг 6. Тестируем другие таймфреймы и валютные пары, делаем выводы из полученных данных
Оценка полученных результатов
Самый важный пункт, о котором все обычно забывают.
Перейдите на вкладку «Результаты», ПКМ на любую сделку → Сохранить как отчет.
В результате у вас получится вот такой отчет:
Не будем разбирать все параметры, поговорим о самых важных.
Прибыльность показывает соотношение общей прибыли и общего убытка. Чем больше прибыльность, тем меньше ложных входов генерирует торговая система. Нормальной можно считать прибыльность более 1,10.
Матожидание выигрыша – средняя прибыль на одну сделку.
Если в советнике использовать фиксированную лотность величиной в 0,1 лот, мат.ожидание выигрыша будет совпадать с средним количеством пунктов, полученных в каждой сделке. Это очень удобно, если сравнивать, получится ли у советника покрыть хотя бы размер спреда.
На картинке выше советник приносит 4,6 пункта в каждой сделке, что явно больше, чем спред.
Максимальная просадка – максимальный процент потери депозита за все время тестирования. Общепринятая максимальная просадка равна 20%, старайтесь не превышать этот порог.
Процент прибыльных сделок – обязательно сравнивайте этот параметр с средней прибыльной и убыточной сделкой. Используя эти данные и формулу, можно высчитать эффективность вашего советника.
В целом, результаты тестов должны подтверждать либо опровергать ваши теории. Если советник либо закономерность нерабочие, переходите к следующей, а для себя сделайте заметку, например, что RSI не работает. И так до бесконечности, пока вы не составите прибыльную торговую систему.
https://fortrader.org/learn/mql/4-nyuansa-testirovaniya-sovetnikov-v-terminale-metatrader-4-o-kotoryx-znayu-ne-vse-trejdery.html
https://ru.fxssi.com/kak-testirovat-sovetnik-v-mt4