Navigation:Home > Content >

MF_ZIGZAG_FIBO_0-115.mq4

Time: 2014-12-23 | Download file:MF_ZIGZAG_FIBO_0-115.mq4

//+-------------------------------------------------------------------+
//|                                       MF_ZIGZAG FIBO 0-115.mq4    |
//|                                       Copyright © YuraZ-VAF-Zhunko|
//|                                       MF YURAZ     [email protected]    |
//|                                       MF VAF  [email protected]    |
//|                                       MF ZHUNKO [email protected]    |
//+-------------------------------------------------------------------+
//| Идикатор разработан по материалам АКАДЕМИИ МФ.                    |
//+-------------------------------------------------------------------+
//|                    ИЗМЕНЕНИЯ и ДОПОЛНЕНИЯ.                        |
//| 1.Дополнения в версии MF_ZIGZAG FIBO 0-101 от 01.08.2006 .        |
//| 1.1.Сделана двухсторонняя сетка Фибоначи с обозначением ТФ и цены.|
//| 2.Дополнения в версии MF_ZIGZAG FIBO 0-102 от 09.09.2006 .        |
//| 2.1.Добавлены уровни 138,2% и -138,2%.                            |
//| 2.2.Изменены названия внешних переменных на понятные пользователю.|
//| 2.3.Введена возможность включения/выключения перерисовки уровней. |
//| 3.Дополнения в версии MF_ZIGZAG FIBO 0-112 от 10.09.2006 .        |
//| 3.1.Теперь сетка Фибоначи натягивается на последнее законченное   |
//|     плечо зигзага.                                                |
//| 4.Дополнения в версии MF_ZIGZAG FIBO 0-113 от 12.09.2006 .        |
//| 4.1.Переключатель "Перемещать" сделан логическим.                 |
//| 4.1.Переключатель "Линия_Луч" сделан логическим.                  |
//| 5.Дополнения в версии MF_ZIGZAG FIBO 0-114 от 13.09.2006 .        |
//| 5.1.Введён переключатель фоного отображения.                      |
//| 6.Дополнения в версии MF_ZIGZAG FIBO 0-115 от 22.09.2006 .        |
//| 6.1.Изменено название объекта на "MF_ZIGZAG FIBO".                |
//+-------------------------------------------------------------------+
#property copyright "Copyright © 2006 YuraZ-VAF-Zhunko"
#property link      "[email protected] ; [email protected] ; [email protected]"

#property indicator_chart_window
#property indicator_buffers 1
//Цвет линии ЗИГЗАГа по умолчанию
#property indicator_color1 DarkKhaki
//Стиль линии ЗИГЗАГа по умолчанию
#property indicator_style1 0
//Толщина линии ЗИГЗАГа по умолчанию
#property indicator_width1 1

//---- indicator parameters
// ПАРАМЕТРЫ ЗИГЗАГА
extern int   ExtDepth     = 15;    // Количество баров в которых ищется экстремум для расчёта ЗИГЗАГА.
extern int   ExtDeviation = 0 ;    // Отклонение вершин ЗИГЗАГА от реальной цены.
extern int   ExtBackstep  = 3 ;    // Количество экстремумов для расчёта ЗИГЗАГА.
// ПАРАМЕТРЫ ЛИНИЙ
extern bool  Линия_Луч    = false ;// true - линия, false - луч.
extern bool  Перемещать   = false; // false - не перемещаемая фиба ; true - перемещаестся по последнему законченому плечу зигзагу.
extern bool  DeleteFibo   = true;  // true - при обращению к ТФ будет перерисовывать уровни, уровни других ТФ удаляются, при удалении индикатора уровни будут удаляться;
                                   // false - при обращению к ТФ не будет перерисовывать уровни, уровни других ТФ не удаляются, при удалении индикатора уровни не будут удаляться;
extern bool  Фон          = true ; // true - фоновое отображение линий Фибоначи ;
                                   // false - поверхностное  отображение линий Фибоначи ;                           
