Golden_section_v2.2

Author: Talex
Golden_section_v2.2
Miscellaneous
Implements a curve of type %1It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
Golden_section_v2.2
//+------------------------------------------------------------------+
//|                                            Golden_section_v2.mq4 |
//|                                                            Talex |
//|                                                 tan@gazinter.net |
//+------------------------------------------------------------------+
// Very rough English translation by http://translation2.paralink.com/
// Feel free to translate the rest of the comments.

#property copyright "Talex"
#property link      "tan@gazinter.net"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Lime

extern int ExtDepth=8; /* Parameter for ZZ */
/*extern*/ int ExtIndicator=0; /* Defines ? which will search for points for construction of a pattern while only 0 */
extern double ExtDopusk=0.01; /* The parameters of pattern will differ not more than value ExtDopusk */
extern int ExtPoint=3; /* The number of counted points of break, if we make more than 3, then it is possible to construct from any point of break */
extern string ExtComplect="0"; /* This in order to derive several indicators on the graph */
extern int ExtMovePoint=0; /*To move the point of otrisovki of fan from the pitchforks for a quantity of bars indicated of the variable*/
extern bool ExtPitchfork=true; /* Construction with the aid of the pitchforks is used*/
extern bool ExtPitchforkRevers=false; /* Is turned over broom, why? you will ask Vadimcha */
extern bool ExtBack=true; /*If true, then objects will be shown in the background regime */
extern bool ExtFan=true; /* If true, then fibovenik will be brought out to the graph */
extern bool ExtRec=true; /* If true, then rectangle will be brought out to the graph */
extern bool ExtArc=true; /* If true, then fiboarka will be brought out to the graph */
extern bool ExtLeftChannel=false; /* If true, then the lines of channel will be brought out to the graph */
extern bool ExtRightChannel=false; /* If true, then the lines of channel will be brought out to the graph */
extern double ExtFiboLeftChannel=1.618; /* Is established fibo the point of the construction of the left lines */
extern double ExtFiboRightChannel=1.618; /* Is established fibo the point of the construction of the right lines */
extern bool ExtSave=false; /* If true, then constructions will be preserved on the graph */
extern double ExtScale=0; /* The scale of the arc is established */
extern int ExtFanStyle=0; /* Is established the style of the lines of fibovenika */
extern int ExtFanWidth=1; /* Is established the width of the lines of fibovenika */
extern color ExtFanColor=DeepPink; /* the color of fibovenikov */
extern int ExtRecStyle=4; /* The style of the lines of the rectangle is established */
extern int ExtRecWidth=1; /* The width of thêàe lines of the rectangle is established */
extern color ExtRecColor=Yellow; /* The color of the rectangle */
extern int ExtArcStyle=0; /* Is established the style of the lines of fiboarki */ 
extern int ExtArcWidth=1; /* Is established the width of the lines of fiboarki */
extern color ExtArcColor=Red; /* The color of the arc */
extern int ExtChannelStyle=0; /* The style of the lines of the channel is established */ 
extern int ExtChannelWidth=1; /* The width of the lines of the channel is established */ 
extern color ExtChannelColor=Blue; /* The color of the lines of the channel */
extern int ExtPitchforkStyle=0; /* The style of the lines of the pitchforks is established */
extern int ExtPitchforkWidth=1; /* The width of the lines of the pitchforks is established */
extern color ExtPitchforkColor=Lime; /* The color of the pitchforks */

/* Below coordinates of points can be introduced by the knobs */

extern datetime TimePointX=0; /* The time of point X in the size '1980.07.19 12:30' */
extern datetime TimePointA=0; /* The time of point A in the size '1980.07.19 12:30' */
extern datetime TimePointB=0; /* The time of point B in the size '1980.07.19 12:30' */

extern double FiboFanMediana1=0.382;
extern double FiboFanMediana2=1.272;

extern double Fibo1=0.0;
extern double Fibo2=0.382;
extern double Fibo3=0.5;
extern double Fibo4=0.618;
extern double Fibo5=0.786;
extern double Fibo6=0.886;
extern double Fibo7=1.0;
extern double Fibo8=1.272;
extern double Fibo9=1.618;
extern double Fibo10=2.0;
extern double Fibo11=2.618;

