Инструкция по работе с терминалом TSLab версии 2.0

1.4.2. Лаборатория

Вы можете создавать скрипты и индикаторы в Лаборатории. Скрипты содержат в себе избранную Вами торговую стратегию. На основе скриптов создаются торгующие агенты.

Свойства Лаборатории

Свойства Лаборатории можно открыть с помощью контекстного меню или с помощью кнопки «Свойства», расположенной на панели заголовков окон листа.

Внимание! Выбранные Вами настройки таких свойств как «Цвет фона», «Настройки шрифта», «Цвет сетки», «Цвет шрифта», «Фон линеек», «Цвет шрифта на линейках» могут быть возвращены к дефолтным с помощью кнопки «Выбрать настройки по умолчанию», находящейся справа от выпадающего меню данного свойства. Применение пользовательских настроек отображается с помощью красного индикатора на кнопке «Выбрать настройки по умолчанию».

Скрипт

Свойство Описание
Исполнение агента Отключить генерацию позиций Отключает создание позиций по сделкам, т.е. входы и выходы.
Имитация портфеля Начальный депозит Размер начального депозита для модельных расчетов показателей торговой стратегии.
Вид имитации Способ расчетов финансовых результатов при моделировании:

По умолчанию — используется настройка, определяемая в блоках открытия позиции. Количество лотов/контрактов будет равно параметру «Количество» в блоках открытия позиции.

Рассчитывать из суммы — объемы позиций рассчитываются из депозита и цены за один контракт/лот инструмента и и не умножается на параметр «Количество» в блоках открытия позиции. Реинвестирование прибыли не применяется.

Рассчитывать изменения — то же что и модель два, но с реинвестированием прибыли и пересчетом размера депозита после закрытия каждой сделки.

Режим торгов При моделировании определяется возможность совершения только длинных, только коротких или и длинных и коротких сделок.
Режимы обновления Интервал пересчета Управление режимом пересчета скрипта и генерации команд в режиме реальной торговли. Режимы пересчета:
— Интервал — пересчет происходит только по закрытию бара. Этот режим расчета максимально приближен к расчетам в лаборатории. Вход в позицию и выход из нее на одном баре невозможен. Условные заявки (Стоп приказ) будут выставлены только после закрытия свечи на которой была открыта позиция.
— Сделка — пересчет происходит после каждого тика (любой рыночной сделки по инструменту). В расчетах учитываются незакрытые бары. Вход в позицию и выход из нее возможен на одном баре, что может давать результаты существенно отличающиеся от моделирования в лаборатории. Применение данного режима рекомендуется только для создания арбитражных алгоритмов.
— Пок/прод — пересчет происходит после каждого изменения — лучшей покупки либо лучшей продажи. В расчетах учитываются незакрытые бары. Вход в позицию и выход из нее возможен на одном баре, что может давать результаты существенно отличающиеся от моделирования в лаборатории. Применение данного режима рекомендуется для создания арбитражных алгоритмов.
— Пок/прод без объема — аналогичен предыдущему, но не учитывает изменения объема.
— Интервал + первая сделка. Пересчет скрипта вызывается по приходу информации о первой сделке интервала. Информация о первой сделке доступна при расчетах.
Обновлять в реал. времени Включение обновления и пересчета в реальном времени в режиме лаборатории. Данный режим используется для имитации работы скрипта с реальными данными.
Пересчет по каждому источнику Если стратегия использует несколько источников данных, при включении данной опции пересчет будет происходит при открытии новой свечи для каждого источника. Данная опция не влияет на режимы Сделка и Пок/прод.
Исторические данные Дата от Дата начала временного интервала истории котировок используемого в расчетах.
Исп. дату от Флаг использования начальной даты. Если не включено, используется максимально доступное количество данных, определяемое источником.
Дата к Дата окончания временного интервала истории котировок используемого в расчетах.
Исп. дату к Флаг использования конечной даты. Если не включено, используется максимально доступное количество данных, определяемое источником.
Макс. дней Позволяет ограничить количество дней запрашиваемых исторических данных (от «Дата от»). Значение «0» — количество без ограничения.

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

