Стандартные индикаторы и обработчики
В TSLab API есть стандартные часто используемые индикаторы. Их можно без труда использовать в своих скрипта. Эти индикаторы находятся в двух местах:
TSLab.Script.Helpers.Series - класс содержит статичные методы расчета индикаторов, например SMA, EMA, Highest, Lowest, ATR, BollingerBands и другие.
TSLab.Script.Handlers - пространство имен, в котором содержатся классы обработчиков, например MACD, ParabolicSAR, TrailStop. Все эти обработчики отображаются в визуальном редакторе TSLab в виде кубиков.
Индикаторы из класса Series
В классе Series содержатся некоторые индикаторы, например SMA, EMA, Highest, Lowest, ATR, BollingerBands и другие.
К примеру, если нужно посчитать индикатор SMA, то просто вызываем метод SMA и передаем первым параметром список цен по которым нужно считать (sec.ClosePrices), а вторым параметром будет период расчета:
var sma = Series.SMA(sec.ClosePrices, 100);Напишем скрипт, который выводит на график индикаторы SMA и EMA от цен закрытия:
using TSLab.Script;
using TSLab.Script.Helpers;
using TSLab.Script.Handlers;
namespace MyLib
{
public class IndicatorsMA : IExternalScript
{
public void Execute(IContext ctx, ISecurity sec)
{
var period = 100;
var sma = Series.SMA(sec.ClosePrices, period); // расчет индикатора SMA
var ema = Series.EMA(sec.ClosePrices, period); // расчет индикатора EMA
// Построение графиков
ctx.First.AddList("SMA", sma, ListStyles.LINE, ScriptColors.Red, LineStyles.SOLID, PaneSides.RIGHT);
ctx.First.AddList("EMA", ema, ListStyles.LINE, ScriptColors.Blue, LineStyles.SOLID, PaneSides.RIGHT);
}
}
}Красная линия - это индикатор SMA, синяя линия - это EMA.

Индикаторы и обработчики из Handlers
TSLab.Script.Handlers - пространство имен, в котором содержатся классы обработчиков, например MACD, ParabolicSAR, TrailStop. Все эти обработчики отображаются в визуальном редакторе TSLab в виде кубиков.
В отличии от индикаторов из Series, нужно сначала создать объект индикатора а потом вызвать метод Execute для расчета значений индикатора.
Исходные коды индикаторов:
https://github.com/TSLab-Dev/Handlers
Для примера напишем скрипт, который считает и выводит на график индикатор ParabolicSAR:

Еще для примера напишем скрипт, который покупает по рынку и выставляем трейл-стоп. Стоп будет считаться готовым классом TrailStop из TSLab.Script.Handlers:
Как видим, происходит сделка и сразу выставляется трейл-стоп (красная линия), которая подтягивается вслед за ценой:

Last updated
Was this helpful?