Программа Tick Data Suite 2 – как настроить правильно

Программа Tick Data Suite давно известна в среде профессиональных алготрейдеров. В ней довольно-таки много настроек и опций, не всегда понятных пользователю. Помочь в настройке и применении программы призвана эта инструкция.

Как известно, для эффективной и прибыльной торговли форекс-советников на реальных счетах без качественного тестирования никак не обойтись. Тестирование позволяет выявить сильные и слабые стороны эксперта, подобрать оптимальные настройки и убедиться, что выбранная тактика и стратегия работы верна.
Для этого нам необходим специальный софт.

В сегодняшнем материале наш известный форумчанин подготовил интересный материал по установке и настройке программы Tick Data Suite (TDS-2), а также любезно поделился своим личным опытом работы с ней.

Tick Data Suite (далее – сокращённо TDS-2) после установки на ПК состоит из двух частей: программы для скачивания котировок Tick Data Manager и отдельного модуля, который встраивается во все терминалы.

На момент написания данной инструкции последней версией программы является v.2.2.35.0 с поддержкой билда терминала 1260.

Большинство советов и рекомендаций взято с сайта поддержки программы https://eareview.freshdesk.com/support/home, а также из личного опыта работы.

Вопросы установки, лицензии и сопровождения программы, описание разных проблем и ошибок можно прочитать по указанной выше ссылке. Ниже будут только описания самих настроек TDS-2 без рассмотрения принципов работы тестера стратегий терминала, алгоритм которой остается стандартным.

Tick Data Manager

Параметр Источник и Окно Характеристики. Здесь выбираются котировки нужного брокера, параметры GMT, DST и путь для скачивания. Оставляем для каждого источника все по умолчанию. Параметры GMT и DST будут корректироваться в Настройках тиковых данных терминала, а путь для скачивания всех котировок задается в окне Настройки.

Параметры Действия и Поставить в очередь на загрузку. Активны напротив каждой валютной пары или инструмента. Если скачивание происходит в первый раз, то лучше это сделать через параметр Действия, задав нужный период. Следующая закачка котировок через параметр Поставить в очередь на загрузку добавит недостающие дни от конца периода прошлой закачки. На вкладках параметра Действия есть возможность производить экспорт котировок с довольно тонкими настройками.

Окно Настройки. Выбираем нужный язык, который будет одинаковым и для Tick Data Manager, и для модуля настроек в терминалах. Также указываем путь к репозиторию котировок. Разработчики котировок рекомендуют их закачивать на SSD диск. Все остальное – по умолчанию.

Окно настройки тиковых данных в тестере стратегий терминала

TDS-2 включается активацией галочки По тиковым данным в окне тестера стратегий терминала. В этом же окне Тестера стратегий параметр Спред изменится с текущего на переменный, если активировать параметр Использовать нефиксированный спред на вкладке Основные окна Настройки тиковых данных.

В окне Настройки тиковых данных:

  • При наведении курсора мыши на большинство параметров можно увидеть всплывающие подсказки;
  • Все параметры в пунктах выражаются в наименьшем значении пятизнака – выставляем не пипсы, а пункты (новые);
  • Нажатие параметра По умолчанию сбрасывает настройки только на активной вкладке окна Настройки тиковых данных;
  • Некоторые параметры играют разную роль для оптимизаций и бектестов (отдельных прогонов). Из подсказок следует внимательно выделять слова оптимизация и бектест.

Вкладка Основные

Настройки вкладки по умолчанию:

Изюминка TDS-2 – это возможность тестирования советников на котировках с плавающим спредом (реальной разницей между ценами bid и ask). Поэтому обязательно активируем параметр Использовать нефиксированный спред.

Следует проверить, чтобы параметры Источник (тиковых данных) и Символ были корректными и не были пустыми. Частой причиной провала старта тестирования является пустое поле Символ, которое иногда слетает после манипуляций с открытием/закрытием терминала, добавлением/удалением символом и т.д. Тогда в журнале мы можем увидеть следующую запись:

file «C:\Users\<username>\AppData\Roaming\MetaQuotes\Terminal\<id>\tester\history\<symbol>1_0.fxt» cannot open

Также в этой вкладке можно увидеть историю скачанных котировок для выбранного источника.

Важными параметрами вкладки являются Смещение GMT и DST. Советы и рекомендации разработчиков:

  • Не нужно беспокоиться об исходных данных скачанных котировок. TDS-2 уже знает время по Гринвичу и летнее время для исходных данных и корректирует их так, чтобы данные в бектесте имели настроенные на вкладке Основные параметры GMT и DST;
  • Смещение по Гринвичу, заданное на вкладке Основные, должно соответствовать смещению по Гринвичу, заданному в настройках советника (если такие параметры в советнике имеются); 

Исключение из правила: Если в коде советника уже заложен сдвиг времени по GMT, например, время +2 в настройках равно 0, то этот нюанс надо учесть, и во время тестирования оставлять настройки GMT советника такими, какими их заложил его автор.

  • Если в советнике имеется отдельный параметр автоматической настройки GMT, то его обязательно следует отключить.

Большинство крупных брокеров используют GMT +2 и DST США. Для тестирования советников у таких брокеров на котировках Dukascopy вкладку Основные желательно настроить так:

Если нужно сделать тест с проскальзыванием, активируем соответствующую вкладку параметром Включить проскальзывание.

Вкладка Спред

Настройки вкладки по умолчанию:

Активируется включением параметра Использовать нефиксированный спред на вкладке Основные.

Здесь настраиваются сразу несколько параметров, связанных со спредом.

Модификатор (мульт) спреда – это число, которое будет использоваться в качестве множителя для спреда выбранного источника котировок.

Например, если у определенного тика был спред 20 пунктов, то с модификатором спреда 1,5 он скорректируется к значению 30 пунктов, а с модификатором спреда 0,5 – к значению 10 пунктов.

Добавление спреда – позволяет настроить количество пунктов, добавляемых к спреду. Значение может быть и отрицательным.

Например, если у определенного тика был спред 20 пунктов, то с добавлением спреда 5 пунктов он скорректируется к значению 25 пунктов, а с добавлением спреда -5 – к значению 15 пунктов.

Параметр Минимальный спред позволяет настроить минимальный порог спреда. Любой спред, который будет ниже этого порога, установится на настроенное значение.

Например, если Минимальный спред равен 5 пунктам, то тик со спредом в 3 пункта скорректируется к значению 5 пунктов.

Параметр Максимальный спред позволяет ограничить спред. Любой спред, который превысит выставленную величину, будет установлен на ее значение.

Например, если Максимальный спред равен 50 пунктам, то тик со спредом в 60 пунктов скорректируется к значению 50 пунктов. Этот параметр выключается значением 0.

Важно отметить, что параметры Минимальный спред и Максимальный спред не запрещают открытие ордеров во время тестирования в отличие от параметра многих советников Maxspread.

Настройки спреда применяются в следующей очередности: 1) Модификатор спреда, 2) Добавление спреда, 3) Минимальный и Максимальный спред. Например, определенный тик имеет спред 20 пунктов, а модификатор спреда равен 1,5, добавление спреда 5 пунктов и максимальный спред выставлен 32 пункта. Получаем: 20*1,5+5=35 пунктов, которые последним в очереди параметром превращаются в 32 пункта.

Советы и рекомендации из личного опыта

  • В Tick Data Manager присутствует довольно большой выбор источников котировок. Но, к сожалению, их качество оставляет желать лучшего. У большинства источников есть дыры в котировках, многие качаются с ошибками и т.д. Котировки Dukascopy пока остаются самыми лучшими. Использование их при тестировании с помощью параметров вкладки Спред даст результат, который, скорее всего, будет надежнее, чем тестирование на терминале нужного брокера на якобы родных котировках, скачанных через Tick Data Manager. Далее рассмотрим нюансы тестов на котировках именно Dukascopy;
  • Для тестирования советников, которые будут работать на больших таймфреймах и которые не строят сетки, спокойно подойдут настройки вкладки Спред по умолчанию. Нужно не забыть, что вкладка Спред в любом случае должна быть активной (включенной на вкладке Основные);
  • Для тестирования скальперов, особенно ночных, спред желательно подгонять под брокера, на котором будут вестись торги испытуемым советником. Важно: если тесты делаются большой группой людей, то определение брокера (группы брокеров), а также мультов (модификаций) спредов в TDS-2 чуть ли не самый главный из первых этапов тестирования. Несогласованные тесты с разными модификациями спредов – потеря времени;
  • Большинство трейдеров торгуют ночными скальперами у брокеров с низкими спредами. При тестировании таких советников желательно выставлять значение Модификатора спреда меньшим от стандартного – от 0,50 до 0,90 в зависимости от пары. Только на самых популярных парах-мажорах ночные спреды котировок Dukascopy будут равными (а на паре USDJPY даже лучшими), чем у брокеров с низкими спредами. Вычислить нужные модификации спреда тяжело, нужен опыт и время. Но это один из залогов хорошей оптимизации советника;
  • Для тестирования сеточников можно пойти путём тех же модификаций спреда или воспользоваться стандартными настройками вкладки Спред. Такие советники очень чувствительны к так называемой подгонке под историю, когда идеальный сет проходит несколько участков пункт-в-пункт, избегая большой просадки или слива всего депозита. Лучшим решением вижу такую комбинацию: 1) основное тестирование на стандартных настройках спреда, 2) две прогонки финальных вариантов с Модификатором спреда 0,50-0,70 и 1,20-1,50. Так мы даем советнику спреды получше и похуже. Очень часто хороший сет-сеточник не справляется даже с улучшенным спредом;
  • Важно. При использовании больших значений Модификатора спреда или Добавления спреда (например, наращиваем спред в 1,5-2 раза) стоит увеличить или вообще отключить параметры Maxspread в настройках советника, если такой (такие) есть. Спреды пять лет назад были намного хуже сегодняшних. Привычный многим параметр Maxspread, который равен 5 пипсам, уже будет резать немалое количество ночных входов на истории большинства кросс-пар. Если переусердствовать с увеличением и так немаленьких спредов Dukascopy, то полученный после тестирования результат будет вовсе неактуальным.