// Цвет ФИБО на каждом ТФ.
extern color FiboColor_M1  = C'191,191,0'; //Yellow;
extern color FiboColor_M5  = C'191,191,0'; //Yellow;
extern color FiboColor_M15 = C'191,191,0'; //Yellow;
extern color FiboColor_M30 = C'191,191,0'; //Yellow;
extern color FiboColor_H1  = C'191,191,0'; //Yellow;
extern color FiboColor_H4  = C'191,191,0'; //Yellow;
extern color FiboColor_D1  = C'191,191,0'; //Yellow;
extern color FiboColor_W1  = C'191,191,0'; //Yellow;
extern color FiboColor_MN1 = C'191,191,0'; //Yellow;
// Цвет настроечной линии ФИБО (TUNING LINE) на каждом ТФ.
extern color TLColor_M1    = Red;
extern color TLColor_M5    = Red;
extern color TLColor_M15   = Red;
extern color TLColor_M30   = Red;
extern color TLColor_H1    = Red;
extern color TLColor_H4    = Red;
extern color TLColor_D1    = Red;
extern color TLColor_W1    = Red;
extern color TLColor_MN1   = Red;
// Настройка стиля линии ФИБО на каждом ТФ.
extern int   FiboStyle_M1  = 0;
extern int   FiboStyle_M5  = 0;
extern int   FiboStyle_M15 = 0;
extern int   FiboStyle_M30 = 0;
extern int   FiboStyle_H1  = 0;
extern int   FiboStyle_H4  = 0;
extern int   FiboStyle_D1  = 0;
extern int   FiboStyle_W1  = 0;
extern int   FiboStyle_MN1 = 0;
// Настройка стиля настроечной линии ФИБО (TUNING LINE) на каждом ТФ.
extern int   TLStyle_M1    = 2;
extern int   TLStyle_M5    = 2;
extern int   TLStyle_M15   = 2;
extern int   TLStyle_M30   = 2;
extern int   TLStyle_H1    = 2;
extern int   TLStyle_H4    = 2;
extern int   TLStyle_D1    = 2;
extern int   TLStyle_W1    = 2;
extern int   TLStyle_MN1   = 2;
// Настройка толщины линии ФИБО на каждом ТФ
extern int   FiboStyle_WIDTH_M1  = 1;
extern int   FiboStyle_WIDTH_M5  = 1;
extern int   FiboStyle_WIDTH_M15 = 1;
extern int   FiboStyle_WIDTH_M30 = 1;
extern int   FiboStyle_WIDTH_H1  = 1;
extern int   FiboStyle_WIDTH_H4  = 1;
extern int   FiboStyle_WIDTH_D1  = 1;
extern int   FiboStyle_WIDTH_W1  = 1;
extern int   FiboStyle_WIDTH_MN1 = 1;
// Настройка толщины настроечной линии ФИБО (TUNING LINE) на каждом ТФ
extern int   TLStyle_WIDTH_M1  = 0;
extern int   TLStyle_WIDTH_M5  = 0;
extern int   TLStyle_WIDTH_M15 = 0;
extern int   TLStyle_WIDTH_M30 = 0;
extern int   TLStyle_WIDTH_H1  = 0;
extern int   TLStyle_WIDTH_H4  = 0;
extern int   TLStyle_WIDTH_D1  = 0;
extern int   TLStyle_WIDTH_W1  = 0;
extern int   TLStyle_WIDTH_MN1 = 0;
//===================================================================
//---- indicator buffers
double ExtMapBuffer[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
//-------------------------------------------------------------------
static int  fLagMove = 0;
int         OldLastZigZag, OldPreviousZigZag;
int         RAY ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
 {
  IndicatorBuffers(3);
//---- drawing settings
  SetIndexStyle(0,DRAW_SECTION);
//---- indicator buffers mapping
  SetIndexBuffer(0,ExtMapBuffer);
  SetIndexBuffer(1,ExtMapBuffer2);
  SetIndexBuffer(2,ExtMapBuffer3);
  SetIndexEmptyValue(0,0.0);
  ArraySetAsSeries(ExtMapBuffer,true);
  ArraySetAsSeries(ExtMapBuffer2,true);
  ArraySetAsSeries(ExtMapBuffer3,true);
//---- indicator short name
  IndicatorShortName("FibodrawerYZ");
//---- initialization done
  return(0);
 } 
int deinit()
 {
  if (DeleteFibo == true)
   {
    ObjectDelete("MF_ZIGZAG FIBO 1");
    ObjectDelete("MF_ZIGZAG FIBO 5");
    ObjectDelete("MF_ZIGZAG FIBO 15");
    ObjectDelete("MF_ZIGZAG FIBO 30");
    ObjectDelete("MF_ZIGZAG FIBO 60");
    ObjectDelete("MF_ZIGZAG FIBO 240");
    ObjectDelete("MF_ZIGZAG FIBO 1440");
    ObjectDelete("MF_ZIGZAG FIBO 10080");
    ObjectDelete("MF_ZIGZAG FIBO 43200");
   }
 }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int    shift, back,lasthighpos,lastlowpos;
   double val,res;
   double curlow,curhigh,lasthigh,lastlow;

   int iTF;

   if (Period() == 1)      iTF = 1;
   if (Period() == 5)      iTF = 2;
   if (Period() == 15)     iTF = 3;
   if (Period() == 30)     iTF = 4;
   if (Period() == 60)     iTF = 5;
   if (Period() == 240)    iTF = 6;
   if (Period() == 1440)   iTF = 7;
   if (Period() == 10080)  iTF = 8;
   if (Period() == 43200)  iTF = 9;
   
   for(shift=Bars-ExtDepth; shift>=0; shift--)
      //---low---
      {val=Low[Lowest(NULL,0,MODE_LOW,ExtDepth,shift)];
      if(val==lastlow) val=0.0; else { lastlow=val;
        if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0; else {
          for(back=1; back<=ExtBackstep; back++) { res=ExtMapBuffer[shift+back];
            if((res!=0)&&(res>val)) ExtMapBuffer[shift+back]=0.0; } } } 
      ExtMapBuffer[shift]=val;
      //--- high---
      val=High[Highest(NULL,0,MODE_HIGH,ExtDepth,shift)];
      if(val==lasthigh) val=0.0; else { lasthigh=val;
        if((val-High[shift])>(ExtDeviation*Point)) val=0.0; else {
          for(back=1; back<=ExtBackstep; back++) { res=ExtMapBuffer2[shift+back];
            if((res!=0)&&(res=0; shift--)
     { curlow=ExtMapBuffer[shift]; curhigh=ExtMapBuffer2[shift];
      if((curlow==0)&&(curhigh==0)) continue; 
        if(curhigh!=0) { if(lasthigh>0) {
          if(lasthigh0) {
                  if(lastlow>curlow) ExtMapBuffer[lastlowpos]=0; else ExtMapBuffer[shift]=0; }
                    if((curlow=0; shift--) {
      if(shift>=Bars-ExtDepth) ExtMapBuffer[shift]=0.0; else { res=ExtMapBuffer2[shift];
      if(res!=0.0) ExtMapBuffer[shift]=res; } }
     
  	int i=0;
  	int LastZigZag1, LastZigZag, PreviousZigZag;
   
   int h=0;
   while (ExtMapBuffer[h]==0 && ExtMapBuffer2[h]==0) { h++; } LastZigZag1=h /*Время третьей координаты*/; h++;
   while (ExtMapBuffer[h]==0 && ExtMapBuffer2[h]==0) { h++; } LastZigZag=h /*Время второй координаты*/; h++;
   while (ExtMapBuffer[h]==0 && ExtMapBuffer2[h]==0) { h++; } PreviousZigZag=h /* Время первой координаты */;
   
   if (OldLastZigZag!=LastZigZag || OldPreviousZigZag!=PreviousZigZag) {
   	OldLastZigZag=LastZigZag;
   	OldPreviousZigZag=PreviousZigZag;
   	
      if (Линия_Луч == true) RAY = 0 ;
      if (Линия_Луч == false) RAY = 1 ;
      if (Перемещать  == false && fLagMove == 0)
       {
         fLagMove = 1;
 	     ObjectCreate("MF_ZIGZAG FIBO "+Period(), OBJ_FIBO, 0, Time[PreviousZigZag], ExtMapBuffer[LastZigZag], Time[LastZigZag], ExtMapBuffer[PreviousZigZag]);
        ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_RAY, RAY);
       }
      if (Перемещать == true)
       {
   	  ObjectDelete("MF_ZIGZAG FIBO "+Period());
   	  ObjectCreate("MF_ZIGZAG FIBO "+Period(), OBJ_FIBO, 0, Time[PreviousZigZag], ExtMapBuffer[LastZigZag], Time[LastZigZag], ExtMapBuffer[PreviousZigZag]);
        ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_RAY, RAY);
       }      

            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_FIBOLEVELS,27);
      
      //--------------------------------Верхние---------------------------------------------
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+0,11.090);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 0,"1109.0 (%$)"+PeriodSTR(Period()));
          
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+1, 6.854);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 1, "685.4 (%$)"+PeriodSTR(Period()));
      
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+2, 4.236);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 2, "423.6 (%$)"+PeriodSTR(Period()));

            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+3, 3.618);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 3, "361.8 (%$)"+PeriodSTR(Period()));

            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+4, 3.000);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 4, "300.0 (%$)"+PeriodSTR(Period()));
            
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+5, 2.618);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 5, "261.8 (%$)"+PeriodSTR(Period()));

            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+6, 2.000);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 6, "200.0 (%$)"+PeriodSTR(Period()));

            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+7, 1.618);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 7, "161.8 (%$)"+PeriodSTR(Period()));
      
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+8, 1.382);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 8, "138.2 (%$)"+PeriodSTR(Period()));

      //-------------------------------Внутренние------------------------------------------     

            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+ 9,0.000);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(), 9,"0.0/100.0 (%$)"+PeriodSTR(Period()));
      
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+10,0.118);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),10,"11.8/88.2 (%$)"+PeriodSTR(Period()));
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+11,0.236);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),11,"23.6/76.4 (%$)"+PeriodSTR(Period()));
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+12,0.382);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),12,"38.2/61.8 (%$)"+PeriodSTR(Period()));
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+13,0.500);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),13,"50.0/50.0 (%$)"+PeriodSTR(Period()));
  
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+14,0.618);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),14,"61.8/38.2 (%$)"+PeriodSTR(Period()));

            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+15,0.764);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),15,"76.4/23.4 (%$)"+PeriodSTR(Period()));
      
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+16,0.882);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),16,"88.2/11.8 (%$)"+PeriodSTR(Period()));
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+17,1.000);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),17,"100.0/0.0 (%$)"+PeriodSTR(Period()));

      //---------------------------------Нижние---------------------------------------------
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+18,- 0.382);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),18, "138.2 (%$)"+PeriodSTR(Period()));

            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+19,- 0.618);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),19, "161.8 (%$)"+PeriodSTR(Period()));
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+20,- 1.000);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),20, "200.0 (%$)"+PeriodSTR(Period()));
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+21,- 1.618);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),21, "261.8 (%$)"+PeriodSTR(Period()));
  
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+22,- 2.000);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),22, "300.0 (%$)"+PeriodSTR(Period()));
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+23,- 2.618);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),23, "361.8 (%$)"+PeriodSTR(Period()));
    
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+24,- 3.236);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),24, "423.6 (%$)"+PeriodSTR(Period()));
  
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+25,- 5.685);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),25, "685.4 (%$)"+PeriodSTR(Period()));
 
            ObjectSet("MF_ZIGZAG FIBO "+Period(), OBJPROP_FIRSTLEVEL+26,-10.090);
            ObjectSetFiboDescription("MF_ZIGZAG FIBO "+Period(),26,"1109.0 (%$)"+PeriodSTR(Period()));


      if (Period() == 1)
       {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_M1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_M1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_M1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_M1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_M1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_M1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
       }

      if (Period() == 5)
      {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_M5);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_M5);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_M5);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_M5);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_M5);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_M5);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
      }
      if (Period() == 15)
      {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_M15);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_M15);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_M15);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_M15);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_M15);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_M15);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
      }
      if (Period() == 30)
      {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_M30);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_M30);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_M30);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_M30);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_M30);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_M30);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
      }
      if (Period() == 60)
      {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_H1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_H1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_H1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_H1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_H1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_H1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
      }
      if (Period() == 240)
      {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_H4);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_H4);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_H4);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_H4);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_H4);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_H4);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
      }
      if (Period() == 1440)
      {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_D1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_D1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_D1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_D1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_D1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_D1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
      }
      if (Period() == 10080)
      {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_W1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_W1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_W1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_W1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_W1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_W1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
      }
      if (Period() == 43200)
      {
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_COLOR, TLColor_MN1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELCOLOR, FiboColor_MN1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_STYLE, TLStyle_MN1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELSTYLE, FiboStyle_MN1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_WIDTH, TLStyle_WIDTH_MN1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_LEVELWIDTH, FiboStyle_WIDTH_MN1);
            ObjectSet("MF_ZIGZAG FIBO "+Period(),OBJPROP_BACK, Фон);
      }

//   	Alert("New ZigZag and new Fibo drawn");
//   	PlaySound("alert.wav");

   }
}
  
string  PeriodSTR(int iTF)
 {  // Period
   if (iTF == 1)       return("M1");
   if (iTF == 5)       return("M5");
   if (iTF == 15)      return("M15");
   if (iTF == 30)      return("M30");
   if (iTF == 60)      return("H1");
   if (iTF == 240)     return("H4");
   if (iTF == 1440)    return("D1");
   if (iTF == 10080)   return("W1");
   if (iTF == 43200)   return("MN1");
 }
//========================================================================================

Recommend