Любой, кто хоть раз делал бэктест советников в МТ4, замечал, что качество моделирования не поднимается выше 90%.
Причина в том,что по умолчанию терминал использует минутные бары, вместо тиковых данных. И если советник скальпирует (тейк-профит 3-15 пунктов) или использует небольшой трейлинг стоп, разница в качестве моделирования может очень сильно изменить результат теста.
Пример:
Бэктест одного и того же эксперта,с одинаковыми настройками за год
1. 90%
2. 99%
Разница в 2000 пунктов очевидна.
Инструкция
1. Прежде всего я рекомендую установить отдельный терминал Metatrader 4 в отдельную папку исключительно для тестирования стратегий. И обязательно запускайте его от имени Администратора, если у вас Windows 7 / Vista .
3. Теперь нам нужно получить тиковые данные. Один из немногих брокеров, если не единственный, который предоставляет cовершенно бесплатно тиковую историю высочайшего качества — Dukascopy (кстати, они являются поставщиком ликвидности для NDD-счетов Альпари).
1) Открываем демо-аккаунт по ссылке (можно использовать сервис временной почты 10minutemail, дабы не получать впоследствии спам на ваш основной ящик).
2) Когда на почту придут Логин и Пароль, не забудьте переписать их. Далее нажмите на вот эту ссылку -> JFOREX DEMO START. На ваш компьютер загрузится маленький файлик с расширением .jhlp . Запускаем его (на компьютере должна быть установлена Java), принимаем все условия установки, затем вводите логин и пароль, которые пришли нам на почту ранее.
НЕ МЕНЯЙТЕ ЯЗЫК ПРОГРАММЫ!! ОН ДОЛЖЕН ОСТАВАТЬСЯ АНГЛИЙСКИМ!!
3) Внутри терминала Jforex нажимаем Tools->Historical Data Manager. Внизу терминала появится окошко менеджера данных, откуда мы и будем скачивать котировки.
В поле Delimiter ставим запятую (это важно), Data Type выбираем Ticks. В нижней части окна выбираем пару (можно расставив галочки,загрузить котировки сразу для нескольких пар). Выбираем временной промежуток для загрузки (в первый раз,для экономии времени и дабы убедиться, что вы все сделали правильно, советую загрузить небольшой промежуток в месяц-два для одной пары).
Далее нажимаем кнопку Start. Начнется загрузка котировок, которая может занять довольно продолжительная время, в зависимости от выбранного временного промежутка и количества пар. В итоге вы получите .CSV-файл (ы), по умолчанию он сохраняется в папку Документы (доступна через Пуск в Windows).
4. Тиковые данные мы получили, теперь нужно их преобразовать в понятный для Метатрейдера формат, пропатчить терминал и запустить бэктест.
Скачайте и распакуйте архив со скриптами по ссылке в конце статьи. Папку MQL4 копируем в каталог данных терминала для тестирования (см. инструкция по установке скриптов), соглашаемся на замену файлов при совпадении имен.
Cкопируйте файл с тиковой историей (CSV файл, который мы скачали через Dukascopy) в папку expert/files. Желательно переименовать его по названию валютной пары, — например GBPUSD.csv
Запускаем терминал, заходим Сервис->Настройки
Выбираем вкладку Советники и проставляем галочки как на рисунке ниже. Жмем ОК
Oткрываем график валютной пары, для которой мы скачали тиковую историю, и меняем таймфрейм графика на нужный для тестирования(к примеру, если вы хотите протестировать советник на М5, то нужно сменить таймфрейм на пяти-минутный).
На панели навигатора жмем плюсик напротив раздела Скрипты и мышкой перетаскиваем на график CSV2FXT
Появится окно настроек :
СsvFile — если вы переименовали СSV файл по названию валютной пары (вида GBPUSD.csv),оставляем пустым. Если нет,-вписываем имя файла.
CreateHst — в первый раз ставим true,в дальнейшем включать этот параметр нужно только если история,загруженная для пары длиннее предыдущей.
StartDate и EndDate - проставляем дату начала и окончания периода тестирования в формате ГГГГ.ММ.ДД . Если не заполнять эти поля, сконвертируются все данные, доступные в .CSV-файле.
Spread — если не изменять этот параметр, при формировании файла .FXT будет использоваться спред как у вашего брокера, если изменить — будет использоваться значение, указанное вами.
GMTOffset — изначально данные Dukascopy идут с GMT 0.Но если выставить другое значение в настройках скрипта,то и полученные данные будут с указанным сдвигом.
При тестировании в настройках советника нужно проставлять тот GMT,который был в настройках скрипта(по умолчанию 0)
Жмем ОК. Теперь необходимо подождать(вплоть до получаса), пока скрипт сконвертирует данные.
5. По окончании процесса конвертации, скрипт предложит нам распределить полученные файлы по нужным папкам терминала:
Соглашаемся, нажав Да.
Примечание: для выполнения следующего пункта у вас на компьютере должен быть установлен Microsoft Visual C++ 2010 (скачать для X86/для Х64)
6. Скачиваем программу Tick Data Suite и устанавливаем ее в корневую директорию терминала, для которого готовилась тиковая история. При первом запуске Tick Data Suite попросит ввести ключ. Триальный ключ выдаётся здесь. Запускаем tds.exe от имени администратора из папки с терминалом. Программа автоматически запустит и пропатчит терминал, чтобы он мог работать с тиковой историей.
7. Открываем тестер стратегий и приступаем к тестированию.
P.S. Хочу заметить, что даже на 99% бэктест может выдавать не тот результат, который был в реальности, поэтому полагаться целиком и полностью на тестер стратегий не стоит. Ничто не заменит теста в реальном времени на реальном счету.
Скачать архив скриптов
Источник: http://tradelikeapro.ru |