/* Council - nastroyte for itself color, style, the width of the lines of objects, fibo- levels and remove before the appropriate parameters extern */


double zz[];
//+------------------------------------------------------------------+
//| Custom Indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   IndicatorBuffers(1);
   SetIndexBuffer(0,zz);
   SetIndexStyle(0,DRAW_SECTION);
   SetIndexEmptyValue(0,0.0);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom Indicator deinitialization function                       |
//+------------------------------------------------------------------+

int deinit()
  {
//----
   int i;
   
    for(i=0;i<=ExtDepth;i++)
    {
    ObjectDelete("FiboFan1"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("FiboFan2"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("FiboArc"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("Rectangle"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("LeftChannel"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("RightChannel"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("LeftLine"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("RightLine"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("Pitchfork"+"_"+i+"_"+ExtComplect+"_");
    ObjectDelete("Mediana"+"_"+i+"_"+ExtComplect+"_");
    }
    
   //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom Indicator iteration function                              |
//+------------------------------------------------------------------+

int start()
  {
   int PP[];
   int i,j,X,A,B;
   double R0382=0.382, R0786=0.786, retXB, minret, maxret,AutoScale;
   double p1,p2,p3,p4,p5,p6,p7;
   datetime t1,t2,t3,t4,t5,t6,t7;
   string save="";
   double tang;
   
   if(ExtSave==true)
   {
    save=TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS);
   }
   minret=1-ExtDopusk; maxret=1+ExtDopusk;
   
   ArrayResize(PP,ExtPoint); 
   
   if(TimePointX!=0 && TimePointA!=0 && TimePointB!=0)
   {
    ExtPoint=3;
    PP[0]=iBarShift(NULL,0,TimePointB); 
    PP[1]=iBarShift(NULL,0,TimePointA);
    PP[2]=iBarShift(NULL,0,TimePointX);
    if((High[PP[0]]>High[PP[1]] && High[PP[2]]>High[PP[1]]) || (Low[PP[0]]>Low[PP[1]] && Low[PP[2]]>Low[PP[1]]))
    {
     zz[PP[0]]=High[PP[0]];
     zz[PP[1]]=Low[PP[1]];
     zz[PP[2]]=High[PP[2]];
    }else 
     {
      zz[PP[0]]=Low[PP[0]];
      zz[PP[1]]=High[PP[1]];
      zz[PP[2]]=Low[PP[2]];
     }
   } else
   {
   switch (ExtIndicator)
     {
      case 0: {ZZTalex(ExtDepth);   break;}
      
      /*Here it is possible to add functions according to the calculation of the points of the patterns*/
      
      default:{ZZTalex(ExtDepth);   break;}
     }
     if(ExtIndicator==0)
     { 
      j=0;
      for(i=0;i<Bars-1 && j<=ExtPoint;i++)
      {
       if(zz[i]!=0)
       {
        PP[j]=i;
        j++;
       }
      }
     }
    }
    if(ExtPitchfork==false)
    {
     if((zz[PP[ExtPoint-1]]<zz[PP[ExtPoint-3]] && zz[PP[ExtPoint-3]]<zz[PP[ExtPoint-2]]) || (zz[PP[ExtPoint-1]]>zz[PP[ExtPoint-3]] && zz[PP[ExtPoint-3]]>zz[PP[ExtPoint-2]]))
     {
      retXB=(zz[PP[ExtPoint-2]]-zz[PP[ExtPoint-3]])/(zz[PP[ExtPoint-2]]-zz[PP[ExtPoint-1]]+0.000001);
      
      if(retXB>=R0382*minret && retXB<=R0786*maxret)
      {
       t1=Time[PP[ExtPoint-1]];p1=zz[PP[ExtPoint-1]];
       t2=Time[PP[ExtPoint-3]];p2=zz[PP[ExtPoint-3]];
       if(2*PP[ExtPoint-3]-PP[ExtPoint-1]<=0)
       {
        t3=Time[0]-(2*PP[ExtPoint-3]-PP[ExtPoint-1])*Period()*60;p3=zz[PP[ExtPoint-3]]-(zz[PP[ExtPoint-1]]-zz[PP[ExtPoint-3]]);
       } else {t3=Time[2*PP[ExtPoint-3]-PP[ExtPoint-1]];p3=zz[PP[ExtPoint-3]]-(zz[PP[ExtPoint-1]]-zz[PP[ExtPoint-3]]);}
      }
     }
     if(ExtScale==0)
     {/* Calculation AutoScale proposed Vadimcha to it all questions */
      AutoScale=MathAbs((p1-p3)*MathPow(10,Digits)/(2*(PP[ExtPoint-1]-PP[ExtPoint-3])));
     }else AutoScale=ExtScale;
     CreateObject(p1,p2,p3,t1,t2,t3,save,AutoScale);
    }
    if(ExtPitchfork)
   {
    t1=Time[PP[ExtPoint-1]];p1=zz[PP[ExtPoint-1]];
    t2=Time[PP[ExtPoint-2]];p2=zz[PP[ExtPoint-2]];
    t3=Time[PP[ExtPoint-3]];p3=zz[PP[ExtPoint-3]];
    p4=(zz[PP[ExtPoint-2]]+zz[PP[ExtPoint-3]])/2;
    ObjectCreate("Pitchfork"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_PITCHFORK,0,t1,p1,t2,p2,t3,p3);
    ObjectSet("Pitchfork"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,ExtBack);
    ObjectSet("Pitchfork"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_COLOR,ExtPitchforkColor);
    ObjectSet("Pitchfork"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_STYLE,ExtPitchforkStyle);
    ObjectSet("Pitchfork"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_WIDTH,ExtPitchforkWidth);
       
    tang=(p1-p4)/(PP[ExtPoint-1]-(PP[ExtPoint-2]-(PP[ExtPoint-2]-PP[ExtPoint-3])/2.0));
    t5=t3;
    p5=p1-tang*(PP[ExtPoint-1]-PP[ExtPoint-3]);
    ObjectCreate("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_TREND,0,t1,p1,t5,p5);
    ObjectSet("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,ExtBack);
    ObjectSet("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_COLOR,ExtPitchforkColor);
    
    if((p1<p2 && p1<p4) || (p1>p2 && p1>p4))
     {
      /* In this case the levels of less than 100% will coincide */
      
       p6=(p5-p3)/FiboFanMediana1+p3;//-tang*ExtMovePoint;
       if(ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)<-100)
        {
         Alert("The point for construction of a fan to be too far, try to use greater value for FiboFanMediana1");
        }
      
       if(ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)>0)
       {
        t6=Time[ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)]+ExtMovePoint*Period()*60;
       } else t6=Time[0]-ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)*Period()*60+ExtMovePoint*Period()*60;
     }
     if((p1<p2 && p1>p4) || (p1>p2 && p1<p4))
     {
      /* Variables */
      
       p6=(p5-p3)/FiboFanMediana2+p3;//-tang*ExtMovePoint;
       if(ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)<-100)
        {
         Alert("The point for construction of a fan to be too far, try to use smaller value for FiboFanMediana2");
        }
     
       if(ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)-ExtMovePoint>=0)
       {
        t6=Time[ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)]+ExtMovePoint*Period()*60;
       } else t6=Time[0]-ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)*Period()*60+ExtMovePoint*Period()*60;
     }
     if(2*ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)-PP[ExtPoint-3]-2*ExtMovePoint>=0)
     {
      t7=Time[2*ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6)-PP[ExtPoint-3]-2*ExtMovePoint];
     }
      else t7=t6+(PP[ExtPoint-3]-ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6))*Period()*60+ExtMovePoint*Period()*60;
     /* the correction of price p6*/
     p6=ObjectGetValueByShift("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6));
     p7=2*p6-p3;
     //Print("t6=",TimeToStr(t6,TIME_DATE),"; p6=",p6,"; NbarMediana=",ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6));
     //Print("t3=",TimeToStr(t3,TIME_DATE),"; p3=",p3,"; t7=",TimeToStr(t7,TIME_DATE),"; p7=",p7);
     if(p1==p4)
     {
      Alert("Fan to construct it is impossible.");
      p3=0;p6=0;p7=0;t3=0;t6=0;t7=0;
     }
     if(ExtScale==0)
     {
      AutoScale=MathAbs((p7-p3)*MathPow(10,Digits)/(2*(PP[ExtPoint-3]-ObjectGetShiftByValue("Mediana"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,p6))));
     }else AutoScale=ExtScale;
    CreateObject(p3,p6,p7,t3,t6,t7,save,AutoScale);
     
   }
   
//----
   
//----
   return(0);
  }
  
/*------------------------------------------------------------------------------------------------------------------------------------+
|  ZigZag_.Talex, searches for the points of break on the graph. A quantity of points is assigned by the external parameter ExtPoint  |                        
+------------------------------------------------------------------------------------------------------------------------------------*/

void ZZTalex(int n)
{

/* Variables */

   int    i,j,k,zzbarlow,zzbarhigh,curbar,curbar1,curbar2,EP,Mbar[];
   double curpr,Mprice[];
   bool flag,fd;
   static int endbar;
   static double endpr;
   
   
   /* The beginning */
   
   for(i=0;i<=Bars-1;i++)
   {zz[i]=0.0;}
   
   EP=ExtPoint;
   zzbarlow=iLowest(NULL,0,MODE_LOW,n,0);        
   zzbarhigh=iHighest(NULL,0,MODE_HIGH,n,0);     
   
   if(zzbarlow<zzbarhigh) {curbar=zzbarlow; curpr=Low[zzbarlow];}
   if(zzbarlow>zzbarhigh) {curbar=zzbarhigh; curpr=High[zzbarhigh];}
   if(zzbarlow==zzbarhigh){curbar=zzbarlow;curpr=funk1(zzbarlow, n);}
   
   ArrayResize(Mbar,ExtPoint);
   ArrayResize(Mprice,ExtPoint);
   j=0;
   endpr=curpr;
   endbar=curbar;
   Mbar[j]=curbar;
   Mprice[j]=curpr;
   
   EP--;
   if(curpr==Low[curbar]) flag=true;
   else flag=false;
    
   i=curbar+1;
   while(EP>0)
   {
    if(flag)
    {
     while(i<=Bars-1)
     {
     curbar1=iHighest(NULL,0,MODE_HIGH,n,i); 
     curbar2=iHighest(NULL,0,MODE_HIGH,n,curbar1); 
     if(curbar1==curbar2){curbar=curbar1;curpr=High[curbar];flag=false;i=curbar+1;j++;break;}
     else i=curbar2;
     }
     
     Mbar[j]=curbar;
     Mprice[j]=curpr;
     EP--;
     
    }
    
    if(EP==0) break;
    
    if(!flag) 
    {
     while(i<=Bars-1)
     {
     curbar1=iLowest(NULL,0,MODE_LOW,n,i); 
     curbar2=iLowest(NULL,0,MODE_LOW,n,curbar1); 
     if(curbar1==curbar2){curbar=curbar1;curpr=Low[curbar];flag=true;i=curbar+1;j++;break;}
     else i=curbar2;
     }
     
     Mbar[j]=curbar;
     Mprice[j]=curpr;
     EP--;
    }
   }
   /* The correction of the apexes */
   if(Mprice[0]==Low[Mbar[0]])fd=true; else fd=false;
   for(k=0;k<=ExtPoint-1;k++)
   {
    if(k==0)
    {
     if(fd==true)
      {
       Mbar[k]=iLowest(NULL,0,MODE_LOW,Mbar[k+1]-Mbar[k],Mbar[k]);Mprice[k]=Low[Mbar[k]];endbar=ExtDepth;
      }
     if(fd==false)
      {
       Mbar[k]=iHighest(NULL,0,MODE_HIGH,Mbar[k+1]-Mbar[k],Mbar[k]);Mprice[k]=High[Mbar[k]];endbar=ExtDepth;
      }
    }
    if(k<ExtPoint-2)
    {
     if(fd==true)
      {
       Mbar[k+1]=iHighest(NULL,0,MODE_HIGH,Mbar[k+2]-Mbar[k]-1,Mbar[k]+1);Mprice[k+1]=High[Mbar[k+1]];
      }
     if(fd==false)
      {
       Mbar[k+1]=iLowest(NULL,0,MODE_LOW,Mbar[k+2]-Mbar[k]-1,Mbar[k]+1);Mprice[k+1]=Low[Mbar[k+1]];
      }
    }
    if(fd==true)fd=false;else fd=true;
    
    /* Building ZigZag'a */
    zz[Mbar[k]]=Mprice[k];
    //Print("zz_"+k,"=",zz[Mbar[k]]);
   }
  
 } 
/*-------------------------------------------------------------------+
/  ZigZag_.Talex the end                                                |
/-------------------------------------------------------------------*/

/*---------------------------------------------------------------------------------------------------+
/ Funtsiya for the search in the first bar (if it external) what extremum we will use as the apex.   |
/---------------------------------------------------------------------------------------------------*/

double funk1(int zzbarlow, int ExtDepth)
{
 double pr;
 int fbarlow,fbarhigh;
 
 fbarlow=iLowest(NULL,0,MODE_LOW,ExtDepth,zzbarlow);  
 fbarhigh=iHighest(NULL,0,MODE_HIGH,ExtDepth,zzbarlow);
 
 if(fbarlow>fbarhigh) {/*if((Low[zzbarlow]<Low[fbarhigh]) && (High[zzbarlow]<High[fbarhigh]))*/ pr=High[zzbarlow];}
 if(fbarlow<fbarhigh) {/*if((Low[zzbarlow]>Low[fbarlow]) && (High[zzbarlow]>High[fbarlow]))*/ pr=Low[zzbarlow];}
 if(fbarlow==fbarhigh)
 {
  fbarlow=iLowest(NULL,0,MODE_LOW,2*ExtDepth,zzbarlow);  
  fbarhigh=iHighest(NULL,0,MODE_HIGH,2*ExtDepth,zzbarlow);
  if(fbarlow>fbarhigh) {/*if((Low[zzbarlow]<Low[fbarhigh]) && (High[zzbarlow]<High[fbarhigh]))*/ pr=High[zzbarlow];}
  if(fbarlow<fbarhigh) {/*if((Low[zzbarlow]>Low[fbarlow]) && (High[zzbarlow]>High[fbarlow]))*/ pr=Low[zzbarlow];}
  if(fbarlow==fbarhigh)
  {
   fbarlow=iLowest(NULL,0,MODE_LOW,3*ExtDepth,zzbarlow);  
   fbarhigh=iHighest(NULL,0,MODE_HIGH,3*ExtDepth,zzbarlow);
   if(fbarlow>fbarhigh) {/*if((Low[zzbarlow]<Low[fbarhigh]) && (High[zzbarlow]<High[fbarhigh]))*/ pr=High[zzbarlow];}
   if(fbarlow<fbarhigh) {/*if((Low[zzbarlow]>Low[fbarlow]) && (High[zzbarlow]>High[fbarlow]))*/ pr=Low[zzbarlow];}
  }
 }
 return(pr);
}

/*------------------------------------------------------------------+
|                Function of the creation of the units              |
+------------------------------------------------------------------*/

void CreateObject(double p1, double p2, double p3, datetime t1, datetime t2, datetime t3,string save,double AutoScale)
{
 if(ExtFan)
     { 
       ObjectCreate("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_FIBOFAN,0,t2,p2,t1,p1);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,ExtBack);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIBOLEVELS,11);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELCOLOR,ExtFanColor);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELSTYLE,ExtFanStyle);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELWIDTH,ExtFanWidth);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+0,Fibo1);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+1,Fibo2);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+2,Fibo3);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+3,Fibo4);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+4,Fibo5);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+5,Fibo6);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+6,Fibo7);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+7,Fibo8);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+8,Fibo9);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+9,Fibo10);
       ObjectSet("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+10,Fibo11);
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,0,DoubleToStr(Fibo1*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,1,DoubleToStr(Fibo2*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,2,DoubleToStr(Fibo3*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,3,DoubleToStr(Fibo4*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,4,DoubleToStr(Fibo5*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,5,DoubleToStr(Fibo6*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,6,DoubleToStr(Fibo7*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,7,DoubleToStr(Fibo8*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,8,DoubleToStr(Fibo9*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,9,DoubleToStr(Fibo10*100,1));
       ObjectSetFiboDescription("FiboFan1"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,10,DoubleToStr(Fibo11*100,1));
       if(ExtPitchforkRevers==false)
       ObjectCreate("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_FIBOFAN,0,t2,p2,t3,p3);
       else ObjectCreate("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_FIBOFAN,0,t2,p2,t3,2*p2-p3);
      
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,ExtBack);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIBOLEVELS,11);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELCOLOR,ExtFanColor);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELSTYLE,ExtFanStyle);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELWIDTH,ExtFanWidth);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+0,Fibo1);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+1,Fibo2);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+2,Fibo3);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+3,Fibo4);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+4,Fibo5);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+5,Fibo6);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+6,Fibo7);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+7,Fibo8);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+8,Fibo9);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+9,Fibo10);
       ObjectSet("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+10,Fibo11);
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,0,DoubleToStr(Fibo1*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,1,DoubleToStr(Fibo2*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,2,DoubleToStr(Fibo3*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,3,DoubleToStr(Fibo4*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,4,DoubleToStr(Fibo5*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,5,DoubleToStr(Fibo6*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,6,DoubleToStr(Fibo7*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,7,DoubleToStr(Fibo8*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,8,DoubleToStr(Fibo9*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,9,DoubleToStr(Fibo10*100,1));
       ObjectSetFiboDescription("FiboFan2"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,10,DoubleToStr(Fibo11*100,1));
       }
       if(ExtRec)
       {
       ObjectCreate("Rectangle"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_RECTANGLE,0,t1,p1,t3,p3);
       ObjectSet("Rectangle"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,ExtBack);
       ObjectSet("Rectangle"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_COLOR,ExtRecColor);
       ObjectSet("Rectangle"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_STYLE,ExtRecStyle);
       ObjectSet("Rectangle"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_WIDTH,ExtRecWidth);
       ObjectSet("Rectangle"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,false);
       }
       if(ExtArc)
       {
       ObjectCreate("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_FIBOARC,0,t2,p1,t2,p2);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,ExtBack);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_ELLIPSE,true);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_SCALE,AutoScale);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIBOLEVELS,11);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELCOLOR,ExtArcColor);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELSTYLE,ExtArcStyle);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELWIDTH,ExtArcWidth);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+0,Fibo1);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+1,Fibo2);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+2,Fibo3);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+3,Fibo4);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+4,Fibo5);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+5,Fibo6);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+6,Fibo7);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+7,Fibo8);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+8,Fibo9);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+9,Fibo10);
       ObjectSet("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+10,Fibo11);
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,0,DoubleToStr(Fibo1*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,1,DoubleToStr(Fibo2*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,2,DoubleToStr(Fibo3*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,3,DoubleToStr(Fibo4*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,4,DoubleToStr(Fibo5*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,5,DoubleToStr(Fibo6*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,6,DoubleToStr(Fibo7*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,7,DoubleToStr(Fibo8*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,8,DoubleToStr(Fibo9*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,9,DoubleToStr(Fibo10*100,1));
       ObjectSetFiboDescription("FiboArc"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,10,DoubleToStr(Fibo11*100,1));
       }
       if(ExtLeftChannel)
       {
        ObjectCreate("LeftLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_TREND,0,t2,p2,t3,p1+(p2-p1)*(2-ExtFiboLeftChannel));
        ObjectSet("LeftLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,ExtBack);
        ObjectSet("LeftLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_COLOR,ExtChannelColor);
        ObjectSet("LeftLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_STYLE,ExtChannelStyle);
        ObjectSet("LeftLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_WIDTH,ExtChannelWidth);
        ObjectCreate("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_FIBOCHANNEL,0,t2,p2,t1,p1+(p2-p1)*ExtFiboLeftChannel,t2,p1);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_COLOR,ExtChannelColor);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_STYLE,ExtChannelStyle);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_WIDTH,ExtChannelWidth);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIBOLEVELS,21);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELCOLOR,ExtChannelColor);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELSTYLE,ExtChannelStyle);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELWIDTH,ExtChannelWidth);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+0,Fibo1);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+1,Fibo2);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+2,Fibo3);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+3,Fibo4);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+4,Fibo5);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+5,Fibo6);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+6,Fibo7);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+7,Fibo8);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+8,Fibo9);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+9,Fibo10);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+10,Fibo11);
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,0,DoubleToStr(Fibo1*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,1,DoubleToStr(Fibo2*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,2,DoubleToStr(Fibo3*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,3,DoubleToStr(Fibo4*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,4,DoubleToStr(Fibo5*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,5,DoubleToStr(Fibo6*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,6,DoubleToStr(Fibo7*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,7,DoubleToStr(Fibo8*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,8,DoubleToStr(Fibo9*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,9,DoubleToStr(Fibo10*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,10,DoubleToStr(Fibo11*100,1));
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+11,-Fibo2);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+12,-Fibo3);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+13,-Fibo4);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+14,-Fibo5);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+15,-Fibo6);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+16,-Fibo7);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+17,-Fibo8);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+18,-Fibo9);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+19,-Fibo10);
        ObjectSet("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+20,-Fibo11);
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,11,"-"+DoubleToStr(Fibo2*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,12,"-"+DoubleToStr(Fibo3*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,13,"-"+DoubleToStr(Fibo4*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,14,"-"+DoubleToStr(Fibo5*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,15,"-"+DoubleToStr(Fibo6*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,16,"-"+DoubleToStr(Fibo7*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,17,"-"+DoubleToStr(Fibo8*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,18,"-"+DoubleToStr(Fibo9*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,19,"-"+DoubleToStr(Fibo10*100,1));
        ObjectSetFiboDescription("LeftChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,20,"-"+DoubleToStr(Fibo11*100,1));
       }
       if(ExtRightChannel)
       {
        ObjectCreate("RightLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_TREND,0,t2,p2,t1,p1+(p2-p1)*(2-ExtFiboRightChannel));
        ObjectSet("RightLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_BACK,ExtBack);
        ObjectSet("RightLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_COLOR,ExtChannelColor);
        ObjectSet("RightLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_STYLE,ExtChannelStyle);
        ObjectSet("RightLine"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_WIDTH,ExtChannelWidth);
        ObjectCreate("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJ_FIBOCHANNEL,0,t2,p2,t3,p1+(p2-p1)*ExtFiboRightChannel,t2,p1);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_COLOR,ExtChannelColor);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_STYLE,ExtChannelStyle);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_WIDTH,ExtChannelWidth);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIBOLEVELS,21);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELCOLOR,ExtChannelColor);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELSTYLE,ExtChannelStyle);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_LEVELWIDTH,ExtChannelWidth);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+0,Fibo1);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+1,Fibo2);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+2,Fibo3);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+3,Fibo4);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+4,Fibo5);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+5,Fibo6);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+6,Fibo7);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+7,Fibo8);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+8,Fibo9);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+9,Fibo10);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+10,Fibo11);
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,0,DoubleToStr(Fibo1*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,1,DoubleToStr(Fibo2*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,2,DoubleToStr(Fibo3*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,3,DoubleToStr(Fibo4*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,4,DoubleToStr(Fibo5*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,5,DoubleToStr(Fibo6*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,6,DoubleToStr(Fibo7*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,7,DoubleToStr(Fibo8*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,8,DoubleToStr(Fibo9*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,9,DoubleToStr(Fibo10*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,10,DoubleToStr(Fibo11*100,1));
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+11,-Fibo2);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+12,-Fibo3);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+13,-Fibo4);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+14,-Fibo5);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+15,-Fibo6);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+16,-Fibo7);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+17,-Fibo8);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+18,-Fibo9);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+19,-Fibo10);
        ObjectSet("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,OBJPROP_FIRSTLEVEL+20,-Fibo11);
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,11,"-"+DoubleToStr(Fibo2*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,12,"-"+DoubleToStr(Fibo3*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,13,"-"+DoubleToStr(Fibo4*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,14,"-"+DoubleToStr(Fibo5*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,15,"-"+DoubleToStr(Fibo6*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,16,"-"+DoubleToStr(Fibo7*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,17,"-"+DoubleToStr(Fibo8*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,18,"-"+DoubleToStr(Fibo9*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,19,"-"+DoubleToStr(Fibo10*100,1));
        ObjectSetFiboDescription("RightChannel"+"_"+ExtDepth+"_"+ExtComplect+"_"+save,20,"-"+DoubleToStr(Fibo11*100,1));
       }
}

Comments