Страница 1 из 1

DEMA (Double Exponential Moving Average) – двойная экспоненциальная скользящая средняя

Добавлено: 07 фев 2016, 10:04
evge
Двойная экспоненциальная скользящая средняя – индикатор, в котором осуществлена попытка минимизировать запаздывание при усреднении цен. Для этого считается ошибка (т.е. разница между входным рядом и EMA)

Полученное значение еще раз сглаживается и добавляется к EMA.

Пример:

DEMA-00.png
DEMA-00.png (26.02 КБ) 160873 просмотра


Исходный текст:

Код: Выделить всё

function Initialize()
{
 IndicatorName = "DEMA";                     
 AddInput("Input", Inputs.Price);     
 AddSeries("DEMA", DrawAs.Line, Color.Green);   
 PriceStudy = true;                           
 AddParameter("Period", 20, 1);          
 AddGlobalVariable("K", Types.Double, 0.0);
 AddGlobalVariable("EMAi", Types.Double, 0.0);
 AddGlobalVariable("EMAe", Types.Double, 0.0);
}

function Evaluate()
{
// AlfaDirect. 2015. OX
// EMA - экспоненциальная скользящая средняя.
if (CurrentIndex > 0)
{
   EMAi = (1.0 - K)*EMAi + K*Input[0];
   EMAe = (1.0 - K)*EMAe + K*EMAi;
  DEMA = 2.0*EMAi - EMAe;
}
else
{
   EMAi = Input[0];
   EMAe = Input[0];
    DEMA = Input[0];
    K = 2.0/(Period + 1.0);
}
}