Вкладка Проскальзывание

Настройки вкладки по умолчанию:

Активируется включением параметра Включить проскальзывание на вкладке Основные.

TDS-2 позволяет имитировать проскальзывание в тестах на истории подобно тому, как проскальзывание часто происходит на реальных аккаунтах. В ранних версиях программы имел место конфликт настроек проскальзывания с параметром проскальзывания, который выводился отдельно в настройки советника. Часто это приводило к большому количеству сообщений об ошибках OrderSend 138 (реквоты) в журнале тестирования и к ошибочным результатам тестирования. Разработчики убрали этот момент, но вывели отдельный параметр Подтвердить OrderSend() параметр проскальзывания на вкладке Разное. Разработчиками рекомендуется включать указанный выше параметр только в случае знания кода советника или понимания того, что настройки проскальзывания в TDS-2 не будут конфликтовать с алгоритмом работы или настройками советника. В идеале проскальзывание в пунктах, выставленное в любом из параметров соответствующей вкладки настроек TDS-2, не должно превышать проскальзывания в пунктах настроек или во внешнем параметре советника, если таковые есть.

На вкладке есть шесть параметров и три вида проскальзывания. Последние не могут использоваться вместе.

Воспроизводимое проскальзывание контролирует случайность проскальзывания. Если опция включена (по умолчанию), то тестер будет запоминать результаты, а повторное тестирование будет приводить к одинаковым проскальзываниям каждой сделки. Для чистоты экспериментов лучше этот параметр отключать – чем больше проходок с разными видами и случаями проскальзываний выдержит сет, тем он лучше.

Проскальзывание оптимизации контролирует, будет ли оно проходить во время оптимизации. Разработчики настоятельно рекомендуют не включать данную функцию по причине неравномерного распределения шансов проскальзывания для каждого отдельного варианта во время оптимизации. Также они обращают внимание, что если проскальзывание в любом виде активно, а параметр Проскальзывание оптимизации выключен, то после завершения оптимизации при выборе любого варианта в окне оптимизации (двойным щелчком мыши) результаты оптимизации и бектеста (отдельного прогона) не совпадут.

Четыре параметра проскальзываний лимитных, стоп-ордеров, тейк-профитов и стоп-лоссов желательно оставлять включенными – в их умышленной неправильной отработке за счет проскальзываний и есть весь смысл использования данной функции.

Первый вид проскальзывания – Задержка исполнения – имитирует задержки, которые происходят на реальных счетах. Измеряется в миллисекундах, имеет максимальное и минимальное значение отдельно для рыночных и отложенных ордеров. Разработчики рекомендуют не угадывать значения, а использовать их или по умолчанию (среднее значение для ECN-брокеров), или после вычислений данных в журнале реальных торгов. Рядом с фишкой активации этого вида проскальзывания есть ссылка на целый гайд по его использованию. Довольно много нюансов и возможных конфликтов с кодом советников. Стоит обратить внимание, что последние параметры вкладки Разное, которые разработчики рекомендуют не включать, также связаны с настройками проскальзываний.

Второй вид проскальзывания – Как у дилера – был создан для имитации плагина Virtual Dealer, используемого брокерами. Параметры Максимально благоприятный и Максимально неблагоприятный контролируют максимальные значения в пунктах, которые могут быть в ту или иную сторону от базовой цены. Шанс проскальзывания в процентах – если отключен (по умолчанию), то скользить будет каждый ордер. Благоприятная вероятность – это процент положительных для трейдера проскальзываний.

