Это поможет если захочется использовать индикатор и его точку B в стратегиях и роботах
Код: Выделить всё
function Initialize()
{
IndicatorName = "A10WMA";
PriceStudy = true;
AddInput("Input", Inputs.Candle);
AddSeries("A", DrawAs.Line, Color.Red);
AddParameter("Period", 20, 30);
AddSeries("B", DrawAs.Line, Color.Green);
AddGlobalVariable("s", Types.DoubleList);
AddGlobalVariable("count", Types.Int, 0);
}
function Evaluate()
{
if (BarTime().Hours != BarTime(1).Hours) A = Input.Open[0];
if (A != 0)
{
s.Add(A);
count++;
if ( count > Period )
{
s.RemoveAt(0);
var cWMA = 0.0;
var cZn = 0.0;
for (var i = 0; i < Period; i++ )
{
cWMA = cWMA + s[Period - i - 1] * (Period - i);
cZn = cZn + (i + 1);
}
B = cWMA / cZn;
}
else
B = A;
} //A != 0
else
{
if (CurrentIndex > 0) B = B[1];
}
}