View Sidebar
Яндекс.Метрика
 
Визуализация сделок реальных торгов в TSLab

Визуализация сделок реальных торгов в TSLab

30.06.2016 14:190 comments

Сделки на истории в Лаборатории TSLab и в реальной торговли через Агента могут отличаться. Проскальзывания, гэпы, ликвидность – всё это отдаляет реальные торги от лабораторных прогонов. Справедливо это не только для TSLab, но сегодняшний скрипт будет только для него.

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

Код скрипта описывать не буду, просто выдам его на блюдечке вместе с инструкцией по применению.

Реальные сделки TSLab

Назначение скрипта-визуализатора сделок

Расскажу немного о назначении скрипта. На картинке выше - реальные сделки некого скрипта из под Агента. На картинке ниже - этот же скрипт, запущенный в Лаборатории.

Сделки в лаборатории TSLab

Видно, что реальная сделка (вторая) сильно отличается от «желаемой» на истории.

Тут вроде все понятно. Хотим посмотреть отличия реальных сделок от виртуальных, просто открываем Агент и Лабораторию и, смотрим отличия.

А что делать, если требуется посмотреть отличия за давний период, и в Агенте торгуется уже совсем другой фьючерс с совсем другой историей сделок, и единственное что осталось, это предусмотрительно сохраненный файл trades.csv со сделками?

Экспорт сделок из TSLab

Чтобы сохранить такой файл, нужно перейти в Агент, перейти в нём на вкладку Сделки, через главное меню вызвать команду Инструменты > Экспорт в Excel.

Если подсунуть файл trades.csv в предлагаемый вам к использованию скрип-визуализатор, то все сделки будут считаны из него и восстановлены на истории. Результат на картинке.

recovered-trades-1m

Исходный таймфрейм торговли был минутный, но в скрипте-визуализаторе можно установить таймфрейм и побольше. Ниже восстановленные сделки на 5-ти минутном таймфрейме.

recovered-trades-5m
Ну а тут на 15-ти минутном:

recovered-trades-15m

Инструкция по использованию скрипта-визуализатора

Надо собрать примерно такой скрип из кубиков:

Подклюение внешнего скрипта TSLab

В кубик Внешний скрипт надо добавить файл скрипта History.cs. Файл можно скачать в конце статьи.

В Источнике надо задать инструмент и таймфрейм. Файл со сделками лучше поместить в корень диска C под именем trades.csv или же поменять путь к файлу в History.cs текстовым редактором. Путь к файлу указывается в константе fileName.

Ошибки, которые может выдать скрипт в окно сообщении и лог:

  1. Не могу получить доступ к файлу – файл trades.csv отсутствует или открыт в другой программе
  2. С тиками не работаю. Увеличь таймфрейм – выбирайте адекватный таймфрейм
  3. Нет цены на баре для открытия позиции – возможно не те котировки инструмента
  4. Нет цены на баре для закрытия позиции - возможно не те котировки инструмента
  5. Не могу закрыть позицию, т.к. она НЕ была открыта – мала история котировок (открытие должно было случиться на тех свечах, которых нет) или слишком большой таймфрейм (сделки открытия склеиваются на свече)

Пятая ошибка может возникать, если частота открытия сделок не соответствует выбранному таймфрейму. Например, если открытие нескольких сделок (с одним наименованием сигналов) попадает на одну свечу, то TSLab откроет только одну из них. Соответственно и закрыть не открытые сделки не получится. В этом случае, надо перейти на таймфрейм поменьше.

Скрипт-визуализатор можно скачать тут.

В коде скрипта использован метод выравнивания времени по свече, который я описывал в статье «Округление времени DateTime и DateStamp в C# или выравнивание по свече или интервалу».

Наверняка код скрипта можно улучшить, оформить в виде класса и т.д. и т.п. Это первая рабочая версия, возможно в бушующем это сделаю.

Пожелания и отзывы принимаю в комментариях…

Добавить комментарий


css.php