Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1233

Добавлено: evge » 22 апр 2020, 20:32

Тема: EMAH (Exponential Moving Average Hour) – экспоненциальная скользящая средняя от часа

Текст сообщения:

Индикатор EMAH - это индикатор EMA от часового таймфрейма. Предназначен для работы на нижестоящих таймфреймах до H1.

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

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

Параметры

Period - Период расчета индикатора для таймфрейма H1.

Особенности

  1. Имеется запаздывание до 1 часа для таймфрейма ниже H1, т.к. индикатор не перерисовывается на текущем баре. Рисует значения EMA для последнего, полностью рассчитанного, часа - EMA предыдущего часа.
  2. Работает на всех таймфреймах ниже D (не включая)
Пример работы
EMAH.zip
(30.58 КБ) 1036 скачиваний


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

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;
}


Скачать индикатор

EMAH-01.png
EMAH-01.png (32.96 КБ) 10471 просмотр