← К каталогу
Исходный код · ID 2337

zup_rsi_v48.mq5

Похожие материалы по тегам

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Программа представляет собой пользовательский индикатор для платформы MetaTrader 4, предназначенный для технического анализа ценовых данных. Индикатор строит ZigZag-линии с использованием различных алгоритмов, включая классический ZigZag, Ensign, DT-ZigZag и RSI-ориентированный ZigZag. На основе построенных уровней отображаются Fibonacci-уровни, каналы, фанды, расширения, pitchfork-аналитика и Versum Levels.

Индикатор отрисовывает графические объекты на графике: трендовые линии, Fibonacci-каналы, фанды, каналы Фибо, линии сопротивления и поддержки, а также временные уровни Фибо. Пользователь может настраивать цвета, стили, размеры шрифтов и видимость различных элементов через обширный набор параметров. Также реализована функция отображения информации по нескольким таймфреймам и система оповещений о событиях.

Программа использует внутренние буферы для хранения данных ZigZag и рассчитывает уровни на основе ценовых данных и настроенных параметров. Поддерживается работа с различными типами цен и настройка чувствительности индикатора через параметры отклонения, минимального размера и периода.

Настройки программы

НастройкаОписание
ExtIndicator Тип индикатора ZigZag — Определяет алгоритм построения ZigZag (0-9)
minBars Минимум баров — Минимальное количество баров между пиками ZigZag
minSize Минимальный размер — Минимальное ценовое расстояние для признания пика
ExtDeviation Отклонение — Допустимое отклонение цены от пика для его подтверждения
ExtBackstep Шаг назад — Количество баров назад для проверки и удаления ложных пиков
GrossPeriod Главный период — Период для расчёта в режимах DT-ZigZag
Price Тип цены — Тип цены для расчёта (Close, Open, High, Low, Median, Typical, Weighted)
minPercent Минимальный процент — Минимальный процент изменения для RSI-ZigZag
ExtHidden Скрытые уровни — Режим отображения скрытых Fibonacci-уровней (0-5)
ZigZagHighLow ZigZag High/Low — Использовать значения High/Low вместо ZigZag-значений для уровней
ExtFiboZigZag Fibonacci ZigZag — Включить режим Fibonacci ZigZag
ExtFractal Фрактал — Период для определения фрактальных пиков
ExtFractalEnd Фрактал конец — Период фрактала для конечных точек ZigZag
ExtDelta Допуск Delta — Допуск при определении Fibonacci-уровней
ExtDeltaType Тип Delta — Тип допуска для определения Fibonacci-уровней
ExtPPWithBars PP с барами — Отображение количества баров в подписях уровней
ExtFiboType Тип Fibonacci — Тип Fibonacci-уровней (классический или Pesavento)
ExtFiboCorrectionExpansion Коррекция/Расширение — Режим коррекции или расширения Fibonacci
ExtFiboDinamic Динамический Fibonacci — Отображение динамических Fibonacci-уровней
ExtFiboStatic Статический Fibonacci — Отображение статических Fibonacci-уровней
ExtFiboStaticNum Номер стат. Fibonacci — Номер уровня для статического Fibonacci
ExtSizeTxt Размер текста — Размер шрифта для подписей уровней
ExtLine Цвет линий — Основной цвет линий уровней
ExtNotFibo Цвет не-Fibo — Цвет уровней, не являющихся Fibonacci
ExtPesavento Цвет Pesavento — Цвет Pesavento-уровней
ExtGartley886 Цвет Gartley 886 — Цвет уровней Gartley 886
ExtFiboS Цвет стат. Fibo — Цвет статических Fibonacci-уровней
ExtFiboD Цвет дин. Fibo — Цвет динамических Fibonacci-уровней
ExtPitchforkDinamic Динам. pitchfork — Режим динамического pitchfork (0-4)
ExtPitchforkStatic Статич. pitchfork — Режим статического pitchfork (0-4)
ExtPitchforkStaticNum Номер стат. pitchfork — Номер уровня для статического pitchfork
ExtLinePitchforkS Цвет pitchfork S — Цвет линий статического pitchfork
ExtLinePitchforkD Цвет pitchfork D — Цвет линий динамического pitchfork
ExtPitchforkStaticColor Цвет стат. pitchfork — Цвет статического pitchfork
ExtPitchforkStyle Стиль pitchfork — Стиль линий pitchfork
????? ?????????? ?????????????? (ExtFiboFanDinamic) Динам. Fibonacci Fan — Отображение динамического Fibonacci Fan
????????? ?????? ????????? ?? ???????????? ?????? (ExtFiboFanStatic) Статич. Fibonacci Fan — Отображение статического Fibonacci Fan
ExtFiboFanExp Расширение Fan — Режим расширения Fibonacci Fan
ExtFiboFanHidden Скрыть Fan — Скрытие Fibonacci Fan
ExtFiboFanS Цвет Fan S — Цвет статического Fibonacci Fan
ExtFiboFanD Цвет Fan D — Цвет динамического Fibonacci Fan
ExtFiboFanMedianaStaticColor Цвет медианы стат. Fan — Цвет медианы статического Fibonacci Fan
ExtFiboFanMedianaDinamicColor Цвет медианы дин. Fan — Цвет медианы динамического Fibonacci Fan
ExtFiboTime1 Fibonacci Time 1 — Включить отображение Fibonacci Time 1
ExtFiboTime2 Fibonacci Time 2 — Включить отображение Fibonacci Time 2
ExtFiboTime1C Цвет Time 1 — Цвет Fibonacci Time 1
ExtFiboTime2C Цвет Time 2 — Цвет Fibonacci Time 2
ExtUTL Верхняя тренд. линия — Отображение верхней трендовой линии
ExtLTL Нижняя тренд. линия — Отображение нижней трендовой линии
ExtUWL Верхняя волн. линия — Отображение верхней волновой линии
ExtLWL Нижняя волн. линия — Отображение нижней волновой линии
ExtRLine Линия RLine — Отображение линии сопротивления/поддержки
ExtRLineBase Базовая RLine — Базовая линия для RLine
ExtPitchforkCandle Pitchfork по свечам — Использовать свечи для определения pitchfork
ExtPitchfork_1_HighLow Pitchfork 1 High/Low — Использовать High/Low для первой точки pitchfork
ExtDateTimePitchfork_1 Дата/время pitchfork 1 — Установка даты и времени для первой точки pitchfork
ExtDateTimePitchfork_2 Дата/время pitchfork 2 — Установка даты и времени для второй точки pitchfork
ExtDateTimePitchfork_3 Дата/время pitchfork 3 — Установка даты и времени для третьей точки pitchfork
ExtFiboFanNum Номер Fibonacci Fan — Номер уровня Fibonacci Fan
ExtFiboFanColor Цвет Fan — Цвет Fibonacci Fan
ExtFiboExpansion Расширение Fibonacci — Уровень расширения Fibonacci
ExtFiboExpansionColor Цвет расширения — Цвет расширения Fibonacci
ExtVLStaticNum Номер стат. VL — Номер статических Versum Levels
ExtVLStaticColor Цвет стат. VL — Цвет статических Versum Levels
ExtVLDinamicColor Цвет дин. VL — Цвет динамических Versum Levels
chHL Канал HL — Отображение High/Low канала
PeakDet Обнаружение пиков — Включить обнаружение пиков
chHL_PeakDet_or_vts Режим расчёта — Выбор режима расчёта (chHL/PeakDet или VTS)
?????????? ????? ??????? (0-???) (NumberOfBars) Кол-во баров — Количество баров для расчёта VTS
NumberOfVTS Кол-во VTS — Количество VTS уровней
NumberOfVTS1 Кол-во VTS1 — Количество VTS1 уровней
infoTF Информация по ТФ — Отображение информации по таймфреймам
ExtBack Фон объектов — Размещение объектов на фоне графика
ExtSave Сохранение объектов — Сохранение объектов при пересчёте
ExtStyleZZ Стиль ZigZag — Стиль отображения ZigZag линии
ExtAlert Оповещения — Включить систему оповещений
ExtComplekt Комплект — Идентификатор набора объектов индикатора
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Aqua 
#property indicator_color2 Green
#property indicator_color3 Orange
#property indicator_color4 LightSkyBlue
#property indicator_color5 LemonChiffon
#property indicator_color6 Yellow

