вот индекс силы
using System;
using System.Collections.Generic;
using TSLab.Script;
using TSLab.Script.Handlers;
using TSLab.Script.Helpers;

namespace TSLab.ElderForceIndex
{
public class EFI : IBar2DoubleHandler, IContextUses
{

[HandlerParameter(true, "13", Min = "2", Max = "20", Step = "2")]
public int Period { get; set; }


public IList<double> Execute(ISecurity source)
{
double FI;
double Vol, PrevP;
double Price;

IList<double> list = new List<double>(source.Bars.Count);

Vol = source.Volumes[0];
Price = source.ClosePrices[0];

for (int bar = 0; bar < source.Bars.Count; bar++)
{

#region calculate values
Vol = source.Volumes[bar];
PrevP = Price;
Price = source.ClosePrices[bar];
FI = (1 - PrevP / Price) * Vol;

// значение EFI


#endregion
//--------------------------------------------------------------------------------
// добавление нового значения в последовательность


list.Add(FI);
}
var emafi = Series.EMA(list, Period);

return emafi;

}
public IContext Context { get; set; }
}
}