Экспоненциальная скользящая средняя (EMA) это разновидность фильтров с бесконечной импульсной характеристикой (БИХ), весовая функция которых является реакцией линейного дифференциального уравнения первого порядка на единичный импульс.
Пример:
Исходный текст:
Код: Выделить всё
function Initialize()
{
IndicatorName = "EMA";
AddInput("Input", Inputs.Price);
AddSeries("EMA", DrawAs.Line, Color.Green);
PriceStudy = true;
AddParameter("Period", 20, 1);
AddGlobalVariable("K", Types.Double, 0.0);
}
function Evaluate()
{
// AlfaDirect. 2015. OX
// EMA - экспоненциальная скользящая средняя.
if (CurrentIndex > 0)
EMA = (1.0 - K)*EMA[-1] + K*Input[0];
else
{
EMA = Input[0];
K = 2.0/(Period + 1.0);
}
}
Индикатор EMA – является встроенным индикатором, поэтому создавать пользовательский индикатор не имеет смысла.