Начало сессии Устанавливает временные интервалы для сессии.
Конец сессии Устанавливает временные интервалы для сессии.
Макс. баров Максимально количество баров используемое для расчета. Данная настройка позволяет ограничить количество баров при работе скрипта в реальном времени для исключения избыточных расчетов.
Интервальный период Величина интервала обновления графика:

— Дни (временной интервал между соседними свечами составляет один день);
— Минуты (временной интервал между соседними свечами составляет одну минуту);
— Секунды (временной интервал между соседними свечами составляет одну секунду);
— Тики (периодом обновления графика являются колебания цены ценной бумаги).
— Объем;
— Шаг цены.
Внимание! Секунды и Тики строятся на основе информации о сделках.

Интервал Значение базового интервала (количество интервальных периодов).
Параметры вычислений Метод декомпрессии Метод декомпрессии сжатых данных в режиме расчета/оптимизации на исторических данных.

Данный параметр определяет временной сдвиг данных рассчитанных для компрессированных временных интервалов при декомпрессии к оригинальному (базовому) временному интервалу.

Допустим, базовый интервал расчета 1 минута. Для расчета индикаторов использована компрессия в интервал 1 час.

бар 12.00 часовой = 12.00 — 12.59 минуты

при расжатии индикаторов:

1-й метод: значение 12.00 начинает действовать (станет доступно для расчетов внутри скрипта) с минутного бара 12.59

2-й метод: значение 12.00 начинает действовать (станет доступно для расчетов внутри скрипта) с минутного бара 12.00

3-й метод: значение 12.00 начинает действовать (станет доступно для расчетов внутри скрипта) с минутного бара 13.00

Внимание! 2-й метод не рекомендуется применять для тестирования стратегий из-за возможного «заглядывания в будущее», т.к. значение компрессированного индикатора доступно до окончания часа!

2-й метод применим исключительно для визуального и графического анализа.

Для оптимизации торговых стратегий наиболее оптимален 1-й метод.

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

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

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

Параметры графика Отступ Отступ правого края графика от шкалы в пикселях.
Скрывать шкалы Включает или отключает отображение шкал на графике.
Прозрачность легенды, % Прозрачность легенды в %.
Временная шкала Выбор типа временной шкалы:
— простая временная шкала. Каждая ячейка сетки заполняется равным количеством свечей, на временной шкале отображается время, соответствующее последней свече ячейки;
— адаптивная временная шкала. Размер ячейки сетки подстраивается под фактическое количество свечей выбранной единицы измерения времени. Использование адаптивной временной шкалы возможно, если в качестве Интервального периода используются Дни, Минуты или Секунды. в случае использования Объема или Шага цены применяется простая временная шкала.
Цвет шрифта легенды Выбор цвета шрифта легенды.
Цвет фона Цвет фона.
Цвет шрифта Цвет шрифта.
Цвет сетки Цвет сетки.
Фон линеек Фон линеек.
Цвет шрифта на линейках Цвет шрифта на линейках.

Источники

Параметры поиска инструмента Описание
Поставщик Выбор поставщика данных.
Тип инструмента Выбор типа/типов инструмента.
Рынок Выбор рынка.
Поиск инструмента — точное;
— неточное.
Введите маску Ввод маски поиска.
Искать Осуществляет поиск инструмента согласно заданным параметрам.
Установить выбранный Применяет выбранный инструмент.
Источник Выбранные инструменты.
Выбор временного интервала Установка временного интервала для выбранного инструмента.
Дополнительные параметры Не показывать страйки Исключает страйки из списка инструментов.
Не показывать истекшие Исключает истекшие из списка инструментов.
Экспирация Выбор типа экспирации:
— после;
— до;
— точно.
Выбор даты экспирации Осуществление выбора даты экспирации
Применить/Отмена Применяет или отменяет использование выбранных инструментов.

Параметры

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

Внешний вид

