ADX Bars - Нужна помощь.

 
Ребятки как сделать так что бы все остальные бары закрашивались в зеленый например!

Заранее благодарен.
С уважением, Е.О.
Файлы:
 
[URL=http://www.picamatic.com/view/1355567_2008-12/][IMG]http://www.picamatic.com/show/2008/11/13/08/28/1355567_bigthumb.png[/IMG][/URL]
 

А смысл? В индикаторе бары красятся всего в два цвета: красный и синий. Часть баров остается незакрашенными и имеют естественный цвет, заданный настройками окна.

У меня, как и у большинства пользователей незакрашенные бары зеленые/бело-зеленые на черном фоне. У Вас настройки другие, измените их на любые приятные Вам цвета.

 

Не! Ну, так и ширину можно будет настроить!

Если Вам не трудно подскажите, как это сделать!

Я уже смотрел в код и заметил что там закомментирован 3 – Ий буфер который наверное для этого и применялся!

Заранее благодарен.

С уважением, Е.О.

 

Делать не буду, поскольку не вижу практического смысла, а подсказать могу. В CodeBase есть индикатор ZoneTrade, в нем бары красятся в три цвета.

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

 

Спасибо! Но вот что-то у меня не очень получается! Помогите! А!

Вот насколько я понимаю алгоритм проверки на зелёное и красное в индикаторе ADX...

nowplusdi = iADX(NULL,0,ADXPeriod,PRICE_CLOSE,MODE_PLUSDI,i);
     nowminusdi = iADX(NULL,0,ADXPeriod,PRICE_CLOSE,MODE_MINUSDI,i);

      val=iMA(NULL,0,Per,1,MODE_SMA,PRICE_HIGH,i);//HiLo
      val2=iMA(NULL,0,Per,1,MODE_SMA,PRICE_LOW,i);//HiLo
      if (Close[i]<val2 && PrevPr==true) Pr=false;   
      if (Close[i]>val && PrevPr==false) Pr=true;
      PrevPr=Pr;   
      ind_buffer2[i]=0.0;
      ind_buffer1[i]=0.0;
       
      if(nowminusdi>nowplusdi) 
       { if(Pr==false)
           {
            ind_buffer2[i]=Low[i];
            ind_buffer1[i]=High[i];
           }      
           
       }

      if(nowplusdi>nowminusdi) 
       { if(Pr==true)
           {
            ind_buffer1[i]=Low[i];
            ind_buffer2[i]=High[i];
            
           }                      
       }
      i--;
     }
 

А в том индикаторе, что Вы мне дали, буферов используется не 2 (как в этом) а 4…

Как их скрестить я не пойму!

Заранее Благодарен.

 

Нет уж.., от бессмысленной затеи должна быть хоть какая-то польза. Будем считать, что эту пользу принесет самообразование.

 

Нет ну тут не так все просто! Потому и спрашиваю.

Тут побольше условий, чем в том, что Вы мне дали.

Там все намного проще только три варианта: вверх, вниз, расколбас.

А здесь еще средние добавлены…

Ну, хоть намекните в какую сторону рыть!

С меня Большое спасибо! :)

 

В роде бы как сделал. Но все ровно не все закрашиваются!

Может быть хоть, это подскажите?

Добавленный код…


if(Close[i]>val2 && Close[i]<val)
       {
         ind_buffer3[i]=Low[i];
         ind_buffer4[i]=High[i];
       }