Цветной MACD - страница 2

 
//+------------------------------------------------------------------+
//|expMACD_Color_proba.mq4                                           |
//+------------------------------------------------------------------+
extern int Bar=1;
extern int Koeff=100000;
int start()
  {
   double Green_0,Red_1,Silver_2;
  
Green_0  = Koeff*NormalizeDouble(iCustom(NULL, 0, "MACD_color",12,26,9, 0, Bar),Digits+3);
  
Red_1    = Koeff*NormalizeDouble(iCustom(NULL, 0, "MACD_color",12,26,9, 1, Bar),Digits+3);
  
Silver_2 = Koeff*NormalizeDouble(iCustom(NULL, 0, "MACD_color",12,26,9, 2, Bar),Digits+3);
  
Comment  ("  Green_0=  ",Green_0,"  Red_1=  ",Red_1,"  Silver_2=  ",Silver_2);
  
Print    ("  Green_0=  ",Green_0,"  Red_1=  ",Red_1,"  Silver_2=  ",Silver_2);
  
Alert    ("  Green_0=  ",Green_0,"  Red_1=  ",Red_1,"  Silver_2=  ",Silver_2);

  
return(0);
  
}
David177: Спасибо! Теперь становится понятно как получать зачения!

Обратите внимание, что на нулевом баре цветные буфера не отрисовываются, поэтому ненулевые значения будут только начиная с первого бара.

 
for(i=0; i<limit; i++)
   {
    MacdBufferDown[i]=0.0; MacdBufferUp[i]=0.0;
     
     if(i>=0) {if(MacdBuffer[i+2]-MacdBuffer[i]>=0)MacdBufferDown[i]=MacdBuffer[i]; 
     else MacdBufferUp[i]=MacdBuffer[i];}
   }

Чтобы был нулевой бар:
В тексте индюка найти if(i>=1) и заменить бывшую 1 на новый 0 как показано
Это было сделано для спокойствия души, чтобы не пугать(ся) нулевого бара.
Также и для эксперта нулевой бар даже от MACD вреден.


P.s. также обратите внимание, что раскраска идет по сравнению [i+2] <> [i]. Это можно менять.

 

to Korey:

Вы знаете, пару недель назад я искал индикатор МАСД такой же как в Румусе, на форуме задал вопрос об этом, мне ответили что несколько тем назад ктото уже искал такой и в той ветке выложен индикатор. Я посмотрел и оттуда скачал. Теперь сам попытался найти и не нашел ту ветку! Ужас! Поиск и правда не очень:-))


to granit77:

Я обратил внимание что нулевой бар он не рисует, да мне он и не нужен. Моя ТС основана на уже сформировавшихся барах, т.е. начиная с 1го.

 
to Korey: Кстати вы говорите что раскраска идет по сравнению [i+2], но в индикаторе который я скачал было указано [i+1], это уже я на +2 изменил, и мне кажется стало немного лучше.
 

to David177

на всякий случай еще это изменить надо бы
IndicatorDigits(Digits+1); => ....(Digits+3)


Насчет раскраски напугали - хотел посмотреть неужели это я +2 сделал, но вот обошлось)))