Скользящие средние > EMA (Exponential Moving Average) – экспоненциальная скользящая средняя

Скользящие средние (MA – Moving Average) – семейство индикаторов, которые показывают текущее направление движение цены и обладают общими свойствами и правилами работы с ними.
Аватара пользователя
evge
Администратор
Сообщения: 1635
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 62 раза
Поблагодарили: 290 раз
Контактная информация:

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

Непрочитанное сообщение evge » 06 фев 2016, 15:30

Экспоненциальная скользящая средняя (EMA – Exponential Moving Average) усредняет все цены с учетом веса Wi=exp(-i/P)

Экспоненциальная скользящая средняя (EMA) это разновидность фильтров с бесконечной импульсной характеристикой (БИХ), весовая функция которых является реакцией линейного дифференциального уравнения первого порядка на единичный импульс.

Пример:

EMA-00.png
EMA-00.png (26.43 КБ) 4866 просмотров


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

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

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 – является встроенным индикатором, поэтому создавать пользовательский индикатор не имеет смысла.
никогда такого не было и вот опять

Аватара пользователя
evge
Администратор
Сообщения: 1635
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 62 раза
Поблагодарили: 290 раз
Контактная информация:

Re: EMA (Exponential Moving Average) – экспоненциальная скользящая средняя

Непрочитанное сообщение evge » 24 мар 2016, 15:11

Модификация EMA с возможностью задать цвета, тип, размер линии отдельно для возрастающей и понижающейся тенденции

Пример

eEMA-01.png
EMA с заданием типа и цвета линии возрастающей и понижающейся тенденции
eEMA-01.png (38.03 КБ) 4834 просмотра


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

function Initialize()
{
  IndicatorName = "eEMA";                     
  AddInput("Input", Inputs.Price);     
  AddSeries("EMA", DrawAs.Custom, Color.Black);
  AddSeries("Up", DrawAs.Custom, Color.Green);   
  AddSeries("Down", DrawAs.Custom, Color.Red);
  PriceStudy = true;                           
  AddParameter("Period", 20, 1);         
  AddGlobalVariable("K", Types.Double, 0.0);
}

function Evaluate()
{
  // AlfaDirect. 2015. OX
  // EMA - экспоненциальная скользящая средняя.

  // модификация evge 24.03.2016, http://alfadirect4.ru
  if (CurrentIndex > 0)
     EMA = (1.0 - K)*EMA[-1] + K*Input[0];
  else
  {
    EMA = Input[0];
    K = 2.0/(Period + 1.0);
  }

if (EMA[0] < EMA[1])
   { Down[1] = EMA[1]; Down[0] = EMA[0]; Down.DrawLine(); }
   else
   { Up[1] = EMA[1]; Up[0] = EMA[0]; Up.DrawLine(); }

}
никогда такого не было и вот опять


Вернуться в «Скользящие средние»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей