помогите разукрасить

 

есть индюк, нужно чтобы стобцы гистограмы закрашивались разными цветами: если бычья свеча - зеленым, если медвежья - красным.

вот код:

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 DimGray
#property indicator_color2 Red
#property indicator_color3 Green

#property show_inputs
extern int BarsCount1 = 20;
extern int BarsCount2 = 40;
extern int ma_method = 0;
//---- buffers
double Buf1[];
double Buf2[];
double Buf3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,Buf1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,Buf2);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,Buf3);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit = Bars-IndicatorCounted();
//----
    

    for (int i = 0; i <= limit; i++) 
         Buf1[i] = (High[i]-Low[i])/Point;
   
    for (i = 0; i <= limit; i++) 
         Buf2[i] = iMAOnArray(Buf1,0,BarsCount1,0,ma_method,i);

    for (i = 0; i <= limit; i++) 
         Buf3[i] = iMAOnArray(Buf1,0,BarsCount2,0,ma_method,i);
      
//----
   return(0);
  }
 
Глянь тут
 

мало чего понял... можно сделать на примере данного кода с комментариеями. запутался с этими EMTY_VALUE .....

 
dmmikl86 писал(а) >>

есть индюк, нужно чтобы стобцы гистограмы закрашивались разными цветами: если бычья свеча - зеленым, если медвежья - красным.

вот код:

В Code Base давно заглядывали?

Там такого добра полно.

Я сам недавно выложил.

С уважением,

Backspace.

 
Backspace >>:

В Code Base давно заглядывали?

Там такого добра полно.

Я сам недавно выложил.

С уважением,

Backspace.

я псмотрел ваши индикаторы, и не понял какое отношение они имеют к моей просьбе. 

 
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Red
#property indicator_color2 Red
#property indicator_color3 Green
#property indicator_color4 Green
//#property indicator_minimum 0
#property show_inputs
extern int BarsCount1 = 20;
extern int BarsCount2 = 40;
extern int ma_method = 0;
//---- buffers
double Buf1[];
double Buf2[];
double Buf3[];
double Buf4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,Buf1);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,Buf2);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,Buf3);
   SetIndexStyle(3,DRAW_HISTOGRAM);
   SetIndexBuffer(3,Buf4);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit = Bars-IndicatorCounted();
//----
    

    for (int i = 0; i <= limit; i++)
    {
         Buf1[i] = (High[i]-Low[i])/Point;
         Buf4[i] = Buf1[i];
    }     
   
    for (i = 0; i <= limit; i++) 
         Buf2[i] = iMAOnArray(Buf1,0,BarsCount1,0,ma_method,i);

    for (i = 0; i <= limit; i++)
         Buf3[i] = iMAOnArray(Buf1,0,BarsCount2,0,ma_method,i);
    
    for (i = 0; i <= limit; i++)
    if (Open[i]>Close[i])
    Buf4[i]=EMPTY_VALUE; else Buf1[i]=EMPTY_VALUE;     
      
//----
   

      
//----
   return(0);
  }
Так что ли.
 

zhuki писал(а) >>
Так что ли.

отображаються только красные столбцы.

 

У меня вот так,может Вы не всё скопировали

Файлы:
indic.mq4  2 kb
 
zhuki >>:

У меня вот так,может Вы не всё скопировали

спасибо. все заработало.