Так как TSLab является не только торговым терминалом и платформой для запуска торговых роботов, но и инструментом для тестирования торговых стратегий, то он содержит в себе возможность использования исторических котировок. Историю котировок по инструменту вы можете достать любым возможным для вас способом, но подключить к TSLab их нужно вполне конкретным образом. Если же делать это неправильно, то и результат тестирования будет искаженным. Как оказалось, многие пользователи программы настраивают поставщик исторических данных неправильно. Не буду отрицать, я тоже делал это неправильно до определенного момента.
Поставщик исторических данных как инструмент.
Поставщик исторических данных для TSLab является совершенно таким же источником котировок как и реальный брокер. Единственное отличие в том, что брокер нам данные присылает, а в случае поставщика исторических данных котировки берутся из текстового файла.
Отсюда следует, что к поставщику исторических данных применимы почти те же требования, что и к реальному брокеру. При нарушении любого из требований, результат тестирования будет неадекватным. — Котировки должны быть в “правильном” формате.
— Они должны содержать информацию о ценах и объеме.
— Необходимо знать шаг цены инструмента и сколько разрядов после десятичной точки.
Когда все настроено и подключено, работа с поставщиком сводится к банальному подключению инструмента в свойствах скрипта.
Получение исторических котировок. Полностью тема была раскрыта в статье «Скачивание котировок для TSLab и типичные ошибки при установки», и я рекомендую прочитать ее внимательно. Коротко, вы должны получить котировки в формате текстового файла. Содержимое текстового файла должно соответствовать определенному формату, который тоже описан в статье. Если вы все сделаете по инструкции, можно быть уверенным, что котировки в “правильном” формате.
Настройка поставщика данных
Создание нового исторического поставщика данных состоит из нескольких этапов. Первый из них, состоит в выборе формата в котором будут наши исторические данные. Рекомендуется использовать простой текстовый формат. Есть еще 2 других варианта, но они не рекомендуются как менее надежные в плане возможных ошибок.
В ТСЛабе в разделе «Данные» — «Поставщики» — справа нажимаем кнопку «Добавить»
Далее в окне выбираем «Исторические данные»
В появившемся окне задаем имя поставщика данных, например «Finam_txt», выбираем «Текстовые файлы»
Далее, нужно выполнить самую важную часть настройки и заполнить несколько полей. Вот, на данном этапе и происходят, обычно, все ошибки. Сразу привожу картинку с правильно заполненными полями, а далее каждое из полей разберем подробно.
Папка – у меня указана папка “FINAM_TXT” и в данной папке находятся сразу несколько текстовых файлов. Каждый из текстовых файлов будет представлять собой отдельный инструмент, предоставляемый нашим поставщиком исторических данных. Если у вас в папке находятся сразу 10 текстовых файлов, то у поставщика будет 10 инструментов на выбор. Настоятельно рекомендую в папку одного поставщика данных класть только инструменты с одинаковым шагом цены, размером лота и количеством знаков. Для инструментов с разными параметрами, стоит создавать разные поставщики исторических данных.
Торговая площадка – необязательное поле. Неважно, что будет написано в данном поле, и уж точно это никак не отразится на работе поставщика. Пишите что хотите, но я обычно пишу просто «-«, можно написать название площадки на которой торгуется инструмент, историю которого подключаете.
Количество знаков – обязательное и важное поле. Вы должны указать сколько знаков после запятой может содержаться в цене инструмента. Если это SI, то будет 0 знаков. Если это SBER то будет 2 знака. Ну, вы поняли. Если указать данную опцию неправильно ничего страшного не случится и цены будут использоваться правильные, но работать будет несколько менее удобно. Поставили 4, чтобы сделать более универсальный поставщик под разные инструменты.
Количество денежных знаков – – обязательное и важное поле. Вы должны указать сколько знаков после запятой применять в денежных расчетах.
Шаг цены – этот и последующий параметр влияют непосредственно на результаты тестирования и обязательны к правильному заполнению. Для фьючерса РТС это 10, для акций Сбербанка это 0.01. Как это будет влиять на результаты? Сделки совершаемые вашим алгоритмом будут иметь цены выровненные по шагу цены, а значит если стоит 10, то цены будут 1000, 1010, 1020 но никак не 1001, 1005. Если же для фьючерса РТС поставить 1, то будете в тестах получать сделки, которые никогда не могли бы произойти в реале и это скажется на результатах. Предлагаю вам это проверить на любой вашей стратегии где много сделок. Если вы не знаете где посмотреть шаг цены инструмента, рекомендую обратиться на сайт биржи, где вы найдете всю информацию по всем торгуемым инструментам, включая шаг цены. Для Фьючерса на нефть Br — шаг 0,01
Размер лота – тоже важная опция. Если ваш алгоритм в процессе работы пробует наращивать размер позиции, то размер лота критичен для вас. Если размер лота на бирже для инструмента равен 100, то нельзя тестировать исходя из размера лота 1. Это ведь совсем другая сумма и совсем другой шаг в размере позиции, а значит и другие риски и другие возможные убытки. В общем, поверьте, это действительно важная опция.
Шаг лота — Шаг изменения величины лота. Возможно использование десятичных значений для изменения размера лота инструмента.
Внимание! Спецификацию инструментов уточняйте у брокера и/или на бирже.
Коэффициент кредитования – опция, позволяющая использовать эмуляцию маржинальной торговли. На самом деле опция достаточно бестолковая, так как имитировать маржу нормально она не может, а псевдоэмитация нас не устраивает. В общем не использую и не рекомендую.
А вообще Коэффициент кредитования, используемый для расчета прибыли:
— российские биржи – 1;
— Форекс — 100.
Валюта – чисто косметическая опция позволяющая видеть результаты тестирования в “правильной” валюте. Нередко бывает что люди ошибаются в том, что они видят в результатах теста. Для фьючерса РТС это пункты и стоит себе напоминать что это они, а не доллары или рубли. Для акций же мы видим чистые рубли и голову ломать не нужно с пересчетами. В общем я обозначаю как «ПТ», что означает в Пунктах.
Задержка исполнения – еще одна бестолковая опция, которую никогда не применял. Она экспериментальная и должна работать только на тиковом таймфрейме. Цель опции – обеспечить задержку выставления приказа в тестировании, чтобы имитировать задержку брокера. Насколько толково работает опция я не знаю, так как вообще не тестирую системы на тиковых таймфреймах. Вообще, полагаю что тестирование системы, работающей на тиках по историческим данным, занятие бесполезное. Только реал.
Как загрузить скаченные котировки в TSLab. Создание текстового поставщика.
Подробно рассказано, как создать текстового поставщика данных в ТСЛаб, как скачать котировки по нужным инструментам, как их склеить за длинный период, как загрузить их в ТСЛаб, как проверить котировки в ТСЛаб.
Вы уже сейчас можете начать изучать Видео курс- роботы в TSLab и научиться самому делать любых роботов!
Можно записаться на следующий поток ОнЛайн курса «Создание роботов в TSLab без программирования», информацию по которому можно посмотреть тут->
Также можете научиться программировать роботов на нашем Видео курсе «Роботы для QUIK на языке Lua»
Если же вам не хочется тратить время на обучение, то вы просто можете выбрать уже готовые роботы из тех, что представлены у нас ДЛЯ TSLab, ДЛЯ QUIK, ДЛЯ MT5, ДЛЯ КРИПТОВАЛЮТЫ!
Также можете посмотреть совершенно бесплатные наработки для МТ4, Квика, МТ5. Данный раздел также постоянно пополняется.
Не откладывайте свой шанс заработать на бирже уже сегодня!