Экспоненциальная скользящая средняя (EMA – Exponential Moving Average) усредняет все цены с учетом веса Wi=exp(-i/P)
Экспоненциальная скользящая средняя (EMA) это разновидность фильтров с бесконечной импульсной характеристикой (БИХ), весовая функция которых является реакцией линейного дифференциального уравнения первого порядка на единичный импульс.
Параметры
Period - Период расчета индикатора для таймфрейма H1.
Особенности
- Имеется запаздывание до 1 часа для таймфрейма ниже H1, т.к. индикатор не перерисовывается на текущем баре. Рисует значения EMA для последнего, полностью рассчитанного, часа - EMA предыдущего часа.
- Работает на всех таймфреймах ниже D (не включая)
Код: Выделить всё
function Initialize()
{
IndicatorName = "EMAH";
PriceStudy = true;
AddInput("Input", Inputs.Price);
AddSeries("EMAH", DrawAs.Line, Color.Green);
AddParameter("Period", 20);
AddGlobalVariable("E0", Types.Double);
AddGlobalVariable("E1", Types.Double);
AddGlobalVariable("K", Types.Double, 0.0);
}
function Evaluate()
{
// evge 22.04.2020 https://alfadirect4.ru
if (CurrentIndex <= 0)
{
E1 = Input[0];
K = 2.0 / (Period + 1.0);
}
else
if (BarTime(0).Hours != BarTime(1).Hours)
{
E0 = (1.0 - K) * E1 + K * Input[1];
E1 = E0;
}
EMAH[0] = E0;
}
Скачать индикатор