Примеры реализации индикаторов в TSLab
В данной статье представлены примеры реализации алгоритмов и индикаторов с помощью визуального редактора скриптов TSLab.
Для того чтобы запустить пример, Вам необходимо:
- 1.Скачать пример скрипта на Ваш компьютер.
- 2.Запустить программу TSLab.
- 3.Выбрать пункт меню Лаб - Скрипты
- 4.В открывшемся окне Скрипты
- 5.В правой части окна Скрипты нажать на кнопку Загрузить из файла. Перейти в директорию со скачанным скриптом. Выбрать необходимый скрипт и нажать на кнопку Открыть.
- 6.В списке доступных скриптов выбрать загруженный скрипт и дважды кликнуть на нем мышкой.
Примеры использования редактора блочного программирования, для создания индикаторов
Экспоненциальное скользящее среднее (англ.EMA) — разновидность взвешенной скользящей средней, веса которой убывают экспоненциально и никогда не равны нулю.
При необходимости, пользователь может использовать вместо блока Константа блок Формула или другой индикатор для расчета Периода индикатора. Таким образом это пример создания индикаторов с управляемым периодом.
Скачать пример скрипта
Использованные блоки
- Блок Константа
Формула для расчёта EMA в примере:
А | Блок "Формула"
(2/(period+1))
ema | Блок "Формула"
A * close + (1-A) * ema[i-1]
Параметры
- close - возвращает значение закрытия бара в скрипте. Блок Торгуемый инструмент.
- i - последний закрытый бар
- ema - возвращает результат расчёта из блока Формула
- period - возвращает значение блока Константа
Полезные ссылки
Индикатор Моментум вычисляется как разность между ценой закрытия бара и ценой n периодов назад. Моментум численно равен прибыли, к оторая могла быть получена при вложении в единицу данного инструмента за рассматриваемый период.
Скачать пример
Использованные блоки
- Блок Константа
Формула для расчёта индикатора Моментум в примере:
Momentum | Блок "Формула"
close - close[i-period]
Параметры
- close - возвращает значение закрытия бара в скрипте. Блок Торгуемый инструмент.
- i - последний закрытый бар
- period - возвращает значение блока Константа
Полезные ссылки
Нормированный RoC численно равен доходности от вложений в единицу данного инструмента за рассматриваемый период.
Скачать пример
Использованные блоки
- Блок Константа
Формула для расчёта индикатора Нормированный RoC в примере:
RoCnorm | Блок "Формула"
100*((close - close[i-period]) / close[i-period]
Параметры
- close - возвращает значение закрытия бара в скрипте. Блок Торгуемый инструмент.
- i - последний закрытый бар
- period - возвращает значение блока Константа
Полезные ссылки
Скорость изменения показывает процентное изменение цены от одного периода к другому и рассчитывается, как сравнение текущей цены с ценой прошлого периода, отстоящего от текущего на n периодов.
RoC численно равен росту стоимости инструмента за рассматриваемый период.
Скачать пример
Использованные блоки
- Блок Константа
Формула для расчёта индикатора Обычный ROC в примере:
RoCnorm | Блок "Формула"
((close / close[i-period])*100)-100
Параметры
- close - возвращает значение закрытия бара в скрипте. Блок Торгуемый инструмент.
- i - п оследний закрытый бар
- period - возвращает значение блока Константа
Полезные ссылки
Индекс товарного канала рассчитывается, как приведённое отношение текущего отклонения типичной цены от её простого скользящего среднего к среднему абсолютному отклонению этой величины
Пример скрипта CCI содержит в себе два примера:
Скачать пример
Использованные блоки
- Блок Константа
- Блок Сумма з а
- Блок Минимум
- Блок Максимум
- Блок Закрытие
- Блок Один ко многим связанные параметры
Формула для расчёта индикатора Индекс товарного канала в примере:
CCI | Блок "Формула"
(1/0.015)*((TypicalPrice-SMA)/MAD)
TypicalPrice | Блок "Формула"
(Close+Low+High)/3
MAD | Блок "Формула"
SumIn(Math.Abs(TypicalPrice - SMA))/N
Параметры
- High - Максимальная цена бара.
- Low - Минимальная цена бара.
- Close - Цена закрытия.
- SumIn - Рассчитывается путем сложения входящих значений.
- Math.Abs - Метод Math.abs() возвращает абсолютное значение числа.
Полезные ссылки
Индекс товарного канала рассчитывается, как приведённое отношение текущего отклонения типичной цены от её простого скользящего среднего к среднему абсолютному отклонению этой величины
Отличие от стандартного индикатора: вместо Typical Price используется EMA, а при расчете MAD встроенный в программу TSLab индикатор AMA.
Скачать пример
Использованные блоки
- Блок Константа
- Блок Сумма за
- Блок Индикатор AMA
- Блок Инди катор EMA
- Блок Закрытие
- Блок Один ко многимсвязанные параметры
Формула для расчёта индикатора Индекс товарного канала в примере:
Formula | Блок "Формула"
Math.Abs(TypicalPrice - AMA)
CCI_ | Блок "Формула"
(1/0.015)*((TypicalPrice-AMA)/(MAD+0.000000000000001))
Параметры
- TypicalPrice - Индикатор EMA.
- AMA - Индикатор AMA.
- MAD - Индикатор AMA.
- Math.Abs - Метод Math.abs() возвращает абсолютное значение числа.
Полезные ссылки
В приведенном индикаторе есть пример выбора типа скользящего средней для расчета RSI. EMA, SMA или AMA. Выбор осуществляется с помощью Константы.
Скачать пример
Использованные блоки
- Блок Константа
- Блок Связанный параметр
- Блок EMA
- Блок SMA
- Блок AMA
Формула для расчёта индикатора Индекс относительной силы в примере:
U | Блок "Формула"
Close>Close[i-1] ? Close-Close[i-1] : 0
D | Блок Формула
Close[i-1]>Close ? Close[i-1]-Close : 0
RS | Блок Формула
СhoiceMovAver==2 ? amaU/(amaD+ 0.00000000000000000000000001) :
СhoiceMovAver==1 ? smaU/(smaD+ 0.00000000000000000000000001) :
Period/(emaD+ 0.00000000000000000000000001)
RSI | Блок Формула
100-(100/(1+RS))
Параметры
- Close - возвращает значение закрытия бара в скрипте. Блок Торгуемый инструмент;
- i - последний закрытый бар;
- СhoiceMovAver - возвращает значение константы;
- Period - Индикатор EMA.
- smaU / smaD - Индикатор SMA.
- amaU / amaD - Индикатор AMA.
- emaD - Индикатор EMA.
Полезные ссылки
Для расчета относительной силы выбираются все свечи выбранного промежутка времени, которые показали закрытие выше, чем предшествующая свеча (U) и определяется среднее значение прироста с помощью EMA.
Аналогичная операция производится для свечей, показавших закрытие ниже предшествующей (D).
Отношение этих двух величин дает значение относительной силы (RS).
Скачать пример
Использованные блоки
- Блок Константа
- Блок Связанный параметр
- Блок EMA
Формула для расчёта индикатора Индекс относительной силы в примере:
U | Блок "Формула"
Close>Close[i-1] ? Close-Close[i-1] : 0
D | Блок "Формула"
Close[i-1]>Close ? Close[i-1]-Close : 0
RS | Блок "Формула"
emaU/emaD
RSI | Блок "Формула"
100-(100/(1+RS))
Параметры
- Close - возвращает значение закрытия бара в скрипте. Блок Торгуемый инструмент;
- i - последний закрытый бар;
- emaU / emaD - Индикатор EMA.
Полезные ссылки
Индикатор Ишимоку — технический индикатор, разработанный в 1930-х годах японским аналитиком Гоичи Хосода, печатавшимся под псевдонимом Санджин Ишимоку, для прогнозирования движения фондового индекса Японии Nikkei. Индикатор Ишимоку сочетает в себе несколько подходов к анализу рынка и предназначен для выявления трендов, линий поддержки и сопротивления и генерации сигналов к покупке/продаже.
Скачать пример
Использованные блоки
- Блок Константа
- Блок Связанный параметр
- Блок Минимум за
- Блок Максимум за
- Блок Контрольная панель
Формула для расчёта индикатора Ишимоку в примере:
Tenkan | Блок "Формула"
(maxfast+minfast)/2
SenkouA | Блок Формула
(Tenkan+Kijun)/2
Kijun | Блок Формула
(maxmed+minmed)/2
SenkouB | Блок Формула
(maxslow+minslow)/2
ChikouT | Блок Формула
close[i-ChikT]
Buy | Блок Формула
Tenkan > Kijun && !KumoFlat
Sell | Блок Формула
Tenkan < Kijun && !KumoFlat
KumoFlat | Блок Формула
SenkouB > SenkouA && close<SenkouB && close>SenkouA || SenkouB < SenkouA && close>SenkouB && close<SenkouA
Параметры
- Close - возвращает значение закрытия бара в скрипт е. Блок Торгуемый инструмент;
- i - последний закрытый бар;
- Tenkan — короткая линия тренда, значения которой равны половине суммы самой высокой и низкой цены за короткий промежуток времени;
- Kijun — среднее между максимум и минимум за средний промежуток времени;
- Chikou — сдвинутое назад на средний промежуток времени значение цены;
- Senkou A — среднее между Tenkan и Kijun, сдвинутое вперёд на средний временной промежуток;
- Senkou B — среднее между максимумом и минимум за длинный промежуток времени, сдвинутое вперёд на средний промежуток времени;
- Kumo — промежуток между Senkou A и Senkou B, показывающий волатильность рынка.
Полезные ссылки