Свойство Описание
Настройки шрифта Тип и размер шрифта.
Цвет выдел. соединителя Выбор цвета активного соединителя.
Показывать соединители Показывает соединители.
График Настройки шрифта Тип и размер шрифта.
Виден ли скролл Активирует видимость скролла.
Лог Количество строк в журнале сообщений Выбор количества строк в «Журнале сообщений».

Режим агента

Свойство Описание
Выставление заявок «Плохие» заявки по рынку Условные заявки с ценой хуже рынка выставлять как рыночные.

В случае появления сообщения:

«Условная заявка по сигналу ‘{0}’ может не сработать, т.к. текущая цена на рынке {1} (Цена условия {2})!» заявка выставляется как рыночная, а не как условная.

По рынку с фикс. ценой Заявка по рынку создается не по текущей цене, а по цене открытия бара (как при расчетах) +/- проскальзывание.

Блок «Цена входа (расчетная)» и опция блока «Трейлстоп» и «ТрейлстопАбс» «Использовать расчетную цену» не совместим с «По рынку с фикс.ценой».

Take-profit без проскальзывания Заявка тейк-профит создается не условной, а лимитной (но без проскальзывания).
Открытие лимитными заявками В случае когда данный флаг установлен, для открытия позиции программа генерирует лимитные заявки без проскальзывания.
Проскальзывание в % Размер проскальзывания в процентах, которое будет передаваться в заявку генерируемую агентом.

Внимание! Проскальзывание необходимо учитывать при оптимизации (в лабораторном режиме).
Достаточно применить блок «Абсолютная комиссия» или «Относительная комиссия» и в нем поставить величину проскальзывания.

Проскальзывание в шагах Размер проскальзывания в шагах цены инструмента, которое будет передаваться в заявку генерируемую агентом. Заявка типа «По рынку» не учитывает настройки проскальзывания и выполняется по первой предложенной цене. Настройки полей проскальзывания суммируются!

Внимание! Проскальзывание необходимо учитывать при оптимизации (в лабораторном режиме).
Достаточно применить блок «Абсолютная комиссия» или «Относительная комиссия» и в нем поставить величину проскальзывания.

Исполнение агента Виртуальная позиция макс. свечей В течение скольких свечей будет сохраняться виртуальная позиция.
Действие автозакрытия (баров) Количество баров, в течение которого пропущенный выход будет закрыт автоматически по рынку, если выбран «Исполнять выходы сразу». Если установленного количества баров не хватило, будет выдано сообщение о пропущенном выходе и необходимости ручного вмешательства.
Действие автооткрытия (баров) Количество баров, в течение которого пропущенный вход будет выполнен автоматически по рынку, если выбран «Исполнять входы сразу». Если установленного количества баров не хватило, будет выдано сообщение о пропущенном входе и необходимости ручного вмешательства.

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

Ждать исполнения выхода Количество свечей, в течение которых программа будет ждать исполнения лимитной заявки выхода из позиции. Затем заявка будет отменена.
Ждать исполнения входа Количество свечей, в течение которых программа будет ждать исполнения лимитной заявки входа в позицию. Затем заявка будет отменена.
Игнорировать позиции вне истории Не включает в пересчет позиции, не входящие в выбранную Пользователем историю.
Имит. очередность позиций Имитирует очередность появления исполненных позиций в расчете агента. Иначе агент видит только последние активные позиции на любом баре.
Исполнять входы сразу Определяет возможность автоматического входа в позицию без ручного подтверждения. Команда входа будет выполнена только если сигнал входа был сформирован на последнем закрытом баре.
Исполнять выходы сразу Определяет возможность автоматического выхода из позицию без ручного подтверждения. Команда выхода будет выполнена двумя способами в зависимости от настройки автозакрытия. В случае если параметр автозакрытия равен нулю, команда будет выполнена с формированием цены по последнему закрытому бару, в противном случае программа будет выполняться по рынку в соответствии с настройками автозакрытия.
Не открывать, если есть пропуск выхода Не открывает позицию, если был зафиксирован пропуск выхода.
Не уведом. пересчет Исключает создание сообщений о пересчете скрипта в режиме агента.
Увед. о проп. входах Сообщает о пропущенных входах.