Tick Data Suite: тестирование с 99% моделированием , выбор профессионалов

R00В наших предыдущих статьях мы подробно рассказывали, как можно получить точность моделирования 99% в тестере стратегий МетаТрейдер 4 с помощью бесплатно распространяемых программ (Качество моделирования 99% в тестере стратегий – нужно ли оно и как его получить?, Тестирование советников с качеством 99,9% с помощью программы Tickstory Lite). Сегодня мы обсудим, что нам может предложить коммерческий пакет для тестирования с 99% моделированием TickDataSuite и имеет ли смысл тратить свои заработанные тяжелым трудом деньги на то, что вроде бы можно запросто получить и бесплатно. В этой статье я буду предполагать, что читатель имеет уже некоторое представление о том, что такое тестирование советников вообще и тестирование с 99% моделированием в частности. Если совсем кратко, то для тестирования с 99% моделированием мы скачиваем тиковые котировки своего (или стороннего) брокера и подсовываем их тестеру. Занятие это довольно непростое и требует некоторых (нестандартных) воздействий на терминал МТ4 и определенной подготовленности от пользователя.

Автор пакета TickDataSuite, Cristi Dumitrescu, более широко известный в массах под ником Birt, является пионером этого метода тестирования. Не поручусь за приоритеты, но в широкие массы эта идея проникла явно с его подачи. Не удивительно, что ему удалось реализовать в своем пакете ряд уникальных функций, которых нигде больше нет. Об этих функциях мы сегодня и поговорим.

Итак, чем же TickDataSuiteотличается, в частности, от своего бесплатного конкурента, TickStory Lite?

  1. Отсутствие ограничения на размер файла 2Gb. Метатрейдер, как правило, не умеет обращаться с файлами размером более около 2 Gb. Если размер FXT файла (в котором хранятся тики) превышает 2 Gb (примерно 2.5 года истории), его «хвост» просто игнорируется при тестировании. Поэтому в TickStory Lite (и в других бесплатных методах) максимальный цельный кусок истории ограничен временным промежутком в примерно 2.5 года. В TickDataSuite терминал Метатрейдер модифицирован таким образом, что это ограничение снято.
  1. Возможность одновременного тестирования в нескольких копиях терминала. Вы спросите, что здесь особенного? Любой терминал можно запустить в нескольких копиях! Да, но из разных папок. А тут речь о том, что две (или больше) копий терминала будут работать из одной папки (и им, поэтому, будет достаточно только одной копии насчитанных котировок и FXT файлов – а это гигабайты данных). Для запуска нескольких копий в TickDataSuite достаточно сделать несколько ярлыков, ссылающихся на один и тот же файл – и вы сможете одновременно тестировать столько советников, сколько потянет ваш компьютер.
  1. Возможность импортировать тиковые данные от разных брокеров. TickStoryLiteв настоящее время умеет закачивать тиковые котировки только от Дукаскопи. Дукаскопи конечно хороший брокер, но платформу МТ он не поддерживает, поэтому его котировки представляют собой достаточно академический интерес для большинства трейдеров. В  TickDataSuite нет интегрированного сервиса закачки котировок (скачивать котировки нам придется самостоятельно), но зато TickDataSuite способен распознать формат практически любых котировок и правильно их интерпретировать. В частности, автоматически распознается сдвиг времени котировок относительно времени GMT. Эта возможность становится все более актуальной, поскольку тиковые котировки за длительный период сейчас доступны для ряда брокеров. В частности, для FxOpen (см., например, пост здесь).
  1. Имитация проскальзывания при тестировании. Эта интересная опция не имеет аналогов в TickStoryLite или других пакетах. Когда эта опция активирована, TickDataSuite будет устанавливать каждому исполняемому ордеру проскальзывание, которое вычисляется случайным образом в некоторых пределах, которые задаются пользователем в настройках  TickDataSuite. С помощью этой опции можно пытаться моделировать ситуации, возникающие при реальной торговле.
  1. Тестирование с реальным спредом. Это самая, самая важная из всех возможностей пакета TickDataSuite. Как хорошо известно, фиксированный спред сегодня является одним из признаков маркет-мейкерских, «кухонных» счетов. При реальной торговле на ECN и STP счетах, спред «плавает» в очень широких пределах и изменяется весьма быстро. Тем не менее, платформа МТ4 остается в своей основе той, которая была заложена много лет назад, когда про плавающий спред еще и не слышали. Именно поэтому котировки в МТ4 содержат только одну цену (как правило это цена Bid). В FXT файл тиковой истории тестера тоже записывается только одна цена. Когда спред был постоянным, цена Ask восстанавливалась из Bid однозначно и тривиально. Сейчас это уже не так, и если мы знаем только последовательность реальных цен Bid, мы знаем только половину того, что происходило на рынке. Поэтому тестирование с моделированием 99% только по ценам Bid и фиксированным спредом (как это делается в TickStoryLite) может нас увести весьма далеко от действительности.

 

