MQL4 - automated forex trading   /  

Code Base

Читайте финансовые журналы прямо в MetaTrader 4 и MetaTrader 5!

Code Base  Индикаторы  MACD Elder Impulse Max Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый код

Скачай MetaTrader 5 и посети MQL5.community Code Base
и торгуй мобильно!
и торгуй мобильно!
Не нашёл подходящий код? Закажи его в разделе Работа

Этот скрипт для
MetaTrader 4

и торгуй мобильно!

и торгуй мобильно!

Имя:
MACD Elder Impulse Max
Автор: maxagent (16.05.2012 14:23)
Рейтинг: 8.4
Скачано: 7624
Скачать:
 MACD Elder Impulse Max.mq4 (7.1 Kb) View


Описание:

По сути, это доделанный и улучшенный индикатор, представленный здесь: http://codebase.mql4.com/ru/2519.

Но автор, почему-то, для окрашивания полос гистограммы использовал соотношение столбцов и сигнальной линии MACD (Signal SMA), а не быстрой скользящей средней (Fast ЕМА), как это описывал Алекс Элдер. По этой причине индикатор http://codebase.mql4.com/ru/2519 красит неправильно.

Я же сделал всё точно по Импульсной системе Элдера. Теперь, в параметрах индикатора, какой период вы зададите быстрой EMA, так он и будет красить. Можете для сравнения на графике цены установить EMA с таким же периодом и всё проверить.

Картинка:


Сам постоянно пользуюсь этим индикатором - очень помогает!

Интерпретация:

Зеленые столбики - нельзя продавать на понижение (только фиксировать прибыль).

Красные столбики - нельзя покупать на повышение (только фиксировать прибыль).

Синие столбики после зеленых или красных - снятие запрета.

Параметры Индикатора MACD Elder Impulse Max:

FastEMA_Period - Период пользовательской быстрой EMA на графике цены.
FastMA_Period - Период быстрой MA MACD.
SlowMA_Period - Период медленной MA MACD.
SignalMA_Period - Период сигнальной MA MACD.

23 комментария: 1 2 3   Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый комментарий
индюк весьма хорош, но звукового оповещения при смене окраски ему действительно не хватает.
02.07.2012 12:04 treiderix
77Pavel:
Уважаемый программист не могли бы вы !! к стандартному индикатору мовинг овераде то есть к скользящей прицепить звуковой сигнал!! при касании её свечёй не важно в каком направлении!!! ответ те мне ладно!!!

Ответил в личку.


Обращаюсь ко всем, пишущим комментарии! Пожалуйста, не задавайте вопросов и не пишите просьбы, не относящиеся к индикатору MACD Elder Impulse Max. Для этого есть другие разделы сайта.

И личку не засоряйте просьбами, я не Старик Хоттабыч - желаний не исполняю. )))

Кому понравился индикатор, не забывайте повышать рейтинг. Кому не нравится или всё равно, просто проходите мимо.

Спасибо.

17.06.2012 05:28 maxagent
Уважаемый программист не могли бы вы !! к стандартному индикатору мовинг овераде то есть к скользящей прицепить звуковой сигнал!! при касании её свечёй не важно в каком направлении!!! ответ те мне ладно!!!
16.06.2012 18:57 77Pavel
Хорошая работа ставлю 10! Индюк просто безошибочно отрабатывает на РЕНКО барах! А если и ошибается то не сильно! На обычных же графиках сигналы чутка запаздывают и много шума!
08.06.2012 08:04 omen55
спасибо за помощь!!!)))если вдруг когда не будь надумаете занятся таким индикатором то может придумаете индикатор подсчета этих линий а патом параметры эти самому вносить в( мовинг авераде) например!!! извените если что не так сказал я в этих делах совсем( АЛЁША)так что не судите строго!!я полный самоучка и даже видео уроки не сматрел!!у меня мадем но я очень долго наблюдал за графиками и анализировал их!!как то так!!))спасибо!!
03.06.2012 10:15 77Pavel
77Pavel:
здравствуйте!!! да не плахой лично я торгую !!!!вот бы ещё конверт автомат с настройкой верхней и нижней линии от ЕМА например 13 по Элдеру!!!подскажите есть такой или нет!!!