extern int    ExtIndicator = 9;
extern int    minBars = 6;
extern int    minSize = 55;

extern int    ExtDeviation = 3;
extern int    ExtBackstep = 3;

extern int    GrossPeriod=240;
extern int    Price = 0;

extern double minPercent = 5;

extern int    ExtHidden = 1;
extern bool   ZigZagHighLow=true;
extern bool   ExtFiboZigZag = false;
extern int    ExtFractal = 7;
extern int    ExtFractalEnd = 7;
extern double ExtDelta = 0.04;
extern int    ExtDeltaType = 2;
extern int    ExtPPWithBars = 0;

extern bool   ExtFiboType = true;
extern bool   ExtFiboCorrectionExpansion = false;
extern bool   ExtFiboDinamic = false;
extern bool   ExtFiboStatic = false;
extern int    ExtFiboStaticNum = 2;
extern int    ExtSizeTxt = 7;
extern color  ExtLine = DarkBlue;
extern color  ExtNotFibo = SlateGray;
extern color  ExtPesavento = Yellow;
extern color  ExtGartley886 = GreenYellow;
extern color  ExtFiboS = Teal;
extern color  ExtFiboD = Sienna;

extern int    ExtPitchforkDinamic = 0;
extern int    ExtPitchforkStatic = 0;
extern int    ExtPitchforkStaticNum = 3;
extern color  ExtLinePitchforkS = MediumBlue;
extern color  ExtLinePitchforkD = MediumSlateBlue;
extern color  ExtPitchforkStaticColor = CLR_NONE;
extern int    ExtPitchforkStyle = 1;

extern bool   ExtFiboFanDinamic = false;  // ????? ?????????? ??????????????
extern bool   ExtFiboFanStatic = false;   // ????????? ?????? ????????? ?? ???????????? ??????
extern bool   ExtFiboFanExp=true;
extern bool   ExtFiboFanHidden = false;
extern color  ExtFiboFanS = Teal;
extern color  ExtFiboFanD = Sienna;

extern color  ExtFiboFanMedianaStaticColor = CLR_NONE;
extern color  ExtFiboFanMedianaDinamicColor = CLR_NONE;

extern bool   ExtFiboTime1 = false;
extern bool   ExtFiboTime2 = false;
extern color  ExtFiboTime1C = Teal;
extern color  ExtFiboTime2C = Sienna;

extern bool   ExtUTL = false;
extern bool   ExtLTL = false;
extern bool   ExtUWL = false;
extern bool   ExtLWL = false;

extern bool   ExtRLine = true;
extern bool   ExtRLineBase =true;

extern bool     ExtPitchforkCandle = false;
extern bool     ExtPitchfork_1_HighLow = true;
extern datetime ExtDateTimePitchfork_1 = D'11.07.2006 00:00';
extern datetime ExtDateTimePitchfork_2 = D'19.07.2006 00:00';
extern datetime ExtDateTimePitchfork_3 = D'09.08.2006 00:00';

extern int    ExtFiboFanNum = 0;
extern color  ExtFiboFanColor = CLR_NONE;

extern int    ExtFiboExpansion = 0;
extern color  ExtFiboExpansionColor = Yellow;

extern int    ExtVLStaticNum = 0;
extern color  ExtVLStaticColor = CLR_NONE;
extern color  ExtVLDinamicColor = CLR_NONE;

extern bool   chHL = false;
extern bool   PeakDet = false;

extern bool   chHL_PeakDet_or_vts = true;
extern int    NumberOfBars = 1000;     // ?????????? ????? ??????? (0-???)
extern int    NumberOfVTS  = 13;
extern int    NumberOfVTS1 = 1;

extern bool   infoTF = false;

extern bool   ExtBack = true;

extern bool   ExtSave = false;
extern bool   ExtStyleZZ = true;
extern bool   ExtAlert = false;
extern int    ExtComplekt=111;

double zz[];

double zzL[];

double zzH[];

double nen_ZigZag[];

double fi[]={0.382, 0.447, 0.5, 0.618, 0.707, 0.786, 0.841, 0.886, 1.0, 1.128, 1.272, 1.414, 1.5, 1.618, 2.0, 2.236, 2.414, 2.618, 3.14, 3.618, 4.0};
string fitxt[]={".382", ".447", ".5", ".618", ".707", ".786", ".841", ".886", "1.0", "1.128", "1.272", "1.414", "1.5", "1.618", "2.0", "2.236", "2.414", "2.618", "3.14", "3.618", "4.0"};
double fi1[]={0.146, 0.236, 0.382, 0.5, 0.618, 0.764, 0.854, 1.0, 1.236, 1.618};
string fitxt1[]={"0.146", "0.236", ".382", ".5", ".618", ".764", ".854", "1.0", "1.236", "1.618"};
string nameObj,nameObjtxt,save;

bool descript_b=false;

string PPWithBars, descript;

int afr[]={0,0,0,0,0,0,0,0,0,0};
double afrl[]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}, afrh[]={0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0};

double openTF[]={0.0,0.0,0.0,0.0,0.0}, closeTF[]={0.0,0.0,0.0,0.0,0.0}, lowTF[]={0.0,0.0,0.0,0.0,0.0}, highTF[]={0.0,0.0,0.0,0.0,0.0};
double close_TF=0;
string TF[]={"MN","W1","D1","H4","H1"};
bool afrm=true;
double ExtHL;
double HL,HLp,kk,kj,Angle;

double LowPrim,HighPrim,LowLast,HighLast;

int numLowPrim,numHighPrim,numLowLast,numHighLast,k,k1,k2,ki,kiPRZ=0,countLow1,countHigh1,shift,shift1;

int timeFr1new;

int countFr;

int countBarEnd=0,TimeBarEnd;

int numBar=0;

int numOb;

bool flagFrNew=false;

int perTF;
bool Demo;

int counted_bars, cbi, iBar;

int timeFirstBar=0;

double ha[],la[],hi,li,si,sip,di,hm,lm,ham[],lam[],him,lim,lLast=0,hLast=0;
int fs=0,fsp,countBar;
int ai,aip,bi,bip,ai0,aip0,bi0,bip0;
datetime tai,tbi,taip,tbip,ti;

bool fh=false,fl=false,fcount0;

double lLast_m=0, hLast_m=0;
int countBarExt; // ??????? ??????? ?????
int countBarl,countBarh;

bool hi_nen;
bool init_zz=true;

int mFibo[]={0,0}, mPitch[]={0,0,0}, mFan[]={0,0}, mExpansion[]={0,0,0}, mVL[]={0,0,0};

int mPitchTime[]={0,0,0};
double mPitchCena[]={0.0,0.0,0.0};

double ms[2];

string name_ZUP="ZUP_RSI_v48";
int NumWindow=0;
double HL_RSI;

int init()
  {
      // код доступен только после оплаты
   }