Давайте проведем сравнение двух способов тестирования. В качестве подопытного выберем наш скальпер Easy Walker Fx. Давайте протестируем его, скажем, по паре GBPJPY с помощью TickStory Lite. Закачали котировки от Дукаскопи. Как выбрать спред для тестирования? Заглянем в сервис myfxbook, для FxOpen STP там показывают средний спред 1.5 пункта.

fig1

Устанавливаем спред 1.5, подбираем настройки, получаем вот такую вполне приятную для глаза кривую баланса

 fig2

А теперь давайте с теми же настройками протестируем советник за тот же период времени по тиковым котировкам от FxOpen с реальным спредом. Картина получается совсем иная

fig3

Заметьте, что оба теста выполнены с качеством моделирования 99%. Выводы делайте сами.

Так как же TickDataSuite удается использовать реальный спред, если МТ4 для этого не предназначен? При генерации FXT файла тиковых котировок реальный спред (= разность Ask-Bid) записывается в поле объема тика. А тестер в ходе тестирования советника вычисляет значение Ask, исходя из текущего значения Bid и значения спреда на этом тике. Каким образом Birt заставил тестер это делать, у меня нет представления (может, у кого есть идеи?), но факт остается фактом – значения Bid и Ask при тестировании согласуются с теми, что были в исходном файле котировок, полученном от брокера.

Давайте зададимся вопросом, насколько хорошо котировки Bid и Ask при тестировании с реальным спредом согласуются с исходными. Напишем специальный советник, который суммирует абсолютные значения изменения цены Bid и цены Ask на каждом тике за длительный промежуток времени. Возьмем пару GBPUSD за 2.5 года – с начала 2012 г. по конец мая 2014 г. Прогоняем советник в тестере. За этот период советник насчитал почти 60 млн. тиков. Сумма всех изменений Bid = 675.69429, сумма всех изменений Ask = 735.41022.  А теперь напишем скрипт, который считывает ту же самую информацию, только непосредственно из csv файла котировок, полученных от брокера. Сравниваем. В исходном файле тиков на 0.02% больше, что нормально (последовательные одинаковые тики игнорируются при генерации котировок). Сумма всех изменений Bid в исходном файле = 676.25179, т.е. на 0.08% отличается. Неидеально, но пойдет. Зато сумма всех изменений Ask получается 658.81791, что отличается на 14% от того, что получается в тестере. Откуда возникает такая огромная разница? Разбираемся. Оказывается, из-за погрешности округления во время сложения Bid + spread = Ask, полученное значение Ask зачастую отличается от правильного значения на единичку в последнем знаке. Вот эта незначительная разница, повторенная несколько десятков миллионов раз и дает такой огромный эффект.

По счастью, скрипт, который генерирует котировки в TickDataSuite(CSV2FXT) доступен в исходниках. Когда проблема найдена, ее несложно поправить. К статье прилагается модифицированный скрипт CSV2FXTargo, в котором исправлен этот недочет и сделано еще несколько небольших усовершенствований. Генерируем котировки исправленным скриптом и опять прогоняем советник в тестере. Сумма всех изменений Bid не изменилась, а сумма всех изменений Ask теперь получается 657.53065. Отличие от оригинала стало гораздо меньше, что и требовалось.

Подробней о том, как обращаться с TickDataSuite, я расскажу в следующей статье. А пока основные выводы. TickDataSuite– это единственная известная мне возможность протестировать советник в тестере стратегий МТ4 с реальным спредом и качеством моделирования 99%. Функционал этого пакета значительно шире, чем у бесплатных аналогов. Работать с ним немного тяжелее, чем например, с TickStory, в частности из-за отсутствия интегрированной закачки котировок. К небольшим недостаткам пакета я  бы также отнес отсутствие редактора, позволяющего изменять комиссию в готовом FXT файле. Тем не менее, возможности, которые предоставляет этот пакет, безусловно компенсируют эти небольшие неудобства. Для грамотного пользователя TickDataSuite это безусловно очень хороший инструмент.

 

Купить TickDataSuite.

Скачать CSV2FXTargo

Автор: Владимир aka loopsider

Ваш E-Mail:



Метки: , , , , , ,
Опубликовано в Публикации, Рекомендуем, Секреты мастерства

Советники ARGOLab
Последние статьи
.
.
Комментарии
E-Mail:
Форекс рейтинг . Форекс каталог