Проскальзывание каждого ордера рандомное, но оно не выходит за рамки выставленных значений.

Третий вид проскальзывания – Стандартное отклонение – основан на теории нормального распределения с указанным средним и стандартным отклонением. Эти параметры можно получить, если серию реальных проскальзываний из журнала реальных торгов записать в Excel и воспользоваться функциями Average() и StDev().

Советы и рекомендации из личного опыта

  • Если включить Задержку исполнения с настройками по умолчанию для советников-сеточников, то, как правило, результаты улучшатся.  Этот вид проскальзывания будет более важен для советников-скальперов;
  • Проскальзывание Как у дилера – лучший вариант для стресс-тестов советников-сеточников. Стоит использовать как жесткие, так и улучшенные настройки проскальзываний. Возможные комбинации (Максимально благоприятныйМаксимально неблагоприятныйШанс проскальзывания): 10-10-100 (по умолчанию), 10-10-50, 4-12-100, 12-4-100. Нередки случаи, когда большой шанс благоприятного проскальзывания портит сет-сеточник;
  • Для скальперов и советников с маленьким количеством сделок есть смысл прогнать несколько рандомных, но зарабатывающих сетов с разными настройками проскальзывания в самом начале работы с ними. Очень часто проскальзывание почти никак не влияет на итоговый результат, особенно если советник не грешит закрытиями по стоп-лоссу или с другим убытком, но дает итоговую прибыль и хорошую прибыльность. Если первые пробы с проскальзыванием не будут сильно искажать результаты отдельно взятого советника, то в будущем не стоит тратить время на эту функцию.

В итоге при необходимости использования вкладки Проскальзывание лучшими настройками будут следующие (с разными вариациями параметров Как у дилера):

Вкладка Экзотические бары

Настройки вкладки по умолчанию:

Новая функция TDS-2 включается на первой вкладке Основные. Используется для тестов на барах Ренко.

Вкладка Расширенные

Настройки вкладки по умолчанию:

Настройки лотов и комиссии берутся с учетной записи МТ4, на терминале которого проводятся тесты. Это касается и параметра Торговое плечо, но его надо проверять – иногда TDS-2 неверно подхватывает его значение.

Параметр Баров до данных важен, если в советнике используются индикаторы с большими значениями периодов. В некоторых случаях тест может стартовать с задержкой на разницу недостающих свечей, в некоторых – вообще не стартовать. Для индикаторных советников лучше увеличить это значение.

Блок параметров Имитировать реальное исполнение включает реальную отработку ценовых разрывов.

Советы и рекомендации из личного опыта

  • Выключить Имитировать реальное исполнение для оптимизации ночных скальперов. Включенная функция будет сильно влиять на показатель Custom (onTester). Например, один большой убыточный гэп на каких-то выборах (когда и так скальперов принято выключать в реальной торговле) может спокойно уничтожить довольно неплохой сет, выдав на финише непроходной для тестировщика показатель Custom (onTester). Лучше сет с этой функцией проверить уже на бектесте (одиночном прогоне);
  • Включить Имитировать реальное исполнение, активируя нужные из четырёх его параметров для оптимизации всех остальных типов советников.

Настройки окна лучше выставить такими (не обращаем внимания на параметры лотов и комиссий – они от брокера): кредитное плечо – как на будущем реальном счете, баров до данных 1000, четыре параметра Имитировать реальное исполнение – ВКЛ-ВЫКЛ в зависимости от типа советника и исходя из советов выше.

Вкладки Экспертные и Маржа

Настройки вкладок по умолчанию:

Важно знать, что, аналогично вкладке Расширенные, все параметры этих вкладок берутся с учетной записи МТ4, на терминале которого проводятся тесты. Разработчики рекомендуют использовать терминал реального счета с торговым или инвест-паролем. Почти все параметры активные, даже если стоят без галочек. Чтобы изменить параметр, надо обозначить его и изменить значение на нужное. Самым лучшим решением будет тестирование советника на терминале того брокера и того типа счета, на котором в будущем будут вестись торги.

Вкладка Разное

Настройки вкладки по умолчанию:

FXT-файлы полезны для ускорения оптимизаций. Для бектестов (отдельных прогонов) их помощь не такая существенная. А если один и тот же сет будет прогоняться с разными настройками подряд, то неверно настроенные параметры этой вкладки могут и помешать. Лучше оставить на этой вкладке все по умолчанию.

