//+------------------------------------------------------------------+
//|                                                 #MTF Candles.mq4 |
//|                                      Copyright © 2006, Eli Hayun |
//|                                          http://www.elihayun.com |
//+------------------------------------------------------------------+
//mod2008fxtsd   ki
#property copyright "Copyright © 2006, Eli Hayun"
#property link      "http://www.elihayun.com"
//----
#property indicator_chart_window
//---- input parameters
extern int       CandlesTF=240;
extern color     UpCandleColorHL   = DeepSkyBlue;
extern color     UpCandleColorOC   = DodgerBlue;
extern color     DownCandleColorHL = OrangeRed;
extern color     DownCandleColorOC = Red;
extern int       withHL = 2;
extern int       withOC = 4;
extern bool      HigherTF.0  = false;
extern string TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-currentTF";
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void init() 
  {
  DeleteObjects();
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
void deinit() 
 {
  DeleteObjects();
  return(0);
 }
void DeleteObjects() 
   {
   double dif=MathAbs(Time[1] - Time[2]);
   int ix=0;
   datetime dtStart=dif * 8 + Time[0];
   for(int ii=0; ii<8; ii+=2)
     {
      ObjectDelete("rect"+ii); 
      ObjectDelete("OTrnd"+ii); 
      ObjectDelete("CTrnd"+ii);
     }     
 return(0); 
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   double dif=MathAbs(Time[1] - Time[2]);
   int ix=0;
   datetime dtStart=dif * 8 + Time[0];
   for(int ii=0; ii<8; ii+=2)
     {
      ObjectDelete("rect"+ii); ObjectDelete("OTrnd"+ii); ObjectDelete("CTrnd"+ii);
      
      ObjectCreate("rect"+ii,OBJ_TREND, 0, dtStart, iLow(NULL, CandlesTF,ix), dtStart, iHigh(NULL,CandlesTF,ix));
      color clr1=DownCandleColorHL; color clr2=DownCandleColorOC;
      if (iOpen(NULL, CandlesTF,ix) < iClose(NULL, CandlesTF,ix)) {clr1=UpCandleColorHL; clr2=UpCandleColorOC;}
      ObjectSet("rect"+ii, OBJPROP_COLOR, clr1);
      ObjectSet("rect"+ii, OBJPROP_WIDTH, withHL);
      ObjectSet("rect"+ii, OBJPROP_RAY, False);
      ObjectSet("rect"+ii, OBJPROP_BACK, true);
  
      
      ObjectCreate("OTrnd"+ii, OBJ_TREND, 0, dtStart, iOpen(NULL, CandlesTF,ix), dtStart, iClose(NULL,CandlesTF,ix));
      ObjectSet("OTrnd"+ii, OBJPROP_COLOR, clr2);
      ObjectSet("OTrnd"+ii, OBJPROP_WIDTH, withOC);
      ObjectSet("OTrnd"+ii, OBJPROP_RAY, False);   
      
      dtStart-=dif * 2;
      ix++;
   if (HigherTF.0) {if (CandlesTF <Period()) CandlesTF =Period();}
    }
//----
   return(0);
 }
//+------------------------------------------------------------------+
            
Comments