int deinit()
  {
  int i;
   delete_objects1();
   ObjectDelete("fiboS" + ExtComplekt);ObjectDelete("fiboD" + ExtComplekt);
   ObjectDelete("fiboFanS" + ExtComplekt);ObjectDelete("fiboFanD" + ExtComplekt);
   ObjectDelete("RLineD" + ExtComplekt);ObjectDelete("RLineS" + ExtComplekt);
   ObjectDelete("pitchforkD" + ExtComplekt);ObjectDelete("pitchforkS" + ExtComplekt);
   ObjectDelete("pmedianaD" + ExtComplekt);ObjectDelete("pmedianaS" + ExtComplekt);
   ObjectDelete("1-2pmedianaD" + ExtComplekt);ObjectDelete("1-2pmedianaS" + ExtComplekt);
   ObjectDelete("fiboTime1" + ExtComplekt);ObjectDelete("fiboTime2" + ExtComplekt);
   ObjectDelete("fiboExpansion" + ExtComplekt);
   ObjectDelete("UTL" + ExtComplekt);ObjectDelete("LTL" + ExtComplekt);
   ObjectDelete("UWL" + ExtComplekt);ObjectDelete("LWL" + ExtComplekt);
   ObjectDelete("CL" + ExtComplekt);

   ObjectDelete("FanMedianaStatic" + ExtComplekt);ObjectDelete("FanMedianaDinamic" + ExtComplekt);
   ObjectDelete("FiboFan" + ExtComplekt);

   for (i=0; i<7; i++)
     {
      nameObj="VLS"+i+" " + ExtComplekt;
      ObjectDelete(nameObj);
     }

   for (i=0; i<7; i++)
     {
      nameObj="VLD"+i+" " + ExtComplekt;
      ObjectDelete(nameObj);
     }

   return(0);
  }

int start()
  {
      // код доступен только после оплаты
   } // start

void countFractal()
  {
   int shift;
   countLow1=0;
   countHigh1=0;
   if (flagFrNew)
     {
      for(shift=0; shift<=numBar; shift++)
        {
         if (zzL[shift]>0.0) {countLow1++;}
         if (zzH[shift]>0.0) {countHigh1++;}    
        }
      flagFrNew=false;
      numBar=0;  
      counted_bars=Bars-4;
     }
   else
     {
      for(shift=0; shift<=countBarEnd; shift++)
        {
         if (zzL[shift]>0.0) {countLow1++;}
         if (zzH[shift]>0.0) {countHigh1++;}
        }
     }
  }

void matriza()
  {
   if (afrm)
     {
      afrm=false;
      int shift,k;

      k=0;
      for (shift=0; shift<Bars && k<10; shift++)
        {
         if (zz[shift]>0)
           {
            afr[k]=Time[shift];
            if (ExtIndicator!=9)
              {
               if (zz[shift]==zzL[shift])
                 {
                  if (ZigZagHighLow) afrl[k]=Low[shift]; 
                  else
                    {
                     if (k==0) afrl[k]=Low[shift]; else  afrl[k]=zzL[shift];
                    }
                  afrh[k]=0.0;
                 }
               if (zz[shift]==zzH[shift])
                 {
                  if (ZigZagHighLow) afrh[k]=High[shift]; 
                  else
                    {
                     if (k==0) afrh[k]=High[shift]; else afrh[k]=zzH[shift];
                    }
                  afrl[k]=0.0;
                 }
              }
            else
              {
               if (zz[shift]==zzL[shift])
                 {
                  afrl[k]=iRSI(NULL,0,minBars,Price,shift); 
                  afrh[k]=0.0;
                 }
               if (zz[shift]==zzH[shift])
                 {
                  afrh[k]=iRSI(NULL,0,minBars,Price,shift); 
                  afrl[k]=0.0;
                 }
              }
            k++;
           }
        }

      if (ExtPitchforkStatic>0)
        {
         if (mPitch[2]>0) {screenPitchforkS(); ExtPitchforkStatic=0;}
         if (ExtPitchforkCandle)
           {
            if (iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)==0) screenPitchforkS();
           }
         else
           {
            if (mPitch[2]==0) screenPitchforkS();
           }
        }
      if (ExtPitchforkDinamic>0) {screenPitchforkD();}

      if (ExtFiboStatic)
        {
         if (mFibo[1]>0) {ExtFiboStatic=false; screenFiboS();}
         if (mFibo[1]==0) screenFiboS();
        }
      if (ExtFiboDinamic) {screenFiboD();}

      if (ExtFiboExpansion>0)
        {
         if (mExpansion[2]>0) {FiboExpansion(); ExtFiboExpansion=0;}
         if (mExpansion[2]==0) FiboExpansion();
        }

      if (ExtFiboFanNum>0 && ExtFiboFanColor>0)
        {
         if (mFan[1]>0) {screenFiboFan(); ExtFiboFanNum=0;}
         if (mFan[1]==0) screenFiboFan();
        }
      if (ExtFiboFanDinamic) screenFiboFanD();

      if (ExtVLStaticColor>0)
        {
         if (mVL[2]>0) {ExtVLStaticNum=0; VLS();}
         if (mVL[2]==0) VLS();
        }
      if (ExtVLDinamicColor>0) {VLD();}

      ExtSave=false;
     }
  }

void VLS()
  {
   VL(mVL[0],mVL[1],mVL[2],ExtVLStaticColor,"VLS");
  }

void VLD()
  {
   VL(2,1,0,ExtVLDinamicColor,"VLD");
  }

void VL(int na,int nb,int nc,color color_line,string vl)
  {
   double line_pesavento[7]={0.236, 0.382, 0.447, 0.5, 0.618, 0.786, 0.886}, line_fibo[7]={0.236, 0.382, 0.455, 0.5, 0.545, 0.618, 0.764};
   int c_bar1, c_bar2, i;
   double H_L, mediana, tangens, cena;

   c_bar1=iBarShift(Symbol(),Period(),afr[na])-iBarShift(Symbol(),Period(),afr[nb]); // ?????????? ??? ? ??????? AB
   c_bar2=iBarShift(Symbol(),Period(),afr[nb])-iBarShift(Symbol(),Period(),afr[nc]); // ?????????? ??? ? ??????? ??
   if (afrl[na]>0)
    {
     H_L=afrh[nb]-afrl[nc]; // ?????? ??????? ??

     for (i=0; i<7; i++)
       {
        if (ExtFiboType)
          {
           mediana=line_pesavento[i]*H_L+afrl[nc];
           tangens=(mediana-afrl[na])/(c_bar1+(1-line_pesavento[i])*c_bar2);
           cena=c_bar2*line_pesavento[i]*tangens+mediana;
           nameObj=vl+i+" " + ExtComplekt;
           ObjectDelete(nameObj);
           ObjectCreate(nameObj,OBJ_TREND,NumWindow,afr[na],afrl[na],afr[nc],cena);
           ObjectSetText(nameObj,"ZUP"+ExtComplekt+" zz"+ExtIndicator+" "+vl+" "+DoubleToStr(line_pesavento[i]*100,1)+"");
           ObjectSet(nameObj,OBJPROP_COLOR,color_line);
          }
        else
          {
           mediana=line_fibo[i]*H_L+afrl[nc];
           tangens=(mediana-afrl[na])/(c_bar1+(1-line_fibo[i])*c_bar2);
           cena=c_bar2*line_fibo[i]*tangens+mediana;
           nameObj=vl+i+" " + ExtComplekt;
           ObjectDelete(nameObj);
           ObjectCreate(nameObj,OBJ_TREND,NumWindow,afr[na],afrl[na],afr[nc],cena);
           ObjectSetText(nameObj,"ZUP"+ExtComplekt+" zz"+ExtIndicator+" "+vl+" "+DoubleToStr(line_fibo[i]*100,1)+"");
           ObjectSet(nameObj,OBJPROP_COLOR,color_line);
          }
       }
    }
   else
    {
     H_L=afrh[nc]-afrl[nb]; // ?????? ??????? ??

     for (i=0; i<7; i++)
       {
        if (ExtFiboType)
          {
           mediana=afrh[nc]-line_pesavento[i]*H_L;
           tangens=(afrh[na]-mediana)/(c_bar1+(1-line_pesavento[i])*c_bar2);
           cena=mediana-c_bar2*line_pesavento[i]*tangens;
           nameObj=vl+i+" " + ExtComplekt;
           ObjectDelete(nameObj);
           ObjectCreate(nameObj,OBJ_TREND,NumWindow,afr[na],afrh[na],afr[nc],cena);
           ObjectSetText(nameObj,"ZUP"+ExtComplekt+" zz"+ExtIndicator+" "+vl+" "+DoubleToStr(line_pesavento[i]*100,1)+"");
           ObjectSet(nameObj,OBJPROP_COLOR,color_line);
          }
        else
          {
           mediana=afrh[nc]-line_fibo[i]*H_L;
           tangens=(afrh[na]-mediana)/(c_bar1+(1-line_fibo[i])*c_bar2);
           cena=mediana-c_bar2*line_fibo[i]*tangens;
           nameObj=vl+i+" " + ExtComplekt;
           ObjectDelete(nameObj);
           ObjectCreate(nameObj,OBJ_TREND,NumWindow,afr[na],afrh[na],afr[nc],cena);
           ObjectSetText(nameObj,"ZUP"+ExtComplekt+" zz"+ExtIndicator+" "+vl+" "+DoubleToStr(line_fibo[i]*100,1)+"");
           ObjectSet(nameObj,OBJPROP_COLOR,color_line);
          }
       }
    }
  }

