Здравствуйте, уважаемые коллеги форекс трейдеры!
Как известно, для тестирования форекс советников (особенно скальперов, пипсовщиков, чувствительных индикаторных роботов) в настоящее время стало признаком хорошего тона проводить тесты с качеством 99%, то есть с использованием тиковых данных от сторонних источников. Мы ранее уже писали про отличную (но, к с сожалению, платную) программу Tick Data Suite и её аналог Tickstory. Однако, в связи с возможностями новых билдов Metatrader4 и изменениями в лицензионной политике Tickstory , мы рекомендуем более простой и эффективный способ тестирования с качеством 99%. Все что нужно — терминал и прямые руки.
Что случилось с Tickstory Lite?
Беда пришла, откуда не ждали: Tickstory Lite стал коммерческим продуктом. По адресу https://tickstory.com/download-tickstory/ мы видим следующее:
То есть бесплатно можно использовать программу лишь до 765-го билда MT4, в то время как номера современных билдов давно перевалили за тысячу.
Что же делать? Искать в интернете старые версии MetaTrader4? Пользоваться услугами хакеров и прочих мастеров тёмных искусств? Нет, в этом уже нет необходимости: новые билды метатрейдера и пара бесплатных программок могут полностью заменить нам Tickstory Lite.
Чем хороши и чем плохи новые билды MT4?
Плохая новость: в МТ4 по-прежнему нет тиковой истории котировок.
Хорошая новость: мы можем скачать сторонние тиковые котировки, сконвертировать их в соответствующий формат и подсунуть тестеру.
Почему мы так не делали раньше? Потому, что в более ранних билдах тестер метатрейдера не позволял просто взять и использовать «неродные» файлы: он их пытался переписать скачанными в онлайне брокерскими котировками и эмулировать заново тиковые значения, перезаписывая файл с тестерными котировками, что вынуждало патчить файлы МТ4, чем, собственно, и занимались Tick Data Suite и Tickstory Lite. Но в новых билдах метатрейдер перестал портить файлы, что и позволяет нам сэкономить на платных программах.
Что понадобится: наш джентльменский набор
- Сам Metatrader4, который
можнонужно скачать с сайта Вашего брокера и установить. - Программа для закачки тиков от Dukascopy StrategyQuant Tick Data Downloader, доступная по адресу:
http://www.strategyquant.com/tickdownloader/
(подсказка: ищите зелёную кнопку, далее введёте имя и адрес почты, куда пришлют ссылку на скачивание программы). Лично я рекомендую использовать 32-разрядную версию — как самую стабильную в работе. - Скрипт CSV2FXT https://eareview.net/download/csv2fxt_v0.50.zip.
Начало работы
- Устанавливаем Metatrader4 как обычно, регистрируем демо счёт, и кладём файлы скрипта CSV2FXT в каталог MQL4 в программе Metatrader4. Закрываем Metatrader4.
- Устанавливаем программу StrategyQuant Tick Data Downloader.
Настройка общих параметров
Программа StrategyQuant Tick Data Downloader бесплатна, и в ней есть некоторые пункты в настройках, которые для наших целей либо не нужны, либо избыточны, поэтому остановимся только на необходимых действиях.
Для начала настроим общие параметры программы.
Нажимаем кнопку Configure и ставим галочку напротив Automatic export to CSV. Также в пункте меню Change timezone можно настроить часовой пояс получаемых котировок. Текущая версия программы создает два выходных файла котировок CSV: один без сдвига времени, а другой с тем сдвигом, который мы указали в настройках. Наиболее удобно использовать файл без сдвига во времени.
Скачивание тиковых котировок
Выставляем пары и диапазоны дат для скачивания.
Для примера взята пара EURUSD и срок 1 месяц.
Далее, выбираем путь для сохранения файлов CSV.
По умолчанию программа предлагает записывать в ту папку, где инсталлирован StrategyQuant Tick Data Downloader, поддиректория tickdata. Можно указать другую папку. Затем сохранить выбор: Save.
Запускается скачивание кнопкой Start Download.
В итоге получили 2 файла:
Мы видим два файла, EURUSD_tick.csv и EURUSD_tick_UTC+0_00.csv.
Лайфхак: Для наших целей достаточно первого из этих двух файлов, поэтому, если размер файла очень большой, то после скачивания первого, можно остановить программу и удалить второй файл.
Конвертируем тики в формат Metatrader4
- Переносим файл котировок в формате .csv (в инашем примере это файл EURUSD_tick.csv) в папку терминала MQL4/Files. Для удобства переименовываем его в EURUSD.csv;
- Запускаем терминал MT4;
- Открываем график нужной нам пары (EURUSD), ставим нужный нам таймфрейм;
- Запускаем скрипт CSV2FXT.
Для наших целей необходимо изменять не все параметры скрипта, однако, рассмотрим весь список.
- CSV2FXT version — версия скрипта;
- CSV filename — имя файла с тиковыми котировками, если оно совпадает с именем валютной пары (например EURUSD.csv и пара EURUSD в терминале), то можно не заполнять это поле, иначе явно указываем;
- Create HST — создавать файлы HST, конечно же true (файлы, в которых метатрейдер хранит историю котировок, имеют расширение .hst, а встроенный тестер из них делает файлы с историей котировок в другом формате, с расширением .fxt);
- All spreads and comissions in pips — суммарно все спреды и комиссии в пипсах, для наших целей можно оставить значение «ноль»;
- Spread — спред, для наших целей можно оставить значение «ноль»;
- Date range info — информация о диапазоне дат;
- Start date/ End Date — начало и конец даты конвертации тиков. Если не задавать эти значения, то скрипт просто сконвертирует всё, что есть в заданном файле;
- Use real (variable spread) — использовать реальный спред. В нашем случае мы будем спред задавать непосредственно в тестере, поэтому ставим false;
- Spread padding — фиксированный дополнительный спред брокера (broker’s markup), для наших целей можно оставить значение «ноль»;
- Minimum spread — минимальное значение спреда в сконвертированном файле, для наших целей можно оставить значение «ноль»;
- Comission info — информация о комиссиях;
- Comission in pips — комиссия в пипсах, для наших целей можно оставить значение «ноль»;
- Commission in accoun currency — комиссия в валюте аккаунта, для наших целей можно оставить значение «ноль»;
- Leverage — плечо, можно оставить automatic;
- FXT GMT and DST info — информация о настройках сдвига по GMT и летнего времени ( DST = daylight saving time — светлое время суток, т.е. летнее время);
- FXT GMT offset — сдвиг времени от GMT в файлах FXT;
- FXT DST setting — выбор летнего времени в файлах FXT в зависимости от брокера;
- CSV GMT and DST info — информация о настройках сдвига от GMT и летнего времени в файле котировок формата .csv;
- CSV GMT offset — сдвиг времени от GMT в файле котировок формата .csv, для наших целей можно оставить значение «autodetect»;
- CSV DST setting — параметры летнего времени в файле котировок формата .csv, для наших целей можно оставить значение «autodetect»;
- Remove duplicate ticks — убирать дублирующиеся тиковые значения;
- Create M1 FXT, Create M5 FXT, Create M15 FXT, Create M30 FXT, Create H1 FXT, Create H4 FXT, Create D1 FXT, Create W1 FXT, Create MN FXT — эти параметры дают возможность создавать несколько FXT файлов для разных таймфреймов за один раз. По умолчанию скрипт создаёт FXT файлов только для того таймфрейма, на котором он запущен;
- Time shift info — использование сдвига по времени;
- Time shift — использовать сдвиг по времени, да/нет. При значение true все даты в файле тестера FXT переписываются на 28 лет назад. Если какой-то советник имеет блокирование своей работы в тестере на определённые даты (для утаивания плохих результатов), то сравнение тестов с обычным временем и с котировками, сдвинутыми на 28 лет назад, даст разные результаты и поможет выявить «читеров»;
- Price multiplication factor — мультипликатор, все котировки после конвертации умножаются на это значение. Для обычных котировок forex значение должно быть рано 1.0, однако, есть брокеры, которые для данных типа цен на CFD, индексы, металлы, и т.д. предоставляют вместо нормальных котировок (например, 1.23456), значения, умноженные на некоторое значение (например, 1234.56), поэтому удобно использовать умножение значений в .csv файле на определённое число.
Заключение
После выставления параметров нажимаем OK. Скрипт спросит нашего согласия на перенос и перезапись файлов (с чем мы, конечно же, соглашаемся) и предлагает перезапустить терминал МТ4. Перезапускаем терминал — и теперь можно тестировать советники!
Внимание! Не забудьте в тестере выбрать нужный советник, пару, таймфрейм и спред! 🙂
С уважением, Алексей aka Мерлин
TradeLikeaPro.ru