Пример:
Исходный текст:
Код: Выделить всё
function Initialize()
{
IndicatorName = "SMA";
PriceStudy = true;
AddInput("Input", Inputs.Price);
AddParameter("Period", 100);
AddGlobalVariable("SUM", Types.Double, 0.0);
AddSeries("SMA", DrawAs.Line, Color.Yellow);
}
function Evaluate()
{
// AlfaDirect. 2015. OX
// SMA - Оптимальный вариант по скорости
if ( CurrentIndex < Period )
{
SUM = SUM + Input[0];
SMA = SUM / (CurrentIndex + 1);
}
else
{
SUM = SUM + Input[0] - Input[(int)(-Period)] ;
SMA = SUM/ Period;
}
}
Индикатор SMA – является встроенным индикатором, поэтому создавать пользовательский индикатор не имеет смысла.