В данной статье представлены примеры реализации алгоритмов и индикаторов с помощью визуального редактора скриптов TSLab.
Для того, чтобы запустить пример Вам необходимо:
Скачать пример скрипта на Ваш компьютер.
Запустить программу TSLab.
Выбрать пункт меню Лаб - Скрипты
В открывшемся окне Скрипты
В правой части окна Скрипты нажать на кнопку Загрузить из файла. Перейти в директорию со скачанным скриптом. Выбрать необходимый скрипт и нажать на кнопку Открыть.
В списке доступных скриптов выбрать загруженный скрипт и дважды кликнуть на нем мышкой.
Примеры использования редактора блочного программирования, для создания простых торговых систем, описанных в википедии
В скрипте рассмотрен пример применения логических констант. Вход в позиции осуществляется кнопками на Контрольной панели. Выход из позиций блоками трейлинг и стоп-лосс или по кнопкам drop. Рекомендуемый пересчет для скрипта Пересчеты по событиям или пересчет Сделка.
Скачать пример
Вход в позицию Long при пересечении снизу вверх EMA с коротким периодом расчета (ema2) и EMA с длинным периодом расчета (ema1).
Выставляется стоп-лосс на закрытие позиции. Cтоп-лосс рассчитывается с применением Блока Обновляемое значение
Скачать пример
StopPrice | Блок Формула
Параметры
Profit - MFE% максимальное отклонение цены от цены входа в лучшую сторону.
stopValue - Константа
entry - Цена входа
Полезные ссылки
Вход в позицию Long, если DI+ больше DI- и значение ADX на последнем закрытом баре больше, чем значение ADX на предыдущем баре. adx[i-1] < adx[i]
Закрытие позиции, если DI+ меньше DI- и adx[i-1] > adx[i]
Полезные ссылки
Скачать пример
Краткое описание логики работы
«Челюсти Аллигатора» (Jaw) - Первая скользящая средняя с самым длинным периодом;
«Зубы Аллигатора» (Teeth) - Вторая скользящая средняя с периодом меньше, чем Jaw;
«Губы Аллигатора» (Llips) - самая быстрая с периодом, меньше, чем teeth.
Вход в позицию Long, когда Медианная цена (mp) > lips & lips > teeth & teeth > jaw Вход в позицию Short, когда mp < lips & lips < teeth & teeth < jaw
Выход из позиций осуществляется по TrailStop.
Скачать пример
Полезные ссылки
Система построена на пробой уровней максимальных и минимальных цен за период времени.
Вход в позицию Long - при пробитии текущей ценой вверх верхней линии канала Максимум За;
Вход в позицию Short - при пробитии текущей ценой вниз нижней границы канала;
Выход из позиций - осуществляется по каналу Дончиан, с другими периодами.
Скачать пример
Полезные ссылки
Данный пример решает проблему выбора таймфрейма (интервала баров).
В источнике интервал 1 минута. В сжатии может быть любой интервал больше и кратный минуте.
Скачать пример
Полезные ссылки
Пример построен на индикаторе MACD, с применением фильтрации сигналов входа в позицию.
На входе в позицию встроен фильтр. Вход разрешен, если MACD больше Константы фильтра или меньше "-" Константы.
Вход в позицию осуществляется при пересечении сигнальной линии индикатора MACD.
Скачать пример
Полезные ссылки
Chande Momentum Oscillator (CMO) — модификация индикатора Momentum.
Вход в позицию Long, при пересечении CMO нуля снизу вверх.
Вход в позицию Short, при пересечении CMO нуля сверху вниз.
Для выхода из позиций применен трейлинг стоп. Предполагает наличие двух разнонаправленных позиций.
Скачать пример
Полезные ссылки
Один инструмент минус второй инструмент.
Данный подход применяется для арбитражных стратегий. В данном случае пространственный арбитраж.
Скачать пример
Полезные ссылки
В данном примере перед расчетом индикатора Стохастик не применяются какие-либо сглаживания цены.
Применено сглаживание SMA индикатора Stoch. Для входа в позицию используются Константы.
Вход в позицию long при пересечении SMA нижней константы снизу вверх.
Закрытие позиции при пересечении SMA верхней константы сверху вниз.
Скачать пример
Полезные ссылки
Индикатор очень похож на Standart Deviation (в программе индикатор STDev), однако имеет более простой расчет.
Считается как среднее значение отклонения цены от своей средней
Параметром индикатора можно управлять. В качестве примера Периода используется Константа.
Скачать пример
Полезные ссылки
Скрипт: SMA_calc Cycle with calc Period.tscript Скачайте файл. В программе: Лаб - Управление скриптами - Загрузить из файла.
В скрипте простая средняя, которую можно было посчитать и более простым способом (с помощью блока СуммаЗа) или которую можно было просто взять из инструментария в готовом виде.
Интерес, однако, представляет работа с циклом и возможность управления переменным периодом выборки значений.
Чтение формулы: Если в скрипт загружено достаточно баров для расчета, то берем все значения(список) баров от последнего закрытого до указанного cycle
Если недостаточно (т.е. количество баров меньше, чем Период) , тогда берем значение закрытия первого бара загруженной истории.
Далее, суммируем список значений в блоке CycleSum и выводим последнее значение на бар с помощью результата цикла CycleDoublResul
У кубика Цикл есть Максимально возможное значение и установлено 2000000000 в данных расчетах это значение не используется, однако, является ограничителем.
У кубика Цикл есть входящее значение, которое меньше максимального значения.
В цикл на баре приходит значение 10, количества требуемых итераций
Формула запрашивает цикл его текущее значение
Формируется список из 10 последних значений Закрытия бара, физически это формирование создает блок Результат цикла.
Суммируется в отдельном блоке CycleSum
Выводится в формулу SMA, для нахождения текущего среднего значения. Сумма списка разделить на значение Периода(в нашем случае, требуемое количество итераций на каждом баре), которое пришло в цикл.
Расчет периода в данном примере вероятно не представляет ценности, так как это просто МаксимумЗа минус МинимумЗа. Здесь следует заметить, что на вход цикла нужно подавать только целые числа, именно по-этому в блоке формула Period применяется Math.Round. Посмотрите весь возможный синтаксис блоков Формула и Логическая формула