FiboPivots





//+------------------------------------------------------------------+
//|                                                   FiboPivots.mq4 |
//|                                                           ttitto |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "ttitto"
#property link      ""

extern string  CloseMarketTime="20:59:59";

int closebar;
datetime calcbegin;
datetime closemarkettime;
extern bool visible_bars=false;
extern string first_bar_time="yyyy.mm.dd hh:mm";
extern string last_bar_time="yyyy.mm.dd hh:mm";
extern color close_color=Cyan;
extern color fibo_color=Orange;
extern color fiboext_color=Red;
extern color ma_color=Black;
extern color pivot_color=Blue;
extern int fontsize=13;


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   start();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
closemarkettime=StrToTime(CloseMarketTime);
if (CurTime()<=closemarkettime){closemarkettime=closemarkettime-24*60*60;}

closebar=(CurTime()-closemarkettime)/(60*Period());

double   highpr=High[Highest(NULL,0,MODE_HIGH,24*60/Period(),closebar)];
double   lowpr=Low[Lowest(NULL,0,MODE_LOW,24*60/Period(),closebar)];
double close=Close[closebar];

double pp=(highpr+lowpr+close)/3;
double s1=2*pp-highpr;
double s2=pp-(highpr-lowpr);
double r1=2*pp-lowpr;
double r2=pp+(highpr-lowpr);

string name=TimeToStr(closemarkettime);
calcbegin=closemarkettime+1;


      

//////////////////////////////////////////////////////////////////////