void screenPitchforkS()
  {
   int k1,n,nbase1,nbase2;
   double a1,b1,c1,ab1,bc1,ab2,bc2,d,n1,cl1,ch1;
   datetime ta1,tb1,tc1,tab2,tbc2,tcl1,tch1;
   bool fo1=false,fo2=false;
   int    pitch_time[]={0,0,0}; 
   double pitch_cena[]={0,0,0};
   int    TLine_time[]={0,0,0};
   double TLine[]={0,0,0};
   int  m1,m2;

   if (ExtPitchforkCandle)
     {
      if (iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)==0)
        {
         if (ExtPitchfork_1_HighLow)
           {
            mPitchCena[2]=High[iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)];
           }
         else
           {
            mPitchCena[2]=Low[iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)];
           }
        }
     }

   if (ExtFiboFanStatic) {ExtFiboFanStatic=false;screenFiboFanS();}

   if (ExtPitchforkStatic>0)
     {
      if (ExtPitchforkCandle)
        {
         n=(iBarShift(Symbol(),Period(),mPitchTime[0])+iBarShift(Symbol(),Period(),mPitchTime[1]))/2.0;
        }
      else
        {
         n=(iBarShift(Symbol(),Period(),afr[mPitch[0]])+iBarShift(Symbol(),Period(),afr[mPitch[1]]))/2.0;
        }
      k1=MathCeil(n);
      if (n<k1) fo1=true;
      tab2=Time[k1];

      if (ExtPitchforkCandle)
        {
         n=(iBarShift(Symbol(),Period(),mPitchTime[1])+iBarShift(Symbol(),Period(),mPitchTime[2]))/2.0;
        }
      else
        {
         n=(iBarShift(Symbol(),Period(),afr[mPitch[1]])+iBarShift(Symbol(),Period(),afr[mPitch[2]]))/2.0;
        }
      k1=MathCeil(n);
      if (n<k1) fo2=true;
      tbc2=Time[k1];

      if (ExtPitchforkCandle)
        {
         n=iBarShift(Symbol(),Period(),mPitchTime[0])-iBarShift(Symbol(),Period(),mPitchTime[2]);
        }
      else
        {
         n=iBarShift(Symbol(),Period(),afr[mPitch[0]])-iBarShift(Symbol(),Period(),afr[mPitch[2]]);
        }

      nameObj="pmedianaS" + ExtComplekt;
      ObjectDelete(nameObj);

      if (ExtSave)
        {
         if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
           {
            nameObj=nameObj + save;
           }
         else
           {
            if (mPitch[2]>0)
              {
               nameObj=nameObj + save;
              }
           }
        }

      if (ExtPitchforkCandle)
        {
         if (!ExtPitchfork_1_HighLow)
           {
            d=(mPitchCena[2]-mPitchCena[0])/4/n;
            ab1=(mPitchCena[0]+mPitchCena[1])/2;
            if (fo1) {fo1=false; ab1=ab1+d;}
            bc1=(mPitchCena[1]+mPitchCena[2])/2;
            if (fo2) {fo2=false; bc1=bc1+d;}
           }
         else
           {
            d=(mPitchCena[2]-mPitchCena[0])/4/n;
            ab1=(mPitchCena[0]+mPitchCena[1])/2;
            if (fo1) {fo1=false; ab1=ab1+d;}
            bc1=(mPitchCena[1]+mPitchCena[2])/2;
            if (fo2) {fo2=false; bc1=bc1+d;}
           }
        }
      else
        {
         if (afrl[mPitch[0]]>0)
           {
            d=(afrl[mPitch[2]]-afrl[mPitch[0]])/4/n;
            ab1=(afrl[mPitch[0]]+afrh[mPitch[1]])/2;
            if (fo1) {fo1=false; ab1=ab1+d;}
            bc1=(afrh[mPitch[1]]+afrl[mPitch[2]])/2;
            if (fo2) {fo2=false; bc1=bc1+d;}
           }
         else
           {
            d=(afrh[mPitch[2]]-afrh[mPitch[0]])/4/n;
            ab1=(afrh[mPitch[0]]+afrl[mPitch[1]])/2;
            if (fo1) {fo1=false; ab1=ab1+d;}
            bc1=(afrl[mPitch[1]]+afrh[mPitch[2]])/2;
            if (fo2) {fo2=false; bc1=bc1+d;}
           }
        }

      pitch_time[0]=tab2;pitch_cena[0]=ab1;

      if (ExtPitchforkStatic==2)
        {
         ObjectCreate(nameObj,OBJ_TREND,NumWindow,tab2,ab1,tbc2,bc1);
         ObjectSet(nameObj,OBJPROP_STYLE,STYLE_DOT);
         ObjectSet(nameObj,OBJPROP_COLOR,ExtLinePitchforkS);
         ObjectSet(nameObj,OBJPROP_BACK,ExtBack);

         nameObj="1-2pmedianaS" + ExtComplekt;

         if (ExtSave)
           {
            if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
              {
               nameObj=nameObj + save;
              }
            else
              {
               if (mPitch[2]>0)
                 {
                  nameObj=nameObj + save;
                 }
              }
           }
         ObjectDelete(nameObj);
         ObjectCreate(nameObj,OBJ_TEXT,NumWindow,tab2,ab1+3*Point);
         ObjectSetText(nameObj,"     1/2 ML",9,"Arial", ExtLinePitchforkS);
        }   
     }

   nameObj="pitchforkS" + ExtComplekt;
   if (ExtSave)
     {
      if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
        {
         nameObj=nameObj + save;
        }
      else
        {
         if (mPitch[2]>0)
           {
            nameObj=nameObj + save;
           }
        }
     }

   ObjectDelete(nameObj);

   if (ExtPitchforkCandle)
     {
      if (!ExtPitchfork_1_HighLow)
        {
         if (ExtPitchforkStatic!=4)
           {
            pitch_time[0]=mPitchTime[0];pitch_cena[0]=mPitchCena[0];
            if (ExtPitchforkStatic==3) pitch_cena[0]=ab1;
           }
         pitch_time[1]=mPitchTime[1];pitch_cena[1]=mPitchCena[1];
         pitch_time[2]=mPitchTime[2];pitch_cena[2]=mPitchCena[2];
        }
      else
        {
         if (ExtPitchforkStatic!=4)
           {
            pitch_time[0]=mPitchTime[0];pitch_cena[0]=mPitchCena[0];
            if (ExtPitchforkStatic==3) pitch_cena[0]=ab1;
           }
         pitch_time[1]=mPitchTime[1];pitch_cena[1]=mPitchCena[1];
         pitch_time[2]=mPitchTime[2];pitch_cena[2]=mPitchCena[2];
        }
     }
   else
     {
      if (afrl[mPitch[0]]>0)
        {
         if (ExtPitchforkStatic!=4)
           {
            pitch_time[0]=afr[mPitch[0]];pitch_cena[0]=afrl[mPitch[0]];
            if (ExtPitchforkStatic==3) pitch_cena[0]=ab1;
           }
         pitch_time[1]=afr[mPitch[1]];pitch_cena[1]=afrh[mPitch[1]];
         pitch_time[2]=afr[mPitch[2]];pitch_cena[2]=afrl[mPitch[2]];
        }
      else
        {
         if (ExtPitchforkStatic!=4)
           {
            pitch_time[0]=afr[mPitch[0]];pitch_cena[0]=afrh[mPitch[0]];
            if (ExtPitchforkStatic==3) pitch_cena[0]=ab1;
           }
         pitch_time[1]=afr[mPitch[1]];pitch_cena[1]=afrl[mPitch[1]];
         pitch_time[2]=afr[mPitch[2]];pitch_cena[2]=afrh[mPitch[2]];
        }
     }

   ObjectCreate(nameObj,OBJ_PITCHFORK,NumWindow,pitch_time[0],pitch_cena[0],pitch_time[1],pitch_cena[1],pitch_time[2],pitch_cena[2]);
   if (ExtPitchforkStyle<5)
     {
      ObjectSet(nameObj,OBJPROP_STYLE,ExtPitchforkStyle);
     }
   else if(ExtPitchforkStyle<11)
     {
      ObjectSet(nameObj,OBJPROP_WIDTH,ExtPitchforkStyle-5);
     }
   ObjectSet(nameObj,OBJPROP_COLOR,ExtLinePitchforkS);
   ObjectSet(nameObj,OBJPROP_BACK,ExtBack);

   if (ExtFiboFanMedianaStaticColor>0)
     {
      ta1=pitch_time[0];
      a1=pitch_cena[0];
      n1=iBarShift(Symbol(),Period(),pitch_time[0])-(iBarShift(Symbol(),Period(),pitch_time[1])+iBarShift(Symbol(),Period(),pitch_time[2]))/2.0;
      d=(pitch_cena[0]-(pitch_cena[1]+pitch_cena[2])/2.0)/n1;
      m1=iBarShift(Symbol(),Period(),pitch_time[0]);
      tb1=Time[0];
      b1=pitch_cena[0]-d*(m1+1);

      nameObj="FanMedianaStatic" + ExtComplekt;
/*
      if (ExtSave)
        {
         if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
           {
            nameObj=nameObj + save;
           }
         else
           {
            if (mPitch[2]>0)
              {
               nameObj=nameObj + save;
              }
           }
        }
*/
      ObjectDelete(nameObj);

      ObjectCreate(nameObj,OBJ_FIBOFAN,NumWindow,ta1,a1,tb1,b1);
      ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT);
      ObjectSet(nameObj,OBJPROP_LEVELCOLOR,ExtFiboFanMedianaStaticColor);
      ObjectSet(nameObj,OBJPROP_BACK,ExtBack);

      screenFibo();

     }

   if (ExtUTL)
     {
      nameObj="UTL" + ExtComplekt;
      if (ExtSave)
        {
         if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
           {
            nameObj=nameObj + save;
           }
         else
           {
            if (mPitch[2]>0)
              {
               nameObj=nameObj + save;
              }
           }
        }

      ObjectDelete(nameObj);
      if (pitch_cena[1]>pitch_cena[2])
        {
         ObjectCreate(nameObj,OBJ_TREND,NumWindow,pitch_time[0],pitch_cena[0],pitch_time[1],pitch_cena[1]);
        }
      else
        {
         ObjectCreate(nameObj,OBJ_TREND,NumWindow,pitch_time[0],pitch_cena[0],pitch_time[2],pitch_cena[2]);
        }
      ObjectSet(nameObj,OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(nameObj,OBJPROP_COLOR,ExtLinePitchforkS);
      ObjectSet(nameObj,OBJPROP_BACK,ExtBack);
     }

   if (ExtLTL)
     {
      nameObj="LTL" + ExtComplekt;
      if (ExtSave)
        {
         if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
           {
            nameObj=nameObj + save;
           }
         else
           {
            if (mPitch[2]>0)
              {
               nameObj=nameObj + save;
              }
           }
        }

      ObjectDelete(nameObj);
      if (pitch_cena[1]>pitch_cena[2])
        {
         ObjectCreate(nameObj,OBJ_TREND,NumWindow,pitch_time[0],pitch_cena[0],pitch_time[2],pitch_cena[2]);
        }
      else
        {
         ObjectCreate(nameObj,OBJ_TREND,NumWindow,pitch_time[0],pitch_cena[0],pitch_time[1],pitch_cena[1]);
        }
      ObjectSet(nameObj,OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet(nameObj,OBJPROP_COLOR,ExtLinePitchforkS);
      ObjectSet(nameObj,OBJPROP_BACK,ExtBack);
     }
/*
   if (ExtPivotZoneColor>0)
     {
      ta1=pitch_time[2];
      a1=pitch_cena[2];
      m1=iBarShift(Symbol(),Period(),pitch_time[0])-iBarShift(Symbol(),Period(),pitch_time[1]);
      m2=iBarShift(Symbol(),Period(),pitch_time[1])-iBarShift(Symbol(),Period(),pitch_time[2]);
      n1=iBarShift(Symbol(),Period(),pitch_time[0])-(iBarShift(Symbol(),Period(),pitch_time[1])+iBarShift(Symbol(),Period(),pitch_time[2]))/2.0;
      d=(pitch_cena[0]-(pitch_cena[1]+pitch_cena[2])/2.0)/n1;

      if (m1>m2)
        {
         tb1=Time[iBarShift(Symbol(),Period(),pitch_time[2])-m1+1];
         b1=pitch_cena[0]-d*(2*m1+m2);
        }
      else
        {
         tb1=Time[iBarShift(Symbol(),Period(),pitch_time[2])-m2+1];
         b1=pitch_cena[0]-d*(2*m2+m1);
        }

      nameObj="PivotZoneS" + ExtComplekt;
      ObjectDelete(nameObj);

      ObjectCreate(nameObj,OBJ_RECTANGLE,0,ta1,a1,tb1,b1);
      ObjectSet(nameObj, OBJPROP_BACK, true);
      ObjectSet(nameObj, OBJPROP_COLOR, ExtPivotZoneColor); 
     }
*/
   if (ExtUWL || ExtLWL)
     {
      n1=iBarShift(Symbol(),Period(),pitch_time[0])-(iBarShift(Symbol(),Period(),pitch_time[1])+iBarShift(Symbol(),Period(),pitch_time[2]))/2.0;
      ta1=pitch_time[0];
      tb1=pitch_time[2];
      a1=pitch_cena[0];
      d=(pitch_cena[0]-(pitch_cena[1]+pitch_cena[2])/2.0)/n1;
      n1=(iBarShift(Symbol(),Period(),pitch_time[1])-iBarShift(Symbol(),Period(),pitch_time[2]))/2.0+1;
      b1=(pitch_cena[1]+pitch_cena[2])/2.0-d*n1;
      if (pitch_cena[1]>pitch_cena[2])
        {
         if (ExtUWL)
           {
            ch1=pitch_cena[1];
            tch1=pitch_time[1];
           }
         if (ExtLWL)
           {
            cl1=pitch_cena[2];
            tcl1=pitch_time[2];
           }
        }
      else
        {
         if (ExtUWL)
           {
            ch1=pitch_cena[2];
            tch1=pitch_time[2];
           }
         if (ExtLWL)
           {
            cl1=pitch_cena[1];
            tcl1=pitch_time[1];
           }
        }
      if (fo2) {fo2=false; b1=b1+d;}

      if (ExtUWL)
        {
         nameObj="UWL" + ExtComplekt;
         if (ExtSave)
           {
            if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
              {
               nameObj=nameObj + save;
              }
            else
              {
               if (mPitch[2]>0)
                 {
                  nameObj=nameObj + save;
                 }
              }
           }

         ObjectDelete(nameObj);

         ObjectCreate(nameObj,OBJ_FIBOCHANNEL,NumWindow,ta1,a1,tb1,b1,tch1,ch1);
         ObjectSet(nameObj,OBJPROP_LEVELCOLOR,ExtLinePitchforkS);
         ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT);
         ObjectSet(nameObj,OBJPROP_BACK,ExtBack);
         ObjectSet(nameObj,OBJPROP_COLOR,CLR_NONE);
         ObjectSet(nameObj,OBJPROP_FIBOLEVELS,6);

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+0,0.618);
         ObjectSetFiboDescription(nameObj, 0, "U W L 61.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,1.0);
         ObjectSetFiboDescription(nameObj, 1, "U W L 100.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,1.618);
         ObjectSetFiboDescription(nameObj, 2, "U W L 161.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,2.0);
         ObjectSetFiboDescription(nameObj, 3, "U W L 200.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,2.618);
         ObjectSetFiboDescription(nameObj, 4, "U W L 261.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,4.0);
         ObjectSetFiboDescription(nameObj, 5, "U W L 400.0"); 
        }

      if (ExtLWL)
        {
         nameObj="LWL" + ExtComplekt;
         if (ExtSave)
           {
            if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
              {
               nameObj=nameObj + save;
              }
            else
              {
               if (mPitch[2]>0)
                 {
                  nameObj=nameObj + save;
                 }
              }
           }

         ObjectDelete(nameObj);

         ObjectCreate(nameObj,OBJ_FIBOCHANNEL,NumWindow,ta1,a1,tb1,b1,tcl1,cl1);
         ObjectSet(nameObj,OBJPROP_LEVELCOLOR,ExtLinePitchforkS);
         ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT);
         ObjectSet(nameObj,OBJPROP_BACK,ExtBack);
         ObjectSet(nameObj,OBJPROP_COLOR,CLR_NONE);
         ObjectSet(nameObj,OBJPROP_FIBOLEVELS,6);

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+0,0.618);
         ObjectSetFiboDescription(nameObj, 0, "L W L 61.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,1.0);
         ObjectSetFiboDescription(nameObj, 1, "L W L 100.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,1.618);
         ObjectSetFiboDescription(nameObj, 2, "L W L 161.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,2.0);
         ObjectSetFiboDescription(nameObj, 3, "L W L 200.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,2.618);
         ObjectSetFiboDescription(nameObj, 4, "L W L 261.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,4.0);
         ObjectSetFiboDescription(nameObj, 5, "L W L 400.0"); 
        }

     }

   if (ExtPitchforkStaticColor>0)
     {
      if (ExtPitchforkCandle)
        {
         n=iBarShift(Symbol(),Period(),pitch_time[0])-(iBarShift(Symbol(),Period(),mPitchTime[1])+iBarShift(Symbol(),Period(),mPitchTime[2]))/2.0;
         nbase1=iBarShift(Symbol(),Period(),mPitchTime[1]);
        }
      else
        {
         n=iBarShift(Symbol(),Period(),pitch_time[0])-(iBarShift(Symbol(),Period(),afr[mPitch[1]])+iBarShift(Symbol(),Period(),afr[mPitch[2]]))/2.0;
         nbase1=iBarShift(Symbol(),Period(),afr[mPitch[1]]);
        }

      nameObj="1L" + ExtComplekt;  // ????????? ????? ?????? 1L

      ta1=Time[nbase1+n];

      if (ExtPitchforkCandle)
        {
         tc1=mPitchTime[1];
         TLine_time[0]=mPitchTime[1];
         TLine_time[2]=mPitchTime[2];

         if (!ExtPitchfork_1_HighLow)
           {
            a1=(pitch_cena[0]-(mPitchCena[1]+mPitchCena[2])/2)+mPitchCena[1];
           }
         else
           {
            a1=pitch_cena[0]-(mPitchCena[1]+mPitchCena[2])/2+mPitchCena[1];
           }

         c1=mPitchCena[1];
         ObjectCreate(nameObj,OBJ_TREND,NumWindow,ta1,a1,tc1,c1);
         TLine[0]=mPitchCena[1];
         TLine_time[1]=iTime(NULL, 0, 1);
         TLine[1]=ObjectGetValueByShift(nameObj, 1);
         TLine[2]=mPitchCena[2];
        }
      else
        {
         tc1=afr[mPitch[1]];
         TLine_time[0]=afr[mPitch[1]];
         TLine_time[2]=afr[mPitch[2]];
         if (afrh[mPitch[1]]>0)
           {
            a1=(pitch_cena[0]-(afrh[mPitch[1]]+afrl[mPitch[2]])/2)+afrh[mPitch[1]];
            c1=afrh[mPitch[1]];
            ObjectCreate(nameObj,OBJ_TREND,NumWindow,ta1,a1,tc1,c1);

            TLine[0]=afrh[mPitch[1]];
            TLine_time[1]=iTime(NULL, 0, 1);
            TLine[1]=ObjectGetValueByShift(nameObj, 1);
            TLine[2]=afrl[mPitch[2]];
           }
         else
           {
            a1=pitch_cena[0]-(afrl[mPitch[1]]+afrh[mPitch[2]])/2+afrl[mPitch[1]];
            c1=afrl[mPitch[1]];
            ObjectCreate(nameObj,OBJ_TREND,NumWindow,ta1,a1,tc1,c1);

            TLine[0]=afrl[mPitch[1]];
            TLine_time[1]=iTime(NULL, 0, 1); 
            TLine[1]=ObjectGetValueByShift(nameObj, 1);
            TLine[2]=afrh[mPitch[2]];
           }
        }
      ObjectDelete(nameObj); // ???????? ????????? ????? ?????? 1L

      nameObj="CL" + ExtComplekt;
/*
      if (ExtSave)
        {
         if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
           {
            nameObj=nameObj + save;
           }
         else
           {
            if (mPitch[2]>0)
              {
               nameObj=nameObj + save;
              }
           }
        }
*/
      ObjectDelete(nameObj);

      ObjectCreate(nameObj,OBJ_CHANNEL,NumWindow,TLine_time[0],TLine[0],TLine_time[1],TLine[1],TLine_time[2],TLine[2]);
      ObjectSet(nameObj, OBJPROP_BACK, true);
      ObjectSet(nameObj, OBJPROP_COLOR, ExtPitchforkStaticColor); 
     }

   if (ExtRLine)
     {

      if (ExtPitchforkCandle)
        {
         n=iBarShift(Symbol(),Period(),pitch_time[0])-(iBarShift(Symbol(),Period(),mPitchTime[1])+iBarShift(Symbol(),Period(),mPitchTime[2]))/2.0;

         nbase1=iBarShift(Symbol(),Period(),mPitchTime[1]);
         nbase2=iBarShift(Symbol(),Period(),mPitchTime[2]);
         tc1=mPitchTime[1];
        }
      else
        {
         n=iBarShift(Symbol(),Period(),pitch_time[0])-(iBarShift(Symbol(),Period(),afr[mPitch[1]])+iBarShift(Symbol(),Period(),afr[mPitch[2]]))/2.0;

         nbase1=iBarShift(Symbol(),Period(),afr[mPitch[1]]);
         nbase2=iBarShift(Symbol(),Period(),afr[mPitch[2]]);
         tc1=afr[mPitch[1]];
        }

      ta1=Time[nbase1+n];
      tb1=Time[nbase2+n];

      if (ExtPitchforkCandle)
        {
         c1=mPitchCena[1];
         if (!ExtPitchfork_1_HighLow)
           {
            a1=(pitch_cena[0]-(mPitchCena[1]+mPitchCena[2])/2)+mPitchCena[1];
            b1=(pitch_cena[0]-(mPitchCena[1]+mPitchCena[2])/2)+mPitchCena[2];
           }
         else
           {
            a1=pitch_cena[0]-(mPitchCena[1]+mPitchCena[2])/2+mPitchCena[1];
            b1=pitch_cena[0]-(mPitchCena[1]+mPitchCena[2])/2+mPitchCena[2];
           }
        }
      else
        {
         if (afrh[mPitch[1]]>0)
           {
            c1=afrh[mPitch[1]];
            a1=(pitch_cena[0]-(afrh[mPitch[1]]+afrl[mPitch[2]])/2)+afrh[mPitch[1]];
            b1=(pitch_cena[0]-(afrh[mPitch[1]]+afrl[mPitch[2]])/2)+afrl[mPitch[2]];
           }
         else
           {
            c1=afrl[mPitch[1]];
            a1=pitch_cena[0]-(afrl[mPitch[1]]+afrh[mPitch[2]])/2+afrl[mPitch[1]];
            b1=pitch_cena[0]-(afrl[mPitch[1]]+afrh[mPitch[2]])/2+afrh[mPitch[2]];
           }
        }

      nameObj="RLineS" + ExtComplekt;
      if (ExtSave)
        {
         if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
           {
            nameObj=nameObj + save;
           }
         else
           {
            if (mPitch[2]>0)
              {
               nameObj=nameObj + save;
              }
           }
        }

      ObjectDelete(nameObj);

      ObjectCreate(nameObj,OBJ_FIBOCHANNEL,NumWindow,ta1,a1,tb1,b1,tc1,c1);

      ObjectSet(nameObj,OBJPROP_LEVELCOLOR,ExtLinePitchforkS);

      if (ExtRLineBase) 
        {
         ObjectSet(nameObj,OBJPROP_COLOR,CLR_NONE);
        }
      else
        {
         ObjectSet(nameObj,OBJPROP_COLOR,ExtLinePitchforkS);
        }

      ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT);
      ObjectSet(nameObj,OBJPROP_RAY,false);
      ObjectSet(nameObj,OBJPROP_BACK,ExtBack);

      if (ExtFiboType)
        {
         ObjectSet(nameObj,OBJPROP_FIBOLEVELS,15);

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+0,0.382);
         ObjectSetFiboDescription(nameObj, 0, " RL 38.2"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,0.5);
         ObjectSetFiboDescription(nameObj, 1, " RL 50.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,0.618);
         ObjectSetFiboDescription(nameObj, 2, " RL 61.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,0.707);
         ObjectSetFiboDescription(nameObj, 3, " RL 70.7"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,0.786);
         ObjectSetFiboDescription(nameObj, 4, " RL 78.6"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,0.886);
         ObjectSetFiboDescription(nameObj, 5, " RL 88.6"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+6,1.0);
         ObjectSetFiboDescription(nameObj, 6, " RL 100.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+7,1.128);
         ObjectSetFiboDescription(nameObj, 7, " RL 112.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+8,1.272);
         ObjectSetFiboDescription(nameObj, 8, " RL 127.2"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+9,1.414);
         ObjectSetFiboDescription(nameObj, 9, " RL 141.4"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+10,1.618);
         ObjectSetFiboDescription(nameObj, 10, " RL 161.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+11,2.0);
         ObjectSetFiboDescription(nameObj, 11, " RL 200.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+12,2.414);
         ObjectSetFiboDescription(nameObj, 12, " RL 241.4"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+13,2.618);
         ObjectSetFiboDescription(nameObj, 13, " RL 261.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+14,4.0);
         ObjectSetFiboDescription(nameObj, 14, " RL 400.0"); 

        }
      else
        {
         ObjectSet(nameObj,OBJPROP_FIBOLEVELS,10);

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+0,0.236);
         ObjectSetFiboDescription(nameObj, 0, " RL 23.6"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,0.382);
         ObjectSetFiboDescription(nameObj, 1, " RL 38.2"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,0.5);
         ObjectSetFiboDescription(nameObj, 2, " RL 50.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,0.618);
         ObjectSetFiboDescription(nameObj, 3, " RL 61.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,0.764);
         ObjectSetFiboDescription(nameObj, 4, " RL 76.4"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,1.0);
         ObjectSetFiboDescription(nameObj, 5, " RL 100.0"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+6,1.618);
         ObjectSetFiboDescription(nameObj, 6, " RL 161.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+7,2.0);
         ObjectSetFiboDescription(nameObj, 7, " RL 200"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+8,2.618);
         ObjectSetFiboDescription(nameObj, 8, " RL 261.8"); 

         ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+9,4.0);
         ObjectSetFiboDescription(nameObj, 9, " RL 400.0"); 
        }
     }

      if (ExtFiboTime1)
        {
         nameObj="fiboTime1" + ExtComplekt;
         if (ExtSave)
           {
            if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
              {
               nameObj=nameObj + save;
              }
            else
              {
               if (mPitch[2]>0)
                 {
                  nameObj=nameObj + save;
                 }
              }
           }

         ObjectDelete(nameObj);

         if (ExtPitchforkCandle)
           {
            if (!ExtPitchfork_1_HighLow)
              {
               if (mPitchCena[0]>mPitchCena[2])
                 {
                  ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,mPitchTime[0],mPitchCena[2]-5*Point,mPitchTime[2],mPitchCena[2]-5*Point);
                 }
               else
                 {
                  ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,mPitchTime[0],mPitchCena[0]-5*Point,mPitchTime[2],mPitchCena[0]-5*Point);
                 }
              }
            else
              {
               ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,mPitchTime[0],mPitchCena[1]-5*Point,mPitchTime[2],mPitchCena[1]-5*Point);
              }
           }
         else
           {
            if (afrl[mPitch[0]]>0)
              {
               if (afrl[mPitch[0]]>afrl[mPitch[2]])
                 {
                  ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,afr[mPitch[0]],afrl[mPitch[2]]-5*Point,afr[mPitch[2]],afrl[mPitch[2]]-5*Point);
                 }
               else
                 {
                  ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,afr[mPitch[0]],afrl[mPitch[0]]-5*Point,afr[mPitch[2]],afrl[mPitch[0]]-5*Point);
                 }
              }
            else
              {
               ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,afr[mPitch[0]],afrl[mPitch[1]]-5*Point,afr[mPitch[2]],afrl[mPitch[1]]-5*Point);
              }
           }

         ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT);
         ObjectSet(nameObj,OBJPROP_STYLE,STYLE_DOT);
         ObjectSet(nameObj,OBJPROP_LEVELCOLOR,ExtFiboTime1C);
         ObjectSet(nameObj,OBJPROP_BACK,ExtBack);

         if (ExtFiboType)
           {
            ObjectSet(nameObj,OBJPROP_FIBOLEVELS,17);

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+0,0.0);
            ObjectSetFiboDescription(nameObj, 0, "0"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,1.0);
            ObjectSetFiboDescription(nameObj, 1, "1"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,1.382);
            ObjectSetFiboDescription(nameObj, 2, "Ft .382"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,1.5);
            ObjectSetFiboDescription(nameObj, 3, "Ft .5"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,1.618);
            ObjectSetFiboDescription(nameObj, 4, "Ft .618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,1.707);
            ObjectSetFiboDescription(nameObj, 5, "Ft .707"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+6,1.786);
            ObjectSetFiboDescription(nameObj, 6, "Ft .786"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+7,1.841);
            ObjectSetFiboDescription(nameObj, 7, "Ft .841"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+8,2.0);
            ObjectSetFiboDescription(nameObj, 8, "Ft 1."); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+9,2.272);
            ObjectSetFiboDescription(nameObj, 9, "Ft 1.272"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+10,2.414);
            ObjectSetFiboDescription(nameObj, 10, "Ft 1.414"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+11,2.618);
            ObjectSetFiboDescription(nameObj, 11, "Ft 1.618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+12,3.0);
            ObjectSetFiboDescription(nameObj, 12, "Ft 2."); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+13,3.414);
            ObjectSetFiboDescription(nameObj, 13, "Ft 2.414"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+15,3.618);
            ObjectSetFiboDescription(nameObj, 15, "Ft 2.618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+16,4.0);
            ObjectSetFiboDescription(nameObj, 16, "Ft 3."); 

           }
         else
           {
            ObjectSet(nameObj,OBJPROP_FIBOLEVELS,11);

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+0,0.0);
            ObjectSetFiboDescription(nameObj, 0, "0"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,1.0);
            ObjectSetFiboDescription(nameObj, 1, "1"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,1.236);
            ObjectSetFiboDescription(nameObj, 2, "Ft .236"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,1.382);
            ObjectSetFiboDescription(nameObj, 3, "Ft .382"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,1.5);
            ObjectSetFiboDescription(nameObj, 4, "Ft .5"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,1.618);
            ObjectSetFiboDescription(nameObj, 5, "Ft .618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+6,1.764);
            ObjectSetFiboDescription(nameObj, 6, "Ft .764"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+7,2.0);
            ObjectSetFiboDescription(nameObj, 7, "Ft 1."); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+8,2.618);
            ObjectSetFiboDescription(nameObj, 8, "Ft 1.618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+9,3.0);
            ObjectSetFiboDescription(nameObj, 9, "Ft 3."); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+10,2.618);
            ObjectSetFiboDescription(nameObj, 10, "Ft 2.618"); 
           }

        }

      if (ExtFiboTime2)
        {
         nameObj="fiboTime2" + ExtComplekt;
         if (ExtSave)
           {
            if (ExtPitchforkCandle && iBarShift(Symbol(),Period(),ExtDateTimePitchfork_3)>0)
              {
               nameObj=nameObj + save;
              }
            else
              {
               if (mPitch[2]>0)
                 {
                  nameObj=nameObj + save;
                 }
              }
           }

         ObjectDelete(nameObj);

         if (ExtPitchforkCandle)
           {
            if (ExtPitchfork_1_HighLow)
              {
               ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,mPitchTime[1],mPitchCena[1]-8*Point,mPitchTime[2],mPitchCena[1]-8*Point);
              }
            else
              {
               ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,mPitchTime[1],mPitchCena[2]-8*Point,mPitchTime[2],mPitchCena[2]-8*Point);
              }
           }
         else
           {
            if (afrl[mPitch[1]]>0)
              {
               ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,afr[mPitch[1]],afrl[mPitch[1]]-8*Point,afr[mPitch[2]],afrl[mPitch[1]]-8*Point);
              }
            else
              {
               ObjectCreate(nameObj,OBJ_FIBOTIMES,NumWindow,afr[mPitch[1]],afrl[mPitch[2]]-8*Point,afr[mPitch[2]],afrl[mPitch[2]]-8*Point);
              }
           }

         ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT);
         ObjectSet(nameObj,OBJPROP_STYLE,STYLE_DOT);
         ObjectSet(nameObj,OBJPROP_LEVELCOLOR,ExtFiboTime2C);
         ObjectSet(nameObj,OBJPROP_BACK,ExtBack);

         if (ExtFiboType)
           {
            ObjectSet(nameObj,OBJPROP_FIBOLEVELS,17);

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+0,0.0);
            ObjectSetFiboDescription(nameObj, 0, "0"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,1.0);
            ObjectSetFiboDescription(nameObj, 1, "1"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,1.382);
            ObjectSetFiboDescription(nameObj, 2, "Ft .382"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,1.5);
            ObjectSetFiboDescription(nameObj, 3, "Ft .5"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,1.618);
            ObjectSetFiboDescription(nameObj, 4, "Ft .618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,1.707);
            ObjectSetFiboDescription(nameObj, 5, "Ft .707"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+6,1.786);
            ObjectSetFiboDescription(nameObj, 6, "Ft .786"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+7,1.841);
            ObjectSetFiboDescription(nameObj, 7, "Ft .841"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+8,2.0);
            ObjectSetFiboDescription(nameObj, 8, "Ft 1."); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+9,2.272);
            ObjectSetFiboDescription(nameObj, 9, "Ft 1.272"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+10,2.414);
            ObjectSetFiboDescription(nameObj, 10, "Ft 1.414"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+11,2.618);
            ObjectSetFiboDescription(nameObj, 11, "Ft 1.618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+12,3.0);
            ObjectSetFiboDescription(nameObj, 12, "Ft 2."); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+13,3.414);
            ObjectSetFiboDescription(nameObj, 13, "Ft 2.414"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+15,3.618);
            ObjectSetFiboDescription(nameObj, 15, "Ft 2.618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+16,4.0);
            ObjectSetFiboDescription(nameObj, 16, "Ft 3."); 

           }
         else
           {
            ObjectSet(nameObj,OBJPROP_FIBOLEVELS,11);

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+0,0.0);
            ObjectSetFiboDescription(nameObj, 0, "0"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,1.0);
            ObjectSetFiboDescription(nameObj, 1, "1"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,1.236);
            ObjectSetFiboDescription(nameObj, 2, "Ft .236"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,1.382);
            ObjectSetFiboDescription(nameObj, 3, "Ft .382"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,1.5);
            ObjectSetFiboDescription(nameObj, 4, "Ft .5"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,1.618);
            ObjectSetFiboDescription(nameObj, 5, "Ft .618"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+6,1.764);
            ObjectSetFiboDescription(nameObj, 6, "Ft .764"); 

            ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+7,2.0);
            ObjectSetFiboDescription(nameObj, 

Показано первые 50% кода (символов: 100333)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
10 033,30₽ ≈ $122.63