На счет конверта, то не знаю, есть такой или нет. Но, думаю, написать такой индикатор будет несколько проблематично(хотя и возможно), т.к. коэффициент(отклонение) конверта нужно тщательно подбирать на каждом таймфрейме и для каждой валютной пары(инструмента). Конверт следует строить параллельно медленной EMA (у Элдера это 22 - 26, в зависимости от таймфрейма).
Могу лишь предоставить примерные диапазоны значений для пары EURUSD, полученные мною опытным путем.

Коэффициенты канала (конверта) Envelopes:

M5 - 0.15% - 0.20%
M15 - 0.25% - 0.35%
H1 - 0.45% - 0.65%
H4 - 1.00% - 1.50%
D1 - 2.50% - 3.50%
W1 - 6.00% - 8.00%
03.06.2012 03:30 maxagent
dzenchar:
maxagent:

Очень похоже, что это Вы еще несколько лет назад не до конца разобрались, а на данный момент, так совсем забыли суть Импульсной системы Элдера. В создании данного индикатора вообще не закладывался смысл хоть каким-либо образом поизвращаться над индикатором MACD. Сам MACD здесь остался без изменений. А вот целью было именно ПОКРАСИТЬ бары в нужные цвета в зависимости от EMA и СТОЛБИКОВ ГИСТОГРАММЫ. Пересмотрите внимательно код и не путайте теплое с мягким. Я и книги читал и семинары пересматривал много раз. По сути, такую раскраску можно сделать на любом индикаторе, просто для наглядности, чтобы не красить сами бары, т.к. это не совсем удобно в работе.Так что всё я сделал правильно. И дело совсем не в том, годится ли Импульсная система для входа или для еще чего-либо. Она есть и кому нужно, тот пусть пользуется на здоровье. Вот как-то так.... А ваш индикатор я юзал, помню, но всё равно это же не MACD. Это уже совсем другой индикатор. Вы молодец, что его покрасили. )

Всем успехов!!!

Чтож, чтобы не быть голословным придется цитировать Элдера :-). Разберемся что же такое MACD (цитата из книги "Как играть и выигрывать на бирже"):

"Первоначально индикатор MACD состоял из двух линий: сплошной (именуемой линией MACD) и пунктирной (именуемой сигнальной линией). Линия MACD — это разница между двумя экспоненциальными скользящими средними. Она быстрее реагирует на изменения цен. Сигнальная линия — это скользящее сред­нее первой линии MACD, которая медленнее реагирует на изменения цен."

А теперь разберемся что же такое гистограмма MACD (цитата из той же книги):

"Гистограмма MACD позволяет оценить соотношение сил между быками и мед­ведями глубже, чем стандартный MACD. Она показывает, какая группа доми­нирует, становится ли эта группа сильнее или слабее. Это один из лучших ин­дикаторов в арсенале трейдеров.

Гистограмма MACD = Линия MACD — Сигнальная линия

Гистограмма MACD—это разность между линией MACD и сигнальной лини­ей (см. табл. 4.2), которая графически представлена рядом вертикальных стол­биков, т. е. гистограммой."

А теперь разберемся в импульсной системе (цитата из Трейдинг с доктором Элдером):

" Импульсная система строится на двух простых, но эффективных индикаторах. Один измеряет инерцию рынка, а другой — скорость изменения цен. Если оба движутся в одном направлении, это сигнал к открытию позиции. Как только они перестают подтверждать друг друга, мы получаем сигнал к закрытию позиции. Импульсная система использует экспоненциальное скользящее среднее (ЕМА), чтобы определить восходящие и нисходящие тренды. Когда ЕМА повышается, инерция в пользу быков, а когда понижается — в пользу медведей. Второй компонент системы — гистограмма MACD, наклон которой указывает на соотношение сил быков и медведей. Если гистограмма MACD повышается, значит, быки становятся сильнее, а если понижается — силу набирают медведи. Импульсная система выявляет столбики (бары), где и инерция, и скорость направлены в одну сторону. Если ЕМА и гистограмма MACD растут, значит, быки сильны и восходящий тренд усиливается. А если ЕМА и гистограмма MACD одновременно понижаются, значит, на рынке побеждают медведи. "

Повторю, мне показалось будто бы вы в своем индикаторе вместо гистограммы MACD используете линию MACD, что неправильно. Возможно я не прав, и вы используете именно гистограмму, тогда убедите меня в этом...

И наконец цитата и Вашего кода:

ind_buffer1[i]=iMA(Symbol(),FastMA_Timeframe,FastMA_Period,FastMA_Shift,FastMA_Method,FastMA_Price,i) - 
         iMA(Symbol(),SlowMA_Timeframe,SlowMA_Period,SlowMA_Shift,SlowMA_Method,SlowMA_Price,i);
Здесь уж точно не гистограмма вычисляется...

Повторю еще раз:
В индикаторе MACD Elder Impulse Max используется СТАНДАРТНЫЙ индикатор MACD, созданный компанией MetaQuotes. Я согласен, что они использовали для построения гистограммы именно линию MACD, но я ничего с этим не могу поделать, потому и использовал то, что есть.

MACD = EMA(CLOSE, 12)-EMA(CLOSE, 26)

- http://codebase.mql4.com/ru/233

Это стандартный индикатор и им пользуются большинство трейдеров. Поэтому, я именно его и раскрасил.
Но, если серьезно, то я не вижу здесь принципиальной разницы(для раскрашивания), всё равно направленность движения столбиков практически одинакова в 99% случаев.

Ваш индикатор расчитывается: OSMA = MACD-SIGNAL, что полностью соответствует написанному в книгах Элдера. Гистограмма здесь нагляднее, чем в "стандартном" MACD и более выраженно показывает изменения сил быков и медведей.
Но для этой цели лично я предпочитаю пользоваться индикатором ELR. Это улучшенная модификация индикаторa Bulls Bears Power (http://codebase.mql4.com/ru/5415), который, в свою очередь, является неким симбиозом стандартных "Элдеровских" индикаторов Bulls Power и Bears Power. На мой взгляд, он более точен в определении силы, чем MACD, OsMA и т.п.(ИМХО). Думаю, стоит покрасить и его. :)

А Ваш индикатор ImpulseOsMA можно немного упростить:

//+------------------------------------------------------------------+
//|                                                 ImpulseOsMAx.mq4 |
//|                                                         MaxAgeNT |
//|                                         http:/forex.agent.zp.ua/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MaxAgeNT"
#property link      "http:/forex.agent.zp.ua/"

#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Red
#property indicator_color4 LimeGreen
#property indicator_color5 RoyalBlue //DeepSkyBlue

#property indicator_width1   1
#property indicator_width2   1
#property indicator_width3   2
#property indicator_width4   2
#property indicator_width5   2
//---- input parameters
extern int       FastEMA=12;
extern int       SlowEMA=26;
extern int       SignalEMA=9;
extern int       EMAPeriod=13;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexStyle(2,DRAW_HISTOGRAM);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexStyle(3,DRAW_HISTOGRAM);
   SetIndexBuffer(3,ExtMapBuffer4);
   SetIndexStyle(4,DRAW_HISTOGRAM);
   SetIndexBuffer(4,ExtMapBuffer5);
   
   IndicatorShortName("ImpulseOsMAx ("+FastEMA+","+SlowEMA+","+SignalEMA+","+EMAPeriod+")");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i;
   int bCount;
   int    counted_bars=IndicatorCounted();
   double cur, prev, curMA, prevMA;
//----
   if(counted_bars>0) counted_bars--;
   bCount=Bars-counted_bars;
   for(i=0; i<bCount; i++)
      ExtMapBuffer1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
   for(i=0; i<bCount; i++)
      ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1,Bars,SignalEMA,0,MODE_EMA, i);
   for(i=0; i<bCount; i++)
   {
      cur = ExtMapBuffer1[i]-ExtMapBuffer2[i];
      prev = ExtMapBuffer1[i+1]-ExtMapBuffer2[i+1];
                 
      curMA=iMA(NULL,0,EMAPeriod,0,MODE_EMA,PRICE_CLOSE,i);
      prevMA=iMA(NULL,0,EMAPeriod,0,MODE_EMA,PRICE_CLOSE,i+1);

      if(cur>prev && curMA>prevMA)
      {
         ExtMapBuffer3[i]=0;
         ExtMapBuffer4[i]=cur;
         ExtMapBuffer5[i]=0;
      }
      else if(cur<prev && curMA<prevMA)
      {
         ExtMapBuffer3[i]=cur;
         ExtMapBuffer4[i]=0;
         ExtMapBuffer5[i]=0;
      }
      
      else if((cur<prev && curMA>prevMA) || (cur>prev && curMA<prevMA))
      {
         ExtMapBuffer3[i]=0;
         ExtMapBuffer4[i]=0;
         ExtMapBuffer5[i]=cur;
      } 
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+

Надеюсь, ответил исчерпывающе. )))

03.06.2012 01:16 maxagent
уважаемый автор этого замечательного МАСД!!! будьте добры ответить!!! очень на да конверт !!
02.06.2012 14:25 77Pavel
здравствуйте!!! да не плахой лично я торгую !!!!вот бы ещё конверт автомат с настройкой верхней и нижней линии от ЕМА например 13 по Элдеру!!!подскажите есть такой или нет!!!
01.06.2012 20:57 77Pavel
maxagent:

Очень похоже, что это Вы еще несколько лет назад не до конца разобрались, а на данный момент, так совсем забыли суть Импульсной системы Элдера. В создании данного индикатора вообще не закладывался смысл хоть каким-либо образом поизвращаться над индикатором MACD. Сам MACD здесь остался без изменений. А вот целью было именно ПОКРАСИТЬ бары в нужные цвета в зависимости от EMA и СТОЛБИКОВ ГИСТОГРАММЫ. Пересмотрите внимательно код и не путайте теплое с мягким. Я и книги читал и семинары пересматривал много раз. По сути, такую раскраску можно сделать на любом индикаторе, просто для наглядности, чтобы не красить сами бары, т.к. это не совсем удобно в работе.Так что всё я сделал правильно. И дело совсем не в том, годится ли Импульсная система для входа или для еще чего-либо. Она есть и кому нужно, тот пусть пользуется на здоровье. Вот как-то так.... А ваш индикатор я юзал, помню, но всё равно это же не MACD. Это уже совсем другой индикатор. Вы молодец, что его покрасили. )

Всем успехов!!!

Чтож, чтобы не быть голословным придется цитировать Элдера :-). Разберемся что же такое MACD (цитата из книги "Как играть и выигрывать на бирже"):

"Первоначально индикатор MACD состоял из двух линий: сплошной (именуемой линией MACD) и пунктирной (именуемой сигнальной линией). Линия MACD — это разница между двумя экспоненциальными скользящими средними. Она быстрее реагирует на изменения цен. Сигнальная линия — это скользящее сред­нее первой линии MACD, которая медленнее реагирует на изменения цен."

А теперь разберемся что же такое гистограмма MACD (цитата из той же книги):

"Гистограмма MACD позволяет оценить соотношение сил между быками и мед­ведями глубже, чем стандартный MACD. Она показывает, какая группа доми­нирует, становится ли эта группа сильнее или слабее. Это один из лучших ин­дикаторов в арсенале трейдеров.

Гистограмма MACD = Линия MACD — Сигнальная линия

Гистограмма MACD—это разность между линией MACD и сигнальной лини­ей (см. табл. 4.2), которая графически представлена рядом вертикальных стол­биков, т. е. гистограммой."

А теперь разберемся в импульсной системе (цитата из Трейдинг с доктором Элдером):

" Импульсная система строится на двух простых, но эффективных индикаторах. Один измеряет инерцию рынка, а другой — скорость изменения цен. Если оба движутся в одном направлении, это сигнал к открытию позиции. Как только они перестают подтверждать друг друга, мы получаем сигнал к закрытию позиции. Импульсная система использует экспоненциальное скользящее среднее (ЕМА), чтобы определить восходящие и нисходящие тренды. Когда ЕМА повышается, инерция в пользу быков, а когда понижается — в пользу медведей. Второй компонент системы — гистограмма MACD, наклон которой указывает на соотношение сил быков и медведей. Если гистограмма MACD повышается, значит, быки становятся сильнее, а если понижается — силу набирают медведи. Импульсная система выявляет столбики (бары), где и инерция, и скорость направлены в одну сторону. Если ЕМА и гистограмма MACD растут, значит, быки сильны и восходящий тренд усиливается. А если ЕМА и гистограмма MACD одновременно понижаются, значит, на рынке побеждают медведи. "

Повторю, мне показалось будто бы вы в своем индикаторе вместо гистограммы MACD используете линию MACD, что неправильно. Возможно я не прав, и вы используете именно гистограмму, тогда убедите меня в этом...

И наконец цитата и Вашего кода:

ind_buffer1[i]=iMA(Symbol(),FastMA_Timeframe,FastMA_Period,FastMA_Shift,FastMA_Method,FastMA_Price,i) - 
         iMA(Symbol(),SlowMA_Timeframe,SlowMA_Period,SlowMA_Shift,SlowMA_Method,SlowMA_Price,i);
Здесь уж точно не гистограмма вычисляется...
01.06.2012 07:21 dzenchar