Это поможет если захочется использовать индикатор и его точку 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];
}
}
 Изображения (1057)
 Изображения (1057) Архивы (82)
 Архивы (82) Текстовые файлы (9)
 Текстовые файлы (9) Документы (7)
 Документы (7) Скрипты Альфа-Директ 4 (30)
 Скрипты Альфа-Директ 4 (30)