В данном разделе приведен пример написания собственного индикатора при помощи TSLab API. Описание процесса отладки индикатора. Пользовательские индикаторы должны быть скопированы в папку «Handlers», которая находится в той папке, куда установлена программа. Если папки «Handlers» нет, то она должна быть создана.
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.DataSource;
using TSLab.Script.Helpers;
namespace test
{
public class MyStochK : IBar2DoubleHandler, IContextUses
{
[HandlerParameter]
public int Period { get; set; }
public IList Execute(ISecurity source)
{
var high = Context.GetData(«Highest», new[] { Period.ToString() },
() => Series.Highest(source.HighPrices, Period));
var low = Context.GetData(«Lowest», new[] { Period.ToString() },
() => Series.Lowest(source.LowPrices, Period));
var closes = source.ClosePrices;
IList list = new List(closes.Count);
for (int i = 0; i < closes.Count; i++)
{
var stochK = 100 * (closes[i] - low[i]) / (high[i] - low[i]);
list.Add(stochK);
}
return list;
}
public IContext Context { get; set; }
}
}
|