ObjectCreate("pp"+name,OBJ_TREND,0,calcbegin,pp,CurTime(),pp);
ObjectSet("pp"+name,OBJPROP_COLOR,Pink);
ObjectSet("pp"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("pp"+name,OBJPROP_PRICE1,pp);
ObjectSet("pp"+name,OBJPROP_TIME2,CurTime());
ObjectSet("pp"+name,OBJPROP_PRICE2,pp);
ObjectSet("pp"+name,OBJPROP_RAY,false);


ObjectCreate("ppt"+name,OBJ_TEXT,0,calcbegin,pp);
ObjectSetText("ppt"+name,"Pivot point "+DoubleToStr(pp,Digits),9);
ObjectSet("ppt"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("ppt"+name,OBJPROP_PRICE1,pp);
ObjectSet("ppt"+name,OBJPROP_COLOR,Pink);
//=======================================================================
ObjectCreate("r1"+name,OBJ_TREND,0,calcbegin,r1,CurTime(),r1);
ObjectSet("r1"+name,OBJPROP_COLOR,RoyalBlue);
ObjectSet("r1"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("r1"+name,OBJPROP_PRICE1,r1);
ObjectSet("r1"+name,OBJPROP_TIME2,CurTime());
ObjectSet("r1"+name,OBJPROP_PRICE2,r1);
ObjectSet("r1"+name,OBJPROP_RAY,false);


ObjectCreate("r1t"+name,OBJ_TEXT,0,calcbegin,r1);
ObjectSetText("r1t"+name,"R1 "+DoubleToStr(r1,Digits),9);
ObjectSet("r1t"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("r1t"+name,OBJPROP_PRICE1,r1);
ObjectSet("r1t"+name,OBJPROP_COLOR,RoyalBlue);
//=====================================================================
ObjectCreate("r2"+name,OBJ_TREND,0,calcbegin,r2,CurTime(),r2);
ObjectSet("r2"+name,OBJPROP_COLOR,Blue);
ObjectSet("r2"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("r2"+name,OBJPROP_PRICE1,r2);
ObjectSet("r2"+name,OBJPROP_TIME2,CurTime());
ObjectSet("r2"+name,OBJPROP_PRICE2,r2);
ObjectSet("r2"+name,OBJPROP_RAY,false);


ObjectCreate("r2t"+name,OBJ_TEXT,0,calcbegin,r2);
ObjectSetText("r2t"+name,"R2 "+DoubleToStr(r2,Digits),9);
ObjectSet("r2t"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("r2t"+name,OBJPROP_PRICE1,r2);
ObjectSet("r2t"+name,OBJPROP_COLOR,Blue);
//====================================================================
ObjectCreate("s1"+name,OBJ_TREND,0,calcbegin,s1,CurTime(),s1);
ObjectSet("s1"+name,OBJPROP_COLOR,HotPink);
ObjectSet("s1"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("s1"+name,OBJPROP_PRICE1,s1);
ObjectSet("s1"+name,OBJPROP_TIME2,CurTime());
ObjectSet("s1"+name,OBJPROP_PRICE2,s1);
ObjectSet("s1"+name,OBJPROP_RAY,false);


ObjectCreate("s1t"+name,OBJ_TEXT,0,calcbegin,s1);
ObjectSetText("s1t"+name,"S1 "+DoubleToStr(s1,Digits),9);
ObjectSet("s1t"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("s1t"+name,OBJPROP_PRICE1,s1);
ObjectSet("s1t"+name,OBJPROP_COLOR,HotPink);
//====================================================================
ObjectCreate("s2"+name,OBJ_TREND,0,calcbegin,s2,CurTime(),s2);
ObjectSet("s2"+name,OBJPROP_COLOR,Red);
ObjectSet("s2"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("s2"+name,OBJPROP_PRICE1,s2);
ObjectSet("s2"+name,OBJPROP_TIME2,CurTime());
ObjectSet("s2"+name,OBJPROP_PRICE2,s2);
ObjectSet("s2"+name,OBJPROP_RAY,false);


ObjectCreate("s2t"+name,OBJ_TEXT,0,calcbegin,s2);
ObjectSetText("s2t"+name,"S2 "+DoubleToStr(s2,Digits),9);
ObjectSet("s2t"+name,OBJPROP_TIME1,calcbegin);
ObjectSet("s2t"+name,OBJPROP_PRICE1,s2);
ObjectSet("s2t"+name,OBJPROP_COLOR,Red);

Comment(name+" "+closebar,"\n"+"Highest Price: "+highpr,"\n"+"Lowest Price: "+ lowpr,"\n"+ "Close Price: "+close);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Fibonacci/////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
double bars_number;
int bars_count;
int first_bar;
int last_bar;
double hgpr;
double lwpr;
double pr38,pr138up,pr138dn;
double pr50,pr150up,pr150dn;
double pr68,pr168up,pr168dn;
double pr23,pr123up,pr123dn;
double pr76,pr176up,pr176dn;

if (visible_bars==true)
   {  
   first_bar=FirstVisibleBar();  
   bars_count=BarsPerWindow();
   }
else
   {
   bars_number=((StrToTime(last_bar_time)-StrToTime(first_bar_time))/60)/Period();
   first_bar=MathFloor(bars_number)+1;
   last_bar=iBarShift(NULL,0,StrToTime(last_bar_time));
   }   

//Comment("Bars Number: "+bars_number+ " "+"First Bar: "+first_bar);

hgpr=High[Highest(NULL,0,MODE_HIGH,first_bar,last_bar)];
lwpr=Low[Lowest(NULL,0,MODE_LOW,first_bar,last_bar)];
pr23=(hgpr-lwpr)*0.236+lwpr;
pr38=(hgpr-lwpr)*0.382+lwpr;
pr50=(hgpr-lwpr)*0.5+lwpr;
pr68=(hgpr-lwpr)*0.681+lwpr;
pr76=(hgpr-lwpr)*0.764+lwpr;

pr123up=(hgpr-lwpr)*1.236+lwpr;
pr138up=(hgpr-lwpr)*1.382+lwpr;
pr150up=(hgpr-lwpr)*1.5+lwpr;
pr168up=(hgpr-lwpr)*1.681+lwpr;
pr176up=(hgpr-lwpr)*1.764+lwpr;

pr123dn=-(hgpr-lwpr)*0.236+lwpr;
pr138dn=-(hgpr-lwpr)*0.382+lwpr;
pr150dn=-(hgpr-lwpr)*0.5+lwpr;
pr168dn=-(hgpr-lwpr)*0.681+lwpr;
pr176dn=-(hgpr-lwpr)*0.764+lwpr;



//Drawing lines=========================================================

ObjectCreate("hgpr",OBJ_HLINE,0,StrToTime(last_bar_time),hgpr);
ObjectSet("hgpr",OBJPROP_COLOR,Black);
ObjectSet("hgpr",OBJPROP_PRICE1,hgpr);

ObjectCreate("Highest Price",OBJ_TEXT,0,StrToTime(last_bar_time),hgpr);
ObjectSetText("Highest Price","Highest price",10);
ObjectSet("Highest Price",OBJPROP_PRICE1,hgpr);
ObjectSet("Highest Price",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("Highest Price", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////

ObjectCreate("lwpr",OBJ_HLINE,0,StrToTime(last_bar_time),lwpr);
ObjectSet("lwpr",OBJPROP_COLOR,Black);
ObjectSet("lwpr",OBJPROP_PRICE1,lwpr);

ObjectCreate("Lowest Price",OBJ_TEXT,0,StrToTime(last_bar_time),lwpr);
ObjectSetText("Lowest Price","Lowest price",10);
ObjectSet("Lowest Price",OBJPROP_PRICE1,lwpr);
ObjectSet("Lowest Price",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("Lowest Price", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr23",OBJ_HLINE,0,StrToTime(last_bar_time),pr23);
ObjectSet("pr23",OBJPROP_COLOR,Black);
ObjectSet("pr23",OBJPROP_PRICE1,pr23);

ObjectCreate("pr23t",OBJ_TEXT,0,StrToTime(last_bar_time),pr23);
ObjectSetText("pr23t","fibo 23.6",10);
ObjectSet("pr23t",OBJPROP_PRICE1,pr23);
ObjectSet("pr23t",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr23t", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////

ObjectCreate("pr38",OBJ_HLINE,0,StrToTime(last_bar_time),pr38);
ObjectSet("pr38",OBJPROP_COLOR,Black);
ObjectSet("pr38",OBJPROP_PRICE1,pr38);

ObjectCreate("pr38t",OBJ_TEXT,0,StrToTime(last_bar_time),pr38);
ObjectSetText("pr38t","fibo 38.2",10);
ObjectSet("pr38t",OBJPROP_PRICE1,pr38);
ObjectSet("pr38t",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr38t", OBJPROP_COLOR,Black);
//////////////////////////////////////////////////////////////////////
ObjectCreate("pr50",OBJ_HLINE,0,StrToTime(last_bar_time),pr50);
ObjectSet("pr50",OBJPROP_COLOR,Black);
ObjectSet("pr50",OBJPROP_PRICE1,pr50);

ObjectCreate("pr50t",OBJ_TEXT,0,StrToTime(last_bar_time),pr50);
ObjectSetText("pr50t","fibo 50",10);
ObjectSet("pr50t",OBJPROP_PRICE1,pr50);
ObjectSet("pr50t",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr50t", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////

ObjectCreate("pr68",OBJ_HLINE,0,StrToTime(last_bar_time),pr68);
ObjectSet("pr68",OBJPROP_COLOR,Black);
ObjectSet("pr68",OBJPROP_PRICE1,pr68);

ObjectCreate("pr68t",OBJ_TEXT,0,StrToTime(last_bar_time),pr68);
ObjectSetText("pr68t","fibo 68.1",10);
ObjectSet("pr68t",OBJPROP_PRICE1,pr68);
ObjectSet("pr68t",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr68t", OBJPROP_COLOR,Black);
//////////////////////////////////////////////////////////////////////

ObjectCreate("pr76",OBJ_HLINE,0,StrToTime(last_bar_time),pr76);
ObjectSet("pr76",OBJPROP_COLOR,Black);
ObjectSet("pr76",OBJPROP_PRICE1,pr76);

ObjectCreate("pr76t",OBJ_TEXT,0,StrToTime(last_bar_time),pr76);
ObjectSetText("pr76t","fibo 76.4",10);
ObjectSet("pr76t",OBJPROP_PRICE1,pr76);
ObjectSet("pr76t",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr76t", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr123up",OBJ_HLINE,0,StrToTime(last_bar_time),pr123up);
ObjectSet("pr123up",OBJPROP_COLOR,Black);
ObjectSet("pr123up",OBJPROP_PRICE1,pr123up);

ObjectCreate("pr123upt",OBJ_TEXT,0,StrToTime(last_bar_time),pr123up);
ObjectSetText("pr123upt","fibo 123",10);
ObjectSet("pr123upt",OBJPROP_PRICE1,pr123up);
ObjectSet("pr123upt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr123upt", OBJPROP_COLOR,Black);
////////////////////////////////////////////////////////////////////////
ObjectCreate("pr123dn",OBJ_HLINE,0,StrToTime(last_bar_time),pr123dn);
ObjectSet("pr123dn",OBJPROP_COLOR,Black);
ObjectSet("pr123dn",OBJPROP_PRICE1,pr123dn);

ObjectCreate("pr123dnt",OBJ_TEXT,0,StrToTime(last_bar_time),pr123dn);
ObjectSetText("pr123dnt","fibo -123",10);
ObjectSet("pr123dnt",OBJPROP_PRICE1,pr123dn);
ObjectSet("pr123dnt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr123dnt", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr138up",OBJ_HLINE,0,StrToTime(last_bar_time),pr138up);
ObjectSet("pr138up",OBJPROP_COLOR,Black);
ObjectSet("pr138up",OBJPROP_PRICE1,pr138up);

ObjectCreate("pr138upt",OBJ_TEXT,0,StrToTime(last_bar_time),pr138up);
ObjectSetText("pr138upt","fibo 138",10);
ObjectSet("pr138upt",OBJPROP_PRICE1,pr138up);
ObjectSet("pr138upt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr138upt", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr138dn",OBJ_HLINE,0,StrToTime(last_bar_time),pr138dn);
ObjectSet("pr138dn",OBJPROP_COLOR,Black);
ObjectSet("pr138dn",OBJPROP_PRICE1,pr138dn);

ObjectCreate("pr138dnt",OBJ_TEXT,0,StrToTime(last_bar_time),pr138dn);
ObjectSetText("pr138dnt","fibo -138",10);
ObjectSet("pr138dnt",OBJPROP_PRICE1,pr138dn);
ObjectSet("pr138dnt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr138dnt", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr150dn",OBJ_HLINE,0,StrToTime(last_bar_time),pr150dn);
ObjectSet("pr150dn",OBJPROP_COLOR,Black);
ObjectSet("pr150dn",OBJPROP_PRICE1,pr150dn);

ObjectCreate("pr150dnt",OBJ_TEXT,0,StrToTime(last_bar_time),pr150dn);
ObjectSetText("pr150dnt","fibo -150",10);
ObjectSet("pr150dnt",OBJPROP_PRICE1,pr150dn);
ObjectSet("pr150dnt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr150dnt", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr150up",OBJ_HLINE,0,StrToTime(last_bar_time),pr150up);
ObjectSet("pr150up",OBJPROP_COLOR,Black);
ObjectSet("pr150up",OBJPROP_PRICE1,pr150up);

ObjectCreate("pr150upt",OBJ_TEXT,0,StrToTime(last_bar_time),pr150up);
ObjectSetText("pr150upt","fibo 150",10);
ObjectSet("pr150upt",OBJPROP_PRICE1,pr150up);
ObjectSet("pr150upt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr150upt", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr168up",OBJ_HLINE,0,StrToTime(last_bar_time),pr168up);
ObjectSet("pr168up",OBJPROP_COLOR,Black);
ObjectSet("pr168up",OBJPROP_PRICE1,pr168up);

ObjectCreate("pr168upt",OBJ_TEXT,0,StrToTime(last_bar_time),pr168up);
ObjectSetText("pr168upt","fibo 168",10);
ObjectSet("pr168upt",OBJPROP_PRICE1,pr168up);
ObjectSet("pr168upt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr168upt", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr168dn",OBJ_HLINE,0,StrToTime(last_bar_time),pr168dn);
ObjectSet("pr168dn",OBJPROP_COLOR,Black);
ObjectSet("pr168dn",OBJPROP_PRICE1,pr168dn);

ObjectCreate("pr168dnt",OBJ_TEXT,0,StrToTime(last_bar_time),pr168dn);
ObjectSetText("pr168dnt","fibo -168",10);
ObjectSet("pr168dnt",OBJPROP_PRICE1,pr168dn);
ObjectSet("pr168dnt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr168dnt", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr176dn",OBJ_HLINE,0,StrToTime(last_bar_time),pr176dn);
ObjectSet("pr176dn",OBJPROP_COLOR,Black);
ObjectSet("pr176dn",OBJPROP_PRICE1,pr176dn);

ObjectCreate("pr176dnt",OBJ_TEXT,0,StrToTime(last_bar_time),pr176dn);
ObjectSetText("pr176dnt","fibo -176",10);
ObjectSet("pr176dnt",OBJPROP_PRICE1,pr176dn);
ObjectSet("pr176dnt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr176dnt", OBJPROP_COLOR,Black);
///////////////////////////////////////////////////////////////////////
ObjectCreate("pr176up",OBJ_HLINE,0,StrToTime(last_bar_time),pr176up);
ObjectSet("pr176up",OBJPROP_COLOR,Black);
ObjectSet("pr176up",OBJPROP_PRICE1,pr176up);

ObjectCreate("pr176upt",OBJ_TEXT,0,StrToTime(last_bar_time),pr176up);
ObjectSetText("pr176upt","fibo 176",10);
ObjectSet("pr176upt",OBJPROP_PRICE1,pr176up);
ObjectSet("pr176upt",OBJPROP_TIME1,Time[first_bar-3]);
ObjectSet("pr176upt", OBJPROP_COLOR,Black);
/////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////
//LEVELS////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
double ema8=iMA(NULL,0,8,0,MODE_EMA,PRICE_CLOSE,0);
double ema21=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,0);
double sma200=iMA(NULL,0,200,0,MODE_SMA,PRICE_CLOSE,0);
double sma89=iMA(NULL,0,89,0,MODE_SMA,PRICE_CLOSE,0);
double ema365=iMA(NULL,0,365,0,MODE_EMA,PRICE_CLOSE,0);


double levels[27][2];
levels[1][1]=1;
levels[1][0]=r1;

levels[0][0]=r2;
levels[0][1]=2;

levels[2][0]=pp;
levels[2][1]=3;

levels[3][0]=s2;
levels[3][1]=4;

levels[4][0]=s1;
levels[4][1]=5;

levels[5][0]=lwpr;
levels[5][1]=6;

levels[6][0]=hgpr;
levels[6][1]=7;

levels[7][0]=Close[0];
levels[7][1]=8;

levels[8][0]=ema8;
levels[8][1]=9;

levels[9][0]=ema21;
levels[9][1]=10;

levels[10][0]=sma200;
levels[10][1]=11;

levels[11][0]=sma89;
levels[11][1]=12;

levels[12][0]=ema365;
levels[12][1]=13;

levels[13][0]=pr38;
levels[13][1]=14;

levels[14][0]=pr50;
levels[14][1]=15;

levels[15][0]=pr68;
levels[15][1]=16;

levels[16][0]=pr23;
levels[16][1]=17;

levels[17][0]=pr76;
levels[17][1]=18;

levels[18][0]=pr138up;
levels[18][1]=19;

levels[19][0]=pr138dn;
levels[19][1]=20;

levels[20][0]=pr150up;
levels[20][1]=21;

levels[21][0]=pr150dn;
levels[21][1]=22;

levels[22][0]=pr168up;
levels[22][1]=23;

levels[23][0]=pr168dn;
levels[23][1]=24;

levels[24][0]=pr123up;
levels[24][1]=25;

levels[25][0]=pr123dn;
levels[25][1]=26;

levels[26][0]=pr176up;
levels[26][1]=27;

levels[27][0]=pr176dn;
levels[27][1]=28;


string comm,print;
ArraySort(levels,WHOLE_ARRAY,0,MODE_DESCEND);
for (int i=0;i<28;i++) {
   //comm=comm;
   ObjectDelete("Prices"+i);
   ObjectCreate("Prices"+i, OBJ_LABEL, 0, 0, 0);
   if (StringFind(comm,"F6")!=-1||StringFind(comm,"F2")!=-1||StringFind(comm,"F3")!=-1||StringFind(comm,"F7")!=-1||StringFind(comm,"F5")!=-1||StringFind(comm,"F ")!=-1) {
      ObjectSetText("Prices"+i, comm, fontsize, "Arial Bold", fibo_color);
   }
   if (StringFind(comm,"CLOS")!=-1) {
      ObjectSetText("Prices"+i, comm, fontsize, "Arial Bold", close_color);
   }
   if (StringFind(comm,"F1")!=-1||StringFind(comm,"F-")!=-1) {
      ObjectSetText("Prices"+i, comm, fontsize, "Arial Bold", fiboext_color);
   }
   if (StringFind(comm,"MA")!=-1) {
      ObjectSetText("Prices"+i, comm, fontsize, "Arial Bold", ma_color);
   }
   if (StringFind(comm,"S1")!=-1||StringFind(comm,"S2")!=-1||StringFind(comm,"PP")!=-1||StringFind(comm,"R1")!=-1||StringFind(comm,"R2")!=-1) {
      ObjectSetText("Prices"+i, comm, fontsize, "Arial Bold", pivot_color);
   }
   
   
   ObjectSet("Prices"+i,OBJPROP_YDISTANCE,50+i*15);
   ObjectSet("Prices"+i,OBJPROP_XDISTANCE,5);


   for (int j=1;j>=0;j--) {
      if (j==0){
         print=DoubleToStr(levels[i][j],Digits);
         comm=comm+":       "+print;
      }
      else {
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(1,Digits)) {
            print="R1"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(2,Digits)) {
            print="R2"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(3,Digits)) {
            print="PP"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(4,Digits)) {
            print="S2"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(5,Digits)) {
            print="S1"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(6,Digits)) {
            print="F Low"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(7,Digits)) {
            print="F High"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(8,Digits)) {
            print="CLOSE"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(9,Digits)) {
            print="EMA8"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(10,Digits)) {
            print="EMA21"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(11,Digits)) {
            print="SMA200"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(12,Digits)) {
            print="SMA89"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(13,Digits)) {
            print="EMA365"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(14,Digits)) {
            print="F38"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(15,Digits)) {
            print="F50"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(16,Digits)) {
            print="F68"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(17,Digits)) {
            print="F23"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(18,Digits)) {
            print="F76"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(19,Digits)) {
            print="F138"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(20,Digits)) {
            print="F-138"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(21,Digits)) {
            print="F150"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(22,Digits)) {
            print="F-150"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(23,Digits)) {
            print="F168"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(24,Digits)) {
            print="F-168"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(25,Digits)) {
            print="F123"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(26,Digits)) {
            print="F-123"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(27,Digits)) {
            print="F176"; comm=print;
         }
         if (DoubleToStr(levels[i][1],Digits)==DoubleToStr(28,Digits)) {
            print="F-176"; comm=print;
         }

         
         
      }
   }
}
//Comment(comm);

//ObjectCreate("Prices", OBJ_LABEL, 0, 0, 0);
//ObjectSetText("Prices", comm, 40, "Comic Sans MS", LawnGreen);*/
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:

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
Series array that contains open time of each bar


Indicator Curves created:


Indicators Used:

Moving average indicator


Custom Indicators Used:

Order Management characteristics:

Other Features: