MQL4 - automated forex trading   /  

Forum

Login | Register | Language: ru cn en
Buy Expert Advisors in MetaTrader Market and Let Them Trade For You

GannHiLo-Histo indicator.

Back to topics list To post a new topic, please log in or register
avatar
14
GreenPoint 2013.05.25 13:46
 

Hi All,

Could you please help me and advise what needs to be updated in the attached code to see Red/Blue values in the data window?

Thanks in advance.

Regards 

//+------------------------------------------------------------------+
//   GannHiLo-Histo
//+------------------------------------------------------------------+
// Indicator properties
#property copyright ""
#property link      ""

#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 RoyalBlue
#property indicator_color2 Crimson
#property indicator_color3 Black
#property indicator_width1  4
#property indicator_width2  4
#property indicator_width3  4
#property indicator_maximum 1
#property indicator_minimum 0

// indicator parameters
extern int period=10;

// indicator buffers
double up_buffer[];
double dn_buffer[];
double ghl_buffer[];

//+------------------------------------------------------------------+
int init() {
  IndicatorBuffers(3); 
  SetIndexStyle(0,DRAW_HISTOGRAM);
  SetIndexBuffer(0,up_buffer);
  SetIndexLabel(0,NULL);
  SetIndexStyle(1,DRAW_HISTOGRAM);
  SetIndexBuffer(1,dn_buffer);
  SetIndexLabel(1,NULL);
  SetIndexStyle(2,DRAW_NONE);
  SetIndexBuffer(2,ghl_buffer);
  SetIndexLabel(2,NULL);
  IndicatorShortName("Gann HiLo");
  return(0);
}

//+------------------------------------------------------------------+
int deinit() {
   return (0);
}


//+------------------------------------------------------------------+
int start() {
  int limit, counted_bars, i;
  double period_high, period_low, period_mid, cur_level, prev_level, prev_value;
  
  counted_bars=IndicatorCounted();
  if(counted_bars < 0) return (-1); 
  if(counted_bars>0) counted_bars--;
  limit=MathMax(Bars-counted_bars,period);
  limit=Bars-counted_bars;
  
  //for (i=0; i<limit; i++) {
  for (i=limit; i>=0; i--) {
    ghl_buffer[i]=ghl_buffer[i+1];
    
    if (Close[i]==0)
      ghl_buffer[i]=EMPTY_VALUE;
    else if(Close[i]>iMA(Symbol(),0,period,0,MODE_SMA,PRICE_HIGH,i+1))
      ghl_buffer[i]=1;
    else if(Close[i]<iMA(Symbol(),0,period,0,MODE_SMA,PRICE_LOW,i+1))
      ghl_buffer[i]=-1;
    
    
    up_buffer[i] = EMPTY_VALUE;
    dn_buffer[i] = EMPTY_VALUE;
    
    if (ghl_buffer[i]==1) {
      up_buffer[i] = 1;
      dn_buffer[i] = 0;
    }
    else if (ghl_buffer[i]==-1){
      dn_buffer[i] = 1;
      up_buffer[i] = 0;
    }
    
  }
  return(0);
}
//+------------------------------------------------------------------+

 
MQL4 Language for Newbies. Difficult Questions in Simple Phrases.

MQL4 Language for Newbies. Difficult Questions in Simple Phrases.

This is the second article from the series "MQL4 Language for Newbies". Now we will examine more complex and advanced constructions of the language, learn new options and see, how they can be applied in everyday practice. You will get acquainted with a new cycle type 'while', new condition type 'switch', operators 'break' and 'continue'. Besides you will learn to write your own functions and work with multidimensional arrays. And for a dessert I have prepared an explanation about a preprocessor.

avatar
9446
WHRoeder 2013.05.25 14:38 #
 
GreenPoint: what needs to be updated in the attached code to see Red/Blue values in the data window?
SetIndexLabel - MQL4 Documentation



avatar
14
GreenPoint 2013.05.25 21:44 #
 

Hi William,

Thank you for prompt response but it doesn't help me as I'm not that good in coding.

Thanks for additional help.

Regards

 
Back to topics list  

To add comments, please log in or register