Исключением стоит выделить тот случай, если тестировщику действительно надо много раз подряд прогнать советника на одном и том же символе и периоде времени. И если скорость бектестов играет для него роль, тогда стоит активировать параметр Сохранять FXT-файл при бектестах тиковых данных и выбрать нужное значение из Когда встречается FXT-файл в режиме “только чтение”.

Некоторые особенности работы с TDS-2

Иногда случается, что в тестере стратегий идет отказ для начала бектеста с помощью TDS-2. Причины этого довольно банальны, но их можно не заметить, особенно если у трейдера открыто несколько терминалов, разные валютные пары, советники, идет активная их замена. Причины:

  • Не выбран или случайно слетел символ данных тиков – стоит проверить вкладку Основные. Если речь идет об индексах или CFD, то TDS-2 по причине отличий в названиях может изначально не определить нужный символ, даже если пользователь правильно выбрал индекс в окне тестера стратегий;
  • Трейдером выбран неправильный источник котировок;
  • Ошибка в датах периода тестирования. Например, дата окончания случайно указана раньше даты начала теста;
  • Диапазон выбранных дат вообще не охватывается скачанными котировками. Если эти котировки перекрывают выбранный период частично, то бектест или оптимизация состоятся, но не в полном историческом объеме.

Отличия между результатами оптимизаций и бектестов отдельно взятых вариантов

После окончания оптимизации трейдер в окне результатов оптимизации выбирает понравившийся вариант, щелкает на него дважды левой клавишей мыши, запускает его на отдельный бектест и получает результат, который отличается от полученного во время оптимизации. Аналогичная ситуация с отличием результатов может случиться без оптимизации даже после нескольких очередных бектестов одного и того же советника с одинаковыми настройками, валютной парой, периодом бектеста на одном и том же терминале. Отличия могут быть вызваны:

  • Включенной функцией проскальзывания с выключенным параметром Воспроизводимое проскальзывание, если речь идет о разнице между двумя бектестами;
  • Включенной функцией проскальзывания и даже с включенным параметром Воспроизводимое проскальзывание, если речь идет о разнице между оптимизацией и бектестом варианта из окна результатов оптимизации;
  • Установленным в окне тестера стратегий текущим спредом вместо переменного;
  • Колебаниями цены валютной пары, если валюта котировки отличается от валюты депозита. Например, если тестирование проводится на валютной паре AUDCAD, а депозит настроен в USD, то будет использоваться текущая цена USDCAD для конвертации значений доходов от тестирования. Если тестирование происходит в выходные дни, то результаты должны сходиться. В рабочие дни цена USDCAD постоянно колеблется, что приводит к немного отличающимся результатам. В итоге при выключенном проскальзывании и переменном спреде разница между двумя подряд сделанными бектестами будет мизерной. А вот разница между результатами оптимизации и бектестов отобранных вариантов (из окна результатов) будет зависеть от времени, которое прошло со старта оптимизации, и изменения цены пары-мажора, которое случилось за это время. Очень важный нюанс – один параметр в результатах оптимизации и бектеста в большинстве случаев должен сойтись. Речь идет о количестве сделок. Если выключено проскальзывание, включен переменный спред, остальные настройки советника и TDS-2 не менялись, и если в самом советнике нет активных параметров, которые считают прибыль/убыток в деньгах (а не в пунктах), выходят из сделок в зависимости от денег или процента депозита, учитывают комиссию и свопы при переносе тейк-профитов и стоп-лоссов, то количество сделок в разных бектестах подряд (или при прогоне бектеста после оптимизации) должно быть одинаковым.

Заключение

Различия между результатами бектестов, которые были сделаны на разных терминалах и на разных компьютерах, будут почти всегда. Чтобы все сошлось, терминалы должны быть с абсолютно идентичными настройками, и неважно – от разных брокеров эти терминалы или от одного. Стоит запомнить один момент. Если в советнике (особенно сеточнике) нет активных параметров, которые считают прибыль/убыток в деньгах (а не в пунктах), выходят из сделок в зависимости от денег или процента депозита, учитывают комиссию и свопы при переносе тейк-профитов и стоп-лоссов, то особо не существенно, на каком терминале, какого брокера и каких настройках комиссий, свопов, маржи и т. д. делать промежуточные оптимизации или бектесты. При указанных выше условиях лучшие сеты всегда будут лучшими среди похожих на себя. Но финальную оптимизацию или бектест желательно делать уже на том терминале того брокера и на тех настройках, которые будут использоваться в торговле.

Сайт продажи Tick Data Suite

Тема на форуме

С уважением, Анатолий аkа tolyayugan
Tlap.com

Софт для трейдинга , ,