Размер
Как тестировать советники с качеством 99% – легко, бесплатно, легально
Play

Как тестировать советники с качеством 99% – легко, бесплатно, легально

Как известно, для тестирования форекс советников (особенно скальперов, пипсовщиков, чувствительных индикаторных роботов) в настоящее время стало признаком хорошего тона проводить тесты с качеством 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. Но в новых билдах метатрейдер перестал портить файлы, что и позволяет нам сэкономить на платных программах.

Что понадобится: наш джентльменский набор

  1. Сам Metatrader4, который можно нужно скачать с сайта Вашего брокера и установить.
  2. Программа для закачки тиков от Dukascopy StrategyQuant Tick Data Downloader, доступная по адресу: http://www.strategyquant.com/tickdownloader/(подсказка: ищите зелёную кнопку, далее введёте имя и адрес почты, куда пришлют ссылку на скачивание программы). Лично я рекомендую использовать 32-разрядную версию – как самую стабильную в работе.
  3. Скрипт CSV2FXT https://eareview.net/download/csv2fxt_v0.50.zip.

Начало работы

  1. Устанавливаем Metatrader4 как обычно, регистрируем демо счёт, и кладём файлы скрипта CSV2FXT в каталог MQL4 в программе Metatrader4. Закрываем Metatrader4.
  2. Устанавливаем программу 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

  1. Переносим файл котировок в формате .csv (в инашем примере это файл EURUSD_tick.csv) в папку терминала MQL4/Files. Для удобства переименовываем его в EURUSD.csv;
  2. Запускаем терминал MT4;
  3. Открываем график нужной нам пары (EURUSD), ставим нужный нам таймфрейм;
  4. Запускаем скрипт 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. Перезапускаем терминал — и теперь можно тестировать советники!

Внимание! Не забудьте в тестере выбрать нужный советник, пару, таймфрейм и спред! 🙂

📎📎📎📎📎📎📎📎📎📎