_TRO_MACD_MULTI





//+------------------------------------------------------------------+ 
//|  _TRO_MACD_MULTI                                                 | 
//|                                                                  | 
//|   Copyright © 2007, Avery T. Horton, Jr. aka TheRumpledOne       |
//|                                                                  |
//|   PO BOX 43575, TUCSON, AZ 85733                                 |
//|                                                                  |
//|   GIFT AND DONATIONS ACCEPTED                                    | 
//|                                                                  |
//|   therumpldone@gmail.com                                         |  
//+------------------------------------------------------------------+ 
// I used code from FERRUXX and Robert Hill - Thanks for sharing!
//+------------------------------------------------------------------+ 

#property copyright "Avery T. Horton, Jr. aka TheRumpledOne" 

#property link      "" 

#property indicator_chart_window 

//---- input parameters 

//extern string myPair = "" ;
extern int myxstart=130 ;
extern int myystart=200  ;


// indicators parameters
extern string    Shift_Settings_test_only        = "=== Format: 2007.05.07 00:00 ===";
extern datetime  look_time_shift       = D'2007.05.07 00:00';  // Shift for test if "test" is true
extern double    shift_indicators      =                   0;  // Shift for indicators if "test" is false
extern bool      test                  =               false;

string    MACD_Settings         = "=== MACD Settings ===";
extern int       MACDFast              =           12;  // MACD fast EMA period
extern int       MACDSlow              =           26;  // MACD slow EMA period
extern int       MACDSignal            =            9;  // MACD signal SMA period

/*
extern color XUP_Above_0               = Lime ; 
extern color XDN_Above_0               = Tomato ; 
extern color XUP_Below_0               = Green ; 
extern color XDN_Below_0               = Red ; 
*/



double UP_1, UP_2, UP_3, UP_4, UP_5, UP_6, UP_7, UP_8, UP_9, UP_10;
double UP_11, UP_12, UP_13, UP_14, UP_15, UP_16, UP_17, UP_18, UP_19, UP_20;
double UP_21, UP_22, UP_23, UP_24, UP_25, UP_26, UP_27, UP_28, UP_29, UP_30;
double UP_31, UP_32, UP_33, UP_34, UP_35, UP_36, UP_37, UP_38, UP_39, UP_40;
double UP_41, UP_42, UP_43, UP_44, UP_45, UP_46, UP_47, UP_48, UP_49, UP_50;
double UP_51, UP_52, UP_53, UP_54, UP_55, UP_56, UP_57, UP_58, UP_59, UP_60;
double UP_61, UP_62, UP_63, UP_64;

double DOWN_1, DOWN_2, DOWN_3, DOWN_4, DOWN_5, DOWN_6, DOWN_7, DOWN_8, DOWN_9, DOWN_10;
double DOWN_11, DOWN_12, DOWN_13, DOWN_14, DOWN_15, DOWN_16, DOWN_17, DOWN_18, DOWN_19, DOWN_20;
double DOWN_21, DOWN_22, DOWN_23, DOWN_24, DOWN_25, DOWN_26, DOWN_27, DOWN_28, DOWN_29, DOWN_30;
double DOWN_31, DOWN_32, DOWN_33, DOWN_34, DOWN_35, DOWN_36, DOWN_37, DOWN_38, DOWN_39, DOWN_40;
double DOWN_41, DOWN_42, DOWN_43, DOWN_44, DOWN_45, DOWN_46, DOWN_47, DOWN_48, DOWN_49, DOWN_50;
double DOWN_51, DOWN_52, DOWN_53, DOWN_54, DOWN_55, DOWN_56, DOWN_57, DOWN_58, DOWN_59, DOWN_60;
double DOWN_61, DOWN_62, DOWN_63, DOWN_64;

double v0 =  0.764 ;
double v1 =  0.618 ;
double v2 =  0.5 ;
double v3 =  0.382 ;
double v4 =  0.236 ;
double v5 =  0.0 ;

 int myPeriod1  = 1 ;
 int myPeriod2  = 5 ;
 int myPeriod3  = 15 ;
 int myPeriod4  = 30 ;
 int myPeriod5  = 60 ;
 int myPeriod6  = 240 ;
 int myPeriod7  = 1440 ;
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         | 
//+------------------------------------------------------------------+ 
int init() 
  { 
  
     initGraph();
  
//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+ 
//| Custom indicator deinitialization function                       | 
//+------------------------------------------------------------------+ 
int deinit() 
  { 
//---- 
      deleteObject();    
//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+ 
//| Custom indicator iteration function                              | 
//+------------------------------------------------------------------+ 
string Period2Text(int TmPeriod)
{
  switch (TmPeriod)
  {
    case PERIOD_M1  : return("M1");
    case PERIOD_M5  : return("M5");
    case PERIOD_M15 : return("M15");
    case PERIOD_M30 : return("M30");
    case PERIOD_H1  : return("H1");
    case PERIOD_H4  : return("H4");
    case PERIOD_D1  : return("D1");
    case PERIOD_W1  : return("W1");
    case PERIOD_MN1 : return("MN1");
  }      
  return ("ERR");
}

//+---------------

double prOpen( int i, int j)
{
  return (iOpen(NULL,i,j));
}
//+---------------
double prHigh( int i, int j)
{
  return (iHigh(NULL,i,j));
}
//+---------------


double prLow( int i, int j)
{
  return (iLow(NULL,i,j));
}
//+---------------
double prClose( int i, int j)
{
  return (iClose(NULL,i,j));
}
//+---------------
 

int start() 
  { 
   double xhigh1        = prHigh( myPeriod1, 1 );
   double xlow1         = prLow( myPeriod1, 1 );
   double xclose1       = prClose( myPeriod1, 0 ); 
   double xopen1        = prOpen( myPeriod1, 0 ); 
   double xmid1         = ( xhigh1 + xlow1 ) * 0.5 ;
   double xrange1       = xhigh1 - xlow1 ; 

   double xhigh2        = prHigh( myPeriod2, 1 );
   double xlow2         = prLow( myPeriod2, 1 );
   double xclose2       = prClose( myPeriod2, 0 ); 
   double xopen2        = prOpen( myPeriod2, 0 ); 
   double xmid2         = ( xhigh2 + xlow2 ) * 0.5 ;
   double xrange2       = xhigh2 - xlow2 ;
   
   double xhigh3        = prHigh( myPeriod3, 1 );
   double xlow3         = prLow( myPeriod3, 1 );
   double xclose3       = prClose( myPeriod3, 0 ); 
   double xopen3        = prOpen( myPeriod3, 0 ); 
   double xmid3         = ( xhigh3 + xlow3 ) * 0.5 ; 
   double xrange3       = xhigh3 - xlow3 ; 

   double xhigh4        = prHigh( myPeriod4, 1 );
   double xlow4         = prLow( myPeriod4, 1 );
   double xclose4       = prClose( myPeriod4, 0 ); 
   double xopen4        = prOpen( myPeriod4, 0 ); 
   double xmid4         = ( xhigh4 + xlow4 ) * 0.5 ;
   double xrange4       = xhigh4 - xlow4  ;
   
   double xhigh5        = prHigh( myPeriod5, 1 );
   double xlow5         = prLow( myPeriod5, 1 );
   double xclose5       = prClose( myPeriod5, 0 ); 
   double xopen5        = prOpen( myPeriod5, 0 ); 
   double xmid5         = ( xhigh5 + xlow5 ) * 0.5 ; 
   double xrange5       = xhigh5 - xlow5 ; 

   double xhigh6        = prHigh( myPeriod6, 1 );
   double xlow6         = prLow( myPeriod6, 1 );
   double xclose6       = prClose( myPeriod6, 0 ); 
   double xopen6        = prOpen( myPeriod6, 0 ); 
   double xmid6         = ( xhigh6 + xlow6 ) * 0.5 ; 
   double xrange6       = xhigh6 - xlow6 ;

   double xhigh7        = prHigh( myPeriod7, 1 );
   double xlow7         = prLow( myPeriod7, 1 );
   double xclose7       = prClose( myPeriod7, 0 ); 
   double xopen7        = prOpen( myPeriod7, 0 ); 
   double xmid7         = ( xhigh7 + xlow7 ) * 0.5 ;
   double xrange7       = xhigh7 - xlow7 ;  

// Shift calculation for indicators (tests only)

   double shift_1, shift_5, shift_15, shift_30, shift_60, shift_240, shift_1440, shift_10080;
   
   if( test == true )
   {
    shift_1=iBarShift(NULL,PERIOD_M1,look_time_shift,false);
    shift_5=iBarShift(NULL,PERIOD_M5,look_time_shift,false);
    shift_15=iBarShift(NULL,PERIOD_M15,look_time_shift,false);
    shift_30=iBarShift(NULL,PERIOD_M30,look_time_shift,false);
    shift_60=iBarShift(NULL,PERIOD_H1,look_time_shift,false);
    shift_240=iBarShift(NULL,PERIOD_H4,look_time_shift,false);
    shift_1440=iBarShift(NULL,PERIOD_D1,look_time_shift,false);
    shift_10080=iBarShift(NULL,PERIOD_W1,look_time_shift,false);
   }
   else
   {
    shift_1=shift_indicators;
    shift_5=shift_indicators;
    shift_15=shift_indicators;
    shift_30=shift_indicators;
    shift_60=shift_indicators;
    shift_240=shift_indicators;
    shift_1440=shift_indicators;
    shift_10080=shift_indicators;
  }
   
// Indicator (Moving Average)

   color color_ind = PowderBlue;
   


   double x;
   color color_indic;
    
// Indicator (MACD)

   
   string MACD_Trend_1, MACD_Trend_5, MACD_Trend_15, MACD_Trend_30, MACD_Trend_60, MACD_Trend_240, MACD_Trend_1440, MACD_Trend_10080;
   
   
   double MACD_m_1=iMACD(NULL,PERIOD_M1,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_MAIN,shift_1);
   double MACD_s_1=iMACD(NULL,PERIOD_M1,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_SIGNAL,shift_1);
   
   if ((MACD_m_1 > MACD_s_1)) { MACD_Trend_1 = "UP"; x = 416; color_indic = Lime; UP_33 = 1; DOWN_33 = 0; }
   if ((MACD_m_1 < MACD_s_1)) { MACD_Trend_1 = "DOWN"; x = 406; color_indic = Red; UP_33 = 0; DOWN_33 = 1; }

   
   double MACD_m_5=iMACD(NULL,PERIOD_M5,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_MAIN,shift_5);
   double MACD_s_5=iMACD(NULL,PERIOD_M5,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_SIGNAL,shift_5);
   
   if ((MACD_m_5 > MACD_s_5)) { MACD_Trend_5 = "UP"; x = 416; color_indic = Lime; UP_34 = 1; DOWN_34 = 0; }
   if ((MACD_m_5 < MACD_s_5)) { MACD_Trend_5 = "DOWN"; x = 406; color_indic = Red; UP_34 = 0; DOWN_34 = 1; }

   
   double MACD_m_15=iMACD(NULL,PERIOD_M15,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_MAIN,shift_15);
   double MACD_s_15=iMACD(NULL,PERIOD_M15,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_SIGNAL,shift_15);
   
   if ((MACD_m_15 > MACD_s_15)) { MACD_Trend_15 = "UP"; x = 416; color_indic = Lime; UP_35 = 1; DOWN_35 = 0; }
   if ((MACD_m_15 < MACD_s_15)) { MACD_Trend_15 = "DOWN"; x = 406; color_indic = Red; UP_35 = 0; DOWN_35 = 1; }

   
   double MACD_m_30=iMACD(NULL,PERIOD_M30,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_MAIN,shift_30);
   double MACD_s_30=iMACD(NULL,PERIOD_M30,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_SIGNAL,shift_30);
   
   if ((MACD_m_30 > MACD_s_30)) { MACD_Trend_30 = "UP"; x = 416; color_indic = Lime; UP_36 = 1; DOWN_36 = 0; }
   if ((MACD_m_30 < MACD_s_30)) { MACD_Trend_30 = "DOWN"; x = 406; color_indic = Red; UP_36 = 0; DOWN_36 = 1; }

   
   double MACD_m_60=iMACD(NULL,PERIOD_H1,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_MAIN,shift_60);
   double MACD_s_60=iMACD(NULL,PERIOD_H1,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_SIGNAL,shift_60);
   
   if ((MACD_m_60 > MACD_s_60)) { MACD_Trend_60 = "UP"; x = 416; color_indic = Lime; UP_37 = 1; DOWN_37 = 0; }
   if ((MACD_m_60 < MACD_s_60)) { MACD_Trend_60 = "DOWN"; x = 406; color_indic = Red; UP_37 = 0; DOWN_37 = 1; }

   
   double MACD_m_240=iMACD(NULL,PERIOD_H4,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_MAIN,shift_240);
   double MACD_s_240=iMACD(NULL,PERIOD_H4,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_SIGNAL,shift_240);
   
   if ((MACD_m_240 > MACD_s_240)) { MACD_Trend_240 = "UP"; x = 416; color_indic = Lime; UP_38 = 1; DOWN_38 = 0; }
   if ((MACD_m_240 < MACD_s_240)) { MACD_Trend_240 = "DOWN"; x = 406; color_indic = Red; UP_38 = 0; DOWN_38 = 1; }

   double MACD_m_1440=iMACD(NULL,PERIOD_D1,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_MAIN,shift_1440);
   double MACD_s_1440=iMACD(NULL,PERIOD_D1,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_SIGNAL,shift_1440);
   
   if ((MACD_m_1440 > MACD_s_1440)) { MACD_Trend_1440 = "UP"; x = 416; color_indic = Lime; UP_39 = 1; DOWN_39 = 0; }
   if ((MACD_m_1440 < MACD_s_1440)) { MACD_Trend_1440 = "DOWN"; x = 406; color_indic = Red; UP_39 = 0; DOWN_39 = 1; }

   
   double MACD_m_10080=iMACD(NULL,PERIOD_W1,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_MAIN,shift_10080);
   double MACD_s_10080=iMACD(NULL,PERIOD_W1,MACDFast,MACDSlow,MACDSignal,PRICE_CLOSE,MODE_SIGNAL,shift_10080);
   
   if ((MACD_m_10080 > MACD_s_10080)) { MACD_Trend_10080 = "UP"; x = 416; color_indic = Lime; UP_40 = 1; DOWN_40 = 0; }
   if ((MACD_m_10080 < MACD_s_10080)) { MACD_Trend_10080 = "DOWN"; x = 406; color_indic = Red; UP_40 = 0; DOWN_40 = 1; }

    

   objectBlank();   
   paintCol1(UP_33 );  
   paintCol2(UP_34 );   
   paintCol3(UP_35 );  
   paintCol4(UP_36 );       
   paintCol5(UP_37 );   
   paintCol6(UP_38 );  
   paintCol7(UP_39 );      

   paintLine();
    
//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+ 


void initGraph()
  {
   deleteObject();


int xstart=myxstart, xinc=20;

int ystart=myystart, yinc=8;
int ystart1=ystart+yinc;
int ystart2=ystart+yinc*2;
int ystart3=ystart+yinc*3;
int ystart4=ystart+yinc*4;
int ystart5=ystart+yinc*5;

   objectCreate("MACD_1_0",xstart,ystart5);
   objectCreate("MACD_1_1",xstart,ystart4);
   objectCreate("MACD_1_2",xstart,ystart3);
   objectCreate("MACD_1_3",xstart,ystart2);
   objectCreate("MACD_1_4",xstart,ystart1);   
   objectCreate("MACD_1_5",xstart,ystart);
   objectCreate("MACD_1",xstart+2,ystart+1,Period2Text(myPeriod1),9,"Arial Narrow",SkyBlue);
   objectCreate("MACD_1p",xstart+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);   

int xstart2 =  xstart - xinc ;
  
   objectCreate("MACD_2_0",xstart2,ystart5);
   objectCreate("MACD_2_1",xstart2,ystart4);
   objectCreate("MACD_2_2",xstart2,ystart3);
   objectCreate("MACD_2_3",xstart2,ystart2);
   objectCreate("MACD_2_4",xstart2,ystart1);   
   objectCreate("MACD_2_5",xstart2,ystart);
   objectCreate("MACD_2",xstart2+2,ystart+1,Period2Text(myPeriod2),9,"Arial Narrow",SkyBlue);
   objectCreate("MACD_2p",xstart2+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart3 =  xstart2 - xinc ;

   objectCreate("MACD_3_0",xstart3,ystart5);
   objectCreate("MACD_3_1",xstart3,ystart4);
   objectCreate("MACD_3_2",xstart3,ystart3);
   objectCreate("MACD_3_3",xstart3,ystart2);
   objectCreate("MACD_3_4",xstart3,ystart1);   
   objectCreate("MACD_3_5",xstart3,ystart);
   objectCreate("MACD_3",xstart3+2,ystart+1,Period2Text(myPeriod3),8,"Arial Narrow",SkyBlue);
   objectCreate("MACD_3p",xstart3+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart4 =  xstart3 - xinc ;

   objectCreate("MACD_4_0",xstart4,ystart5);
   objectCreate("MACD_4_1",xstart4,ystart4);
   objectCreate("MACD_4_2",xstart4,ystart3);
   objectCreate("MACD_4_3",xstart4,ystart2);
   objectCreate("MACD_4_4",xstart4,ystart1);   
   objectCreate("MACD_4_5",xstart4,ystart);
   objectCreate("MACD_4",xstart4+2,ystart+1,Period2Text(myPeriod4),8,"Arial Narrow",SkyBlue);
   objectCreate("MACD_4p",xstart4+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart5 =  xstart4 - xinc ;
   
   objectCreate("MACD_5_0",xstart5,ystart5);
   objectCreate("MACD_5_1",xstart5,ystart4);
   objectCreate("MACD_5_2",xstart5,ystart3);
   objectCreate("MACD_5_3",xstart5,ystart2);
   objectCreate("MACD_5_4",xstart5,ystart1);   
   objectCreate("MACD_5_5",xstart5,ystart);
   objectCreate("MACD_5",xstart5+2,ystart+1,Period2Text(myPeriod5),9,"Arial Narrow",SkyBlue);
   objectCreate("MACD_5p",xstart5+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);
   
int xstart6 =  xstart5 - xinc ;   

   objectCreate("MACD_6_0",xstart6,ystart5);
   objectCreate("MACD_6_1",xstart6,ystart4);
   objectCreate("MACD_6_2",xstart6,ystart3);
   objectCreate("MACD_6_3",xstart6,ystart2);
   objectCreate("MACD_6_4",xstart6,ystart1);   
   objectCreate("MACD_6_5",xstart6,ystart);
   objectCreate("MACD_6",xstart6+2,ystart+1,Period2Text(myPeriod6),9,"Arial Narrow",SkyBlue);
   objectCreate("MACD_6p",xstart6+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart7 =  xstart6 - xinc ;  

   objectCreate("MACD_7_0",xstart7,ystart5);
   objectCreate("MACD_7_1",xstart7,ystart4);
   objectCreate("MACD_7_2",xstart7,ystart3);
   objectCreate("MACD_7_3",xstart7,ystart2);
   objectCreate("MACD_7_4",xstart7,ystart1);   
   objectCreate("MACD_7_5",xstart7,ystart);
   objectCreate("MACD_7",xstart7+2,ystart+1,Period2Text(myPeriod7),9,"Arial Narrow",SkyBlue);
   objectCreate("MACD_7p",xstart7+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);
   
   string tmacd = "MACD("+MACDFast+","+MACDSlow+","+MACDSignal+")" ;
   
   objectCreate("MACD_L97",xstart7,ystart+40,tmacd,10,"Arial",DimGray);
   objectCreate("MACD_sign",xstart7,ystart-10,"»»» MACD METER © «««",8,"Arial Narrow",DimGray);
//   objectCreate("MACD",xstart+24,ystart3-2,"MACD" ,8,"Arial Narrow",DimGray); 

    }
  
//+------------------------------------------------------------------+
void objectCreate(string name,int x,int y,string text="-",int size=42,
                  string font="Arial",color colour=CLR_NONE)
  {
   ObjectCreate(name,OBJ_LABEL,0,0,0);
   ObjectSet(name,OBJPROP_CORNER,3);
   ObjectSet(name,OBJPROP_COLOR,colour);
   ObjectSet(name,OBJPROP_XDISTANCE,x);
   ObjectSet(name,OBJPROP_YDISTANCE,y);
   ObjectSetText(name,text,size,font,colour);
  }
  
void deleteObject()
  {  
//   ObjectDelete("fma"); 
//   ObjectDelete("mma"); 
//  ObjectDelete("sma"); 
   ObjectDelete("MACD_sign"); 
   ObjectDelete("MACD_L97"); 
      
   ObjectDelete("MACD_1_0"); 
   ObjectDelete("MACD_1_1");
   ObjectDelete("MACD_1_2");
   ObjectDelete("MACD_1_3");
   ObjectDelete("MACD_1_4");  
   ObjectDelete("MACD_1_5");
   ObjectDelete("MACD_1");
   ObjectDelete("MACD_1p");

   ObjectDelete("MACD_2_0"); 
   ObjectDelete("MACD_2_1");
   ObjectDelete("MACD_2_2");
   ObjectDelete("MACD_2_3");
   ObjectDelete("MACD_2_4");     
   ObjectDelete("MACD_2_5");
   ObjectDelete("MACD_2");
   ObjectDelete("MACD_2p");
 
   ObjectDelete("MACD_3_0"); 
   ObjectDelete("MACD_3_1");
   ObjectDelete("MACD_3_2");
   ObjectDelete("MACD_3_3");
   ObjectDelete("MACD_3_4");     
   ObjectDelete("MACD_3_5");
   ObjectDelete("MACD_3");
   ObjectDelete("MACD_3p");
 
   ObjectDelete("MACD_4_0"); 
   ObjectDelete("MACD_4_1");
   ObjectDelete("MACD_4_2");
   ObjectDelete("MACD_4_3");
   ObjectDelete("MACD_4_4");  
   ObjectDelete("MACD_4_5");
   ObjectDelete("MACD_4");
   ObjectDelete("MACD_4p");
 
   ObjectDelete("MACD_5_0"); 
   ObjectDelete("MACD_5_1");
   ObjectDelete("MACD_5_2");
   ObjectDelete("MACD_5_3");
   ObjectDelete("MACD_5_4");    
   ObjectDelete("MACD_5_5");
   ObjectDelete("MACD_5");
   ObjectDelete("MACD_5p"); 
 
   ObjectDelete("MACD_6_0"); 
   ObjectDelete("MACD_6_1");
   ObjectDelete("MACD_6_2");
   ObjectDelete("MACD_6_3");
   ObjectDelete("MACD_6_4");      
   ObjectDelete("MACD_6_5");
   ObjectDelete("MACD_6");
   ObjectDelete("MACD_6p");
 
   ObjectDelete("MACD_7_0"); 
   ObjectDelete("MACD_7_1");
   ObjectDelete("MACD_7_2");
   ObjectDelete("MACD_7_3");
   ObjectDelete("MACD_7_4");     
   ObjectDelete("MACD_7_5");
   ObjectDelete("MACD_7");
   ObjectDelete("MACD_7p");
   
  }
  
void objectBlank()
  {
  
   ObjectSet("MACD_1_0",OBJPROP_COLOR,CLR_NONE); 
   ObjectSet("MACD_1_1",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_1_2",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_1_3",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_1_4",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_1_5",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_1",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_1p",OBJPROP_COLOR,CLR_NONE);

   ObjectSet("MACD_2_0",OBJPROP_COLOR,CLR_NONE); 
   ObjectSet("MACD_2_1",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_2_2",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_2_3",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_2_4",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_2_5",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_2",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_2p",OBJPROP_COLOR,CLR_NONE);

   ObjectSet("MACD_3_0",OBJPROP_COLOR,CLR_NONE); 
   ObjectSet("MACD_3_1",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_3_2",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_3_3",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_3_4",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_3_5",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_3",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_3p",OBJPROP_COLOR,CLR_NONE);

   ObjectSet("MACD_4_0",OBJPROP_COLOR,CLR_NONE); 
   ObjectSet("MACD_4_1",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_4_2",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_4_3",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_4_4",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_4_5",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_4",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_4p",OBJPROP_COLOR,CLR_NONE);

   ObjectSet("MACD_5_0",OBJPROP_COLOR,CLR_NONE); 
   ObjectSet("MACD_5_1",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_5_2",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_5_3",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_5_4",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_5_5",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_5",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_5p",OBJPROP_COLOR,CLR_NONE);

   ObjectSet("MACD_6_0",OBJPROP_COLOR,CLR_NONE); 
   ObjectSet("MACD_6_1",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_6_2",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_6_3",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_6_4",OBJPROP_COLOR,CLR_NONE);    
   ObjectSet("MACD_6_5",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_6",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_6p",OBJPROP_COLOR,CLR_NONE);

   ObjectSet("MACD_7_0",OBJPROP_COLOR,CLR_NONE); 
   ObjectSet("MACD_7_1",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_7_2",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_7_3",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_7_4",OBJPROP_COLOR,CLR_NONE);   
   ObjectSet("MACD_7_5",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_7",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_7p",OBJPROP_COLOR,CLR_NONE);      
   
   ObjectSet("MACD_L97",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_L97",OBJPROP_COLOR,CLR_NONE); 

   ObjectSet("MACD",OBJPROP_COLOR,CLR_NONE);
   ObjectSet("MACD_L97",OBJPROP_COLOR,CLR_NONE); 
   

  }
  
void paintCol1(double value1 )
  {
  

   if (value1 == 1) ObjectSet("MACD_1_5",OBJPROP_COLOR,Lime);
   if (value1 == 0) ObjectSet("MACD_1_5",OBJPROP_COLOR,Red);  
    
   ObjectSet("MACD_1",OBJPROP_COLOR,SkyBlue);
//   ObjectSetText("MACD_1p",DoubleToStr(value*100,0),8,"Arial Narrow",Silver);
//   GlobalVariableSet("MACD_1",value);
  }
  
void paintCol2(double value1 )
  {
   if (value1 == 1) ObjectSet("MACD_2_5",OBJPROP_COLOR,Lime);
   if (value1 == 0) ObjectSet("MACD_2_5",OBJPROP_COLOR,Red);  
   
   ObjectSet("MACD_2",OBJPROP_COLOR,SkyBlue);
//   ObjectSetText("MACD_2p",DoubleToStr(value*100,0),8,"Arial Narrow",Silver);
// GlobalVariableSet("MACD_2",value);
  }


void paintCol3(double value1 )
  {
   if (value1 == 1) ObjectSet("MACD_3_5",OBJPROP_COLOR,Lime);
   if (value1 == 0) ObjectSet("MACD_3_5",OBJPROP_COLOR,Red);  
  
   ObjectSet("MACD_3",OBJPROP_COLOR,SkyBlue);
//   ObjectSetText("MACD_3p",DoubleToStr(value*100,0),8,"Arial Narrow",Silver);
//   GlobalVariableSet("MACD_3",value);
  }

void paintCol4(double value1 )
  {
   if (value1 == 1) ObjectSet("MACD_4_5",OBJPROP_COLOR,Lime);
   if (value1 == 0) ObjectSet("MACD_4_5",OBJPROP_COLOR,Red);  
     
   ObjectSet("MACD_4",OBJPROP_COLOR,SkyBlue);
//   ObjectSetText("MACD_4p",DoubleToStr(value*100,0),8,"Arial Narrow",Silver);
//   GlobalVariableSet("MACD_4",value);
  }

void paintCol5(double value1 )
  {
   if (value1 == 1) ObjectSet("MACD_5_5",OBJPROP_COLOR,Lime);
   if (value1 == 0) ObjectSet("MACD_5_5",OBJPROP_COLOR,Red);  
    
   ObjectSet("MACD_5",OBJPROP_COLOR,SkyBlue);
//   ObjectSetText("MACD_5p",DoubleToStr(value*100,0),8,"Arial Narrow",Silver);
//   GlobalVariableSet("MACD_5",value);
  }

void paintCol6(double value1 )
  {
   if (value1 == 1) ObjectSet("MACD_6_5",OBJPROP_COLOR,Lime);
   if (value1 == 0) ObjectSet("MACD_6_5",OBJPROP_COLOR,Red);  
   
   ObjectSet("MACD_6",OBJPROP_COLOR,SkyBlue);
//   ObjectSetText("MACD_6p",DoubleToStr(value*100,0),8,"Arial Narrow",Silver);
//   GlobalVariableSet("MACD_6",value);
  }

void paintCol7(double  value1 )
  {
   if (value1 == 1) ObjectSet("MACD_7_5",OBJPROP_COLOR,Lime);
   if (value1 == 0) ObjectSet("MACD_7_5",OBJPROP_COLOR,Red);  
   
   ObjectSet("MACD_7",OBJPROP_COLOR,SkyBlue);
//   ObjectSetText("MACD_7p",DoubleToStr(value*100,0),8,"Arial Narrow",Silver);
//   GlobalVariableSet("MACD_7",value);
  }
  

  
void paintLine()
  {
   ObjectSet("MACD_L98",OBJPROP_COLOR,DimGray);
   ObjectSet("MACD_L97",OBJPROP_COLOR,DimGray);
   ObjectSet("MACD",OBJPROP_COLOR,DimGray);
   
  }



Sample



image not available


Analysis



Market Information Used:

Series array that contains open prices of each bar
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Series array that contains close prices for each bar


Indicator Curves created:


Indicators Used:

MACD Histogram


Custom Indicators Used:

Order Management characteristics:

Other Features: