Problems with indicator when changing periud

Back to topics list To post a new topic, please log in or register
avatar
33
bro840 2016.02.05 17:11
 
Hi there.

I'm having a little problem with my indicator. 

The indicator itslef it is working just fine. It's Separate window indicator with histogram style, and it's value can be only -1 or 1.

What happen is that when i change the periud for exemple from 1H to 5m the first time i do that, it does not shows any histogram. So i need to select again 1H and then 5m and then the indicator works fine again.


Any Ideia?

 

int OnInit()
{
   SetIndexBuffer(0,Indicador);                          
   SetIndexStyle (0,DRAW_HISTOGRAM,STYLE_SOLID,5);       
   
   int FirstBarIndex = iBars(NULL,0)-1;                    
   
                                                        
   Swing_Begin = FirstBarIndex;                          
   Swing_End = FirstBarIndex;                            
            
                                                                         
   if (iClose(NULL,0,FirstBarIndex-1) < iClose(NULL,0,FirstBarIndex))    
   {
      Swing = "DESC";                                                    
   }
   else                                                                  
   {
      Swing = "ASC";                                                        
   }

   return(INIT_SUCCEEDED);
}

 

avatar
13009
WHRoeder 2016.02.05 17:22 #
 
bro840: Any Ideia?
  1. Event Handling Functions - MQL4 Documentation OnInit only runs on load and on chart change.
  2. The first time you have no M5 history, so you get nothing.
  3. What good is an indicator something about the oldest bar?

avatar
33
bro840 2016.02.05 20:13 #
 

Thank you for your reply but indeed when i first select 5m chart on the OnInit functin already there are information about bar history.

So your awnswer must no be correct. It must be something else.... 

 

 

avatar
33
bro840 2016.02.05 20:18 #
 
Very nice i had an idea and turns out that was correct.

The problem was on the array declaration Indicator[];

 

I have Tried Indicator [100000] and now the indicator runs perfectly :)

Now i must simply resize every time the Indicator[] on OnInit function and thats it.

Thank You again.
Back to topics list  

To add comments, please log in or register