Стандартные индикаторы и обработчики

В 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?