Смотри, как бесплатно скачать роботов
Ищи нас в Facebook!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Индикаторы

EMA с раздельным сглаживанием фронта и затухания сигнала. - индикатор для MetaTrader 4

Просмотров:
8924
Рейтинг:
(8)
Опубликован:
2009.10.23 09:25
Обновлен:
2016.11.22 07:33
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Предназначена для фильтрации индикаторов, не учитывающих направление движения цен, например: стандартная девиация (StDev), средний истинный диапазон (ATR), среднее направленное движение (ADX ) и пр. Подобный способ фильтрации может быть полезен при использовании индикаторов в адаптивных системах. Также может быть применен и в симметричных осцилляторах со сменой логики фронт/затухание при прохождении через ось симметрии. Например, можно заменить ей сигнальную Стохастика (%D) - при значениях Стохастика больше 50% сглаживать его по затуханию, ниже - по фронту.

Лучшей иллюстрацией раздельного сглаживания может служить электрическая схема ФНЧ:

Здесь скорость зарядки конденсатора входным сигналом зависит от направления изменения сигнала. Для фронта сигнала зарядка C1 происходит через цепочку VD1 R1, для затухания – разрядка через VD2 R2. Естественно, диоды здесь идеальные, т.е. есть без барьера, и гистерезиса переключения с фронта на затухание нет. (Кстати, интересная мысль – может, ввести гистерезис? Правда, пока не очень понятно, как его использовать.)))

EMA оформлена в виде функции, а не как отдельный индикатор, так что почитатели «раскрашенных заборов» могут не возбуждаться. Хотя, спецом для любителей готовенького есть примеры реализации, о которых чуть позже, а сейчас сама ф-я:

/* 
EMA с различными параметрами сглаживания для фронта и затухания
double C          входной сигнал
double MA1        значения EMA на предыдущем баре
double period     период сглаживания; если >1, то пересчитывается в коэфф.EMA 
int FBA           1 - сглаживание фронта, -1 - сглаживание затухания, 0 - обычная MA - гладим все!
int i             сдвиг
*/
double EMA_FBA(double C, double MA1, double period, int FBA, int i) {
   if(period==1) return(C);
   // коэфф. EMA 
   if(period>1) period=2.0/(1+period); 
   // EMA
   double ma=period*C+(1-period)*MA1; 
   // разделение фронта и затухания
   switch(FBA) {
      case  0: // обычная MA
         if(FBA==0) return(ma); 
      case  1: // сглаживание фронта
         if(C>MA1) return(ma); else return(C); 
      case -1: // сглаживание затухания
         if(C<MA1) return(ma); else return(C); 
     }
  }

Как видите, ничего сложно.

Примеры использования EMA _ FBA в индикаторах.

Стандартная девиация с раздельным сглаживанием по фронту и затуханию (_StDevFBA.mq4).

К стандартным полям добавлены:

FrontPeriod – период EMA для сглаживания фронта ст.девиации;

BackPeriod – период EMA для сглаживания затухания ст.девиации;

Если равны 1 – то отличий от обычного встроенного индикатора нет.

Поскольку для сглаживания используется алгоритм EMA, то период может быть с дробной частью. Также можно задать сразу коэффициент EMA, например, FrontPeriod=0.5, что будет идентично заданию периода 3.

Также добавлен выходной буфер 1 – собственно, сама EMA_FBA по ст.девиации.

Снимки для разных вариантов сглаживания (в имени индикатора периоды сглаживания для фронта и затухания обозначаются Front(period) и Back(period) соответственно).

1. ст.девиация без сглаживания; 2. сглаживание по затуханию с периодом 55; 3. сглаживание по фронту с периодом 55.


1. Ст.девиация обычным сглаживание по EMA(5); 2. сглаживание по фронту с периодом 5, по затуханию 55; 3. сглаживание по фронту с периодом 55, по затуханию 5.



Bollinger Bands с использование раздельного сглаживания ст.девиации (_BandsFBA.mq4).

Здесь также добавлены к стандартным только два поля параметров - периоды сглаживания фронта и затухания.

Выходные буферы те же плюс еще два для сглаженных этой перверцией: 4 - верхняя сглаженная граница полосы; 5 - нижняя.

На снимке приведены полосы Боллинджера с фильтрацией затухания ст.девиации. Фильтрации фронта, как легко заметно, нет. Зеленые линии - стандартные полосы. В подокне для справки выведена ст.девиации с аналогичными параметрами.


самый простой канал. самый простой канал.

каждый когдато в жизни искал именно это Custom Moving Average.mq4 +- сколько надо пунктов

Best MACD Best MACD

класический код МАСД линий с добалении линии ОСМА и с добавлением раскрашенных гистограмок все то что нужно для любителей поиска схождений расхождений.

Уровни Мюррея. Индикатор Murrey_Math_Line v2 Уровни Мюррея. Индикатор Murrey_Math_Line v2

Модернизированная версия индикатора Murrey_Math_Line v2

Bollinger Bands Oscillator with Noise Reduction Bollinger Bands Oscillator with Noise Reduction

Осциллятор на полосах Боллинджера с подавлением шумов.