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

divergence_petr_nmc.mq5

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

pro +.pineTradingView · 3 общих теговofada_gold_trader_v230.mq5MQL5 / MetaTrader 5 · 3 общих теговmulti strategy algo combined by enigma mode.pineTradingView · 3 общих теговmelona ob strategy 6th update (by 3dots).pineTradingView · 3 общих теговsmc+ict+indicators+scalping master.pineTradingView · 3 общих теговpremium_super_scalping killer algo.pineTradingView · 3 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор Divergence Petr — пользовательский индикатор для MetaTrader 5, отображаемый в отдельном окне. Он рассчитывает выбранный осциллятор (RSI, MACD, Stochastic, AO и другие), применяет к нему сглаживание T3 и анализирует дивергенции и конвергенции путём сравнения экстремумов осциллятора с экстремумами цены. На графике строятся линии трендов, канальные линии, каналы регрессии и стандартного отклонения.

Индикатор поддерживает многоступенчатый анализ (до 3 шагов) с настраиваемыми параметрами поиска пивотов слева и справа. Включены настройки отображения линий трендов вверх и вниз, обнаружения дивергенций и конвергенций, а также цветовая настройка всех элементов. Параметр showBars ограничивает количество анализируемых баров.

Индикатор не является торговым советником и не совершает сделок. Он предоставляет только аналитическую визуализацию на графике ценовых данных.

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

НастройкаОписание
Osc Целочисленный селектор осциллятора: 1=AC, 2=A/D, 3=ADX, 4=ATR, 5=AO, 6=Bears Power, 7=Bulls Power, 8=CCI, 9=DeM, 10=Force, 11=Momentum, 12=MFI, 13=MACD, 14=OsMA, 15=OBV, 16=RVI, 17=StdDev, 18=Stochastic, 19=Volume, 20-35=различные цены и индикаторы, по умолчанию=RBCI
TH Логический переключатель проверки верхних трендовых линий
TL Логический переключатель проверки нижних трендовых линий
trend Логический переключатель отображения трендовых линий
convergen Логический переключатель обнаружения конвергенции
Complect Целочисленный параметр сложности (Complect)
?????????? ????? ????? h (BackSteph) Целочисленный параметр обратного сдвига для поиска максимумов
?????????? ????? ????? l (BackStepl) Целочисленный параметр обратного сдвига для поиска минимумов
?????????? ????? ????? (BackStep) Целочисленный параметр обратного сдвига для обоих направлений (применяется, если BackSteph и BackStepl равны 0)
?????????? ???????????? ?????, ?? ????? 3? (qSteps) Целочисленный параметр количества шагов анализа (максимум 3)
??????? ????? ???????; 2 = ??????????? ??? ????? ????(????) 2? ????? ????? (LevDPl) Целочисленный параметр глубины поиска слева для определения пивотов; 2 = поиск пивотов через 2 бара в обе стороны
??????? ????? ???????; 2 = ??????????? ??? ????? ????(????) 2? ????? ?????? (LevDPr) Целочисленный параметр глубины поиска справа для определения пивотов; 2 = поиск пивотов через 2 бара в обе стороны
period Целочисленный период для расчёта осциллятора
ma_method Целочисленный метод скользящей средней
ma_shift Целочисленный сдвиг скользящей средней
applied_price Целочисленный параметр применяемой цены для расчёта индикатора
mode Целочисленный режим расчёта индикатора
fast_ema_period Целочисленный период быстрой EMA для MACD/OsMA
slow_ema_period Целочисленный период медленной EMA для MACD/OsMA
signal_period Целочисленный период сигнальной линии для MACD/OsMA
Kperiod Целочисленный параметр K-периода для стохастика
Dperiod Целочисленный параметр D-периода для стохастика
slowing Целочисленный параметр замедления для стохастика
price_field Целочисленный параметр поля цены для стохастика
T3_Period Целочисленный параметр периода T3 (троичного экспоненциального сглаживания)
b Числовой коэффициент b для расчёта T3
???? = 0, ?? ????? ???????????? ??? ????? ??????? (showBars) Целочисленный параметр количества отображаемых баров; 0 = все бары на графике
LeftStrong Логический переключатель строгого условия слева при поиске пивотов
RightStrong Логический переключатель строгого условия справа при поиске пивотов
Anti Переключатель функции Anti (влияет на логику обнаружения пивотов)
Trend_Down Логический переключатель отображения линий нисходящего тренда
Trend_Up Логический переключатель отображения линий восходящего тренда
false = ????? ?????? ?? ????? (TrendLine) Переключатель отображения трендовых линий (false = трендовые линии не отображаются)
HandyColour Переключатель удобной цветовой схемы (использование стандартных цветов вместо заданных)
Highline Цвет верхней линии
Lowline Цвет нижней линии
true = ??????? ?????????? ?????? ?????? ?????? (ChannelLine) Переключатель отображения канальных линий трендов (true = отображать канальные линии трендов)
1 = ?????? ??? UpTrendLines, -1 = ?????? ??? DownTrendLines, 0 = ??? ???? TrendLines (Trend) Целочисленный параметр направления тренда: 1 = только верхние трендовые линии UpTrendLines, -1 = только нижние DownTrendLines, 0 = оба типа
Channel Переключатель отображения канальных линий
Regression Переключатель отображения линий регрессии (true = регрессия, false = стандартное отклонение)
RayH Переключатель лучей для верхних линий (true = лучи видны)
RayL Переключатель лучей для нижних линий (true = лучи видны)
ChannelH Цвет верхней канальной линии
ChannelL Цвет нижней канальной линии
STD_widthH Числовой параметр ширины верхнего канала стандартного отклонения
STD_widthL Числовой параметр ширины нижнего канала стандартного отклонения
Back Целочисленный параметр обратного сдвига
code Целочисленный код стрелки для отображения маркеров на графике
Получить полный код

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

#property stacksize 16384
#property indicator_separate_window 
#property indicator_level1 75
#property indicator_level2 50
#property indicator_level3 25
#property indicator_level4 0
#property indicator_levelstyle STYLE_SOLID
#property indicator_levelcolor DarkSlateGray
#property indicator_buffers 3
#property indicator_color1 DimGray
#property indicator_color2 Red 
#property indicator_color3 Gold

extern int Osc=29;              /*1=Accelerator/Decelerator, 2=Accumulation/Distribution,
                                 3=Average Directional Movement Index, 4=Average True Range,
                                 5=Awesome oscillator, 6=Bears Power, 7=Bulls Power,
                                 8=Commodity Channel Index, 9=DeMarker, 10=Force Index,
                                 11=Momentum, 12=Money Flow Index, 13=Moving Averages Convergence/Divergence,
                                 14=Moving Average of Oscillator, 15=On Balance Volume,
                                 16=Relative Vigor Index, 17=Standard Deviation,
                                 18=Stochastic Oscillator, 19=Volume,
                                 20=Close, 21=Open, 22=High, 23=Low,
                                 24=(H+L)/2, 25=(H+L+C)/3, 26=(H+L+C+C)/4, 27=(O+C+H+L)/4, 28=(O+C)/2,
                                 29=Relative Strength Index, 30=RBCI, 31=FTLM, 32=STLM, 33=JRSX,34=Relative Strength Index,

                                 35=Williams' Percent Range,
                                 other=RBCI;*/ 

extern bool TH=true;
extern bool TL=true;

extern bool trend=true; 
extern bool convergen=true;       
extern int Complect=1;
int Complect10=10;
int Complect20=20;  
int Complect30=30;
int Complect40=40;  
int Complect50=50;
int Complect60=60; 
int Complect70=70;
int Complect80=80;

extern int BackSteph=0; // ?????????? ????? ????? h
extern int BackStepl=0; // ?????????? ????? ????? l
extern int BackStep=0; // ?????????? ????? ?????                       
extern int qSteps=1; // ?????????? ???????????? ?????, ?? ????? 3?

extern int LevDPl=5; // ??????? ????? ???????; 2 = ??????????? ??? ????? ????(????) 2? ????? ?????
extern int LevDPr=1; // ??????? ????? ???????; 2 = ??????????? ??? ????? ????(????) 2? ????? ??????
extern int period=8;
extern int ma_method=0;
extern int ma_shift=0;
extern int applied_price=4;
extern int mode=0;
extern int fast_ema_period=12;
extern int slow_ema_period=26;
extern int signal_period=9;
extern int Kperiod=13;
extern int Dperiod=5;
extern int slowing=3;
extern int price_field=0;
extern int  T3_Period = 1;  
extern double b = 0.7;
extern int showBars=1000; // ???? = 0, ?? ????? ???????????? ??? ????? ???????

extern bool LeftStrong=false;
extern bool RightStrong=true;
extern bool Anti=true;
extern bool Trend_Down=true;
extern bool Trend_Up=true;

extern bool TrendLine=true; // false = ????? ?????? ?? ?????
extern bool HandyColour=true;
extern color Highline=Red;
extern color Lowline=DeepSkyBlue;
extern bool ChannelLine=false; // true = ??????? ?????????? ?????? ?????? ??????
extern int Trend=0; // 1 = ?????? ??? UpTrendLines, -1 = ?????? ??? DownTrendLines, 0 = ??? ???? TrendLines 
extern bool Channel=false;
extern bool Regression=true;
extern bool RayH=true;
extern bool RayL=true;
extern color ChannelH=Red;
extern color ChannelL=DeepSkyBlue;
extern double STD_widthH=1.0;
extern double STD_widthL=1.0;
extern int Back=0;
bool comment=false;
extern int code=159;

double e1, e2, e3, e4, e5, e6;
double c1, c2, c3, c4, w1, w2, b2, b3;

int time2; double E1, E2, E3, E4, E5, E6;

double Oscil[], t3_Oscil[];
double Buf1[]; 
double Buf2[];

string Col[]={"???????","?????","???????","???????","??????????","????????"};
int ColNum[]={Red,DeepSkyBlue,Coral,Aqua,SaddleBrown,MediumSeaGreen};
int qPoint=0; // ?????????? ??? ???????????? ????

int qBars; double qTime=0; // ?????????? ??? ?????????? ?????? ??? ????????

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

int deinit() 
{
   if(comment) Comment("");

   for(int i=1;i<=qSteps;i++)
    {
      ObjectDelete("HL("+Complect+")_"+i);ObjectDelete("LL("+Complect+")_"+i);
      ObjectDelete("HCL("+Complect+")_"+i);ObjectDelete("LCL("+Complect+")_"+i);
      ObjectDelete("CHAh("+Complect+")_"+i);ObjectDelete("CHAl("+Complect+")_"+i);
    }
    return(0);
}

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

string TDMain(int Step)
{
   int H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13,H14,L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,qExt,col;
   double qTL;
   string Comm="????? ??? "+Step+" ?? "+qSteps+" (BackStep "+BackStep+")\n",Rem,Rem1,Rem2,Rem3,Rem4,Rem5,Rem6,Rem7,Rem8;
   string Short_name; 
   switch(Osc)
     {
      case  1 : Short_name="AC";  break;
      case  2 : Short_name="A/D"; break;
      case  3 : Short_name="ADX"; break;
      case  4 : Short_name="ATR";  break;
      case  5 : Short_name="AO"; break;
      case  6 : Short_name="Bears"; break;
      case  7 : Short_name="Bulls";  break;
      case  8 : Short_name="CCI"; break;
      case  9 : Short_name="DeM"; break;
      case 10 : Short_name="Force";  break;
      case 11 : Short_name="Momentum"; break;
      case 12 : Short_name="MFI"; break;
      case 13 : Short_name="MACD";  break;
      case 14 : Short_name="OsMA"; break;
      case 15 : Short_name="OBV"; break;
      case 16 : Short_name="RVI"; break;
      case 17 : Short_name="StdDev"; break;
      case 18 : Short_name="Stoch";  break;
      case 19 : Short_name="Volume"; break;
      case 20 : Short_name="Close";  break;
      case 21 : Short_name="Open";  break;
      case 22 : Short_name="High"; break;
      case 23 : Short_name="Low"; break;
      case 24 : Short_name="Median Price";  break;
      case 25 : Short_name="Typical Price"; break;
      case 26 : Short_name="Weighted Close Price"; break;
      case 27 : Short_name="(O+C+H+L)/4";  break;
      case 29 : Short_name="RSI"; break;
      case 30 : Short_name="RBCI"; break;
      case 31 : Short_name="FTLM"; break;
      case 32 : Short_name="STLM"; break;
      case 33 : Short_name="JRSX Diver"; break;
      case 34 : Short_name="RSI"; break;

      case 35 : Short_name="WPR"; break;
      default : Short_name="RBCI";
     }

   if (Trend<=0)
    {
      Comm=Comm+"? "+Col[Step*2-2]+" DownTrendLine ";
      if(HandyColour) col=Highline; else col=ColNum[Step*2-2];
      H1=GetTD(Step+BackSteph,Buf1);
      H2=GetNextHighTD(H1);
      H3=GetNextHighTD(H2);
      H4=GetNextHighTD(H3);
      H5=GetNextHighTD(H4);
      H6=GetNextHighTD(H5);
      H7=GetNextHighTD(H6);
      H8=GetNextHighTD(H7);
      H9=GetNextHighTD(H8);
      H10=GetNextHighTD(H9);
      H11=GetNextHighTD(H10);
      H12=GetNextHighTD(H11);
      H13=GetNextHighTD(H12);
      H14=GetNextHighTD(H13);

      qTL=(t3_Oscil[H2]-t3_Oscil[H1])/(H2-H1);
      int n, sn, r, result;
      for(n=1, r=H1+1; n<H2-H1-1; n++)
       {
        sn=H1+1+n;
        if(t3_Oscil[r]<t3_Oscil[sn]) result=r;
        else result=sn;
        r=result;
       }
      double Complect1, Complect2,Complect3, Complect4, Complect5,Complect6, Complect7, Complect8, buy,sell; 
       if (Complect>0)
       {Complect1=Complect+Complect10;
       Complect2=Complect+Complect20;
       Complect3=Complect+Complect30;
       Complect4=Complect+Complect40;
       Complect5=Complect+Complect50;
       Complect6=Complect+Complect60;
       Complect7=Complect+Complect70;
       Complect8=Complect+Complect80;
       }

      qExt=r; // ????????? ??????? ????? ???????

      Comm=Comm+"\n";
         int indicatorWindow = WindowFind(Short_name);
         Rem="HL("+Complect+")_"+Step; 
         Rem1="HL("+Complect8+")_"+Step ; 
         Rem2="HL("+Complect1+")_"+Step ;
         Rem3="HL("+Complect2+")_"+Step;
         Rem4="HL("+Complect3+")_"+Step;
         Rem5="HL("+Complect4+")_"+Step;
         Rem6="HL("+Complect5+")_"+Step;
         Rem7="HL("+Complect6+")_"+Step;
         Rem8="HL("+Complect7+")_"+Step;

        if (trend==true && Oscil[H2] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H2]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H2]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          }

         else if (trend==true && Oscil[H3] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H3]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H3]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

        else if (trend==true && Oscil[H4] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H4]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H4]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

        else if (trend==true && Oscil[H5] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H5]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H5]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          }

         else if (trend==true && Oscil[H6] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H6]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H6]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

         else if (trend==true && Oscil[H7] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H7]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H7]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

         else if (trend==true && Oscil[H8] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H8]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H8]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

          else if (trend==true && Oscil[H9] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H9]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H9]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

          else if (trend==true && Oscil[H10] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H10]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H10]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

          else if (trend==true && Oscil[H11] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H11]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H11]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

          else if (trend==true && Oscil[H12] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H12]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H12]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          }

          else if (trend==true && Oscil[H13] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H13]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H13]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 

          else if (trend==true && Oscil[H14] > Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H14]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H14]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 
          else if (trend==true && Oscil[H2] < Oscil[H1] && Oscil[H3] < Oscil[H1] && Oscil[H4] < Oscil[H1] && Oscil[H5] < Oscil[H1] && 
          Oscil[H6] < Oscil[H1] && Oscil[H7] < Oscil[H1] && Oscil[H8] < Oscil[H1] && Oscil[H9] < Oscil[H1] && Oscil[H10] < Oscil[H1] && 
          Oscil[H11] < Oscil[H1] && Oscil[H12] < Oscil[H1] && Oscil[H13] < Oscil[H1] && Oscil[H14] < Oscil[H1]) // ?????????? ????? ??????
          {
            ObjectCreate(Rem,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem,OBJPROP_TIME1,Time[H1]);ObjectSet(Rem,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem,OBJPROP_PRICE1,t3_Oscil[H1]);ObjectSet(Rem,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem,OBJPROP_COLOR,DarkOliveGreen);
            ObjectSet(Rem,OBJPROP_WIDTH,3-MathMax(4,Step));
          } 
           else    ObjectDelete(Rem);      

        if (TrendLine && Oscil[H2] > Oscil[H1] && High[H2] < High[H1])// ?????????? diver
          { 
            ObjectCreate(Rem1,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem1,OBJPROP_TIME1,Time[H2]);
            ObjectSet(Rem1,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem1,OBJPROP_PRICE1,t3_Oscil[H2]);
            ObjectSet(Rem1,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem1,OBJPROP_COLOR,Red);
            ObjectSet(Rem1,OBJPROP_WIDTH,2);
            ObjectSet(Rem1,OBJPROP_RAY,false);
            sell = true;  
          }          

        else if (convergen==true && TrendLine && Oscil[H2] < Oscil[H1] && High[H2] > High[H1] )
          {
            ObjectCreate(Rem1,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem1,OBJPROP_TIME1,Time[H2]);ObjectSet(Rem1,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem1,OBJPROP_PRICE1,t3_Oscil[H2]);ObjectSet(Rem1,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem1,OBJPROP_COLOR,Gold);
            ObjectSet(Rem1,OBJPROP_WIDTH,2);
            ObjectSet(Rem1,OBJPROP_RAY,false); 
            sell = true;
          }
         else    ObjectDelete(Rem1);        

 if (TrendLine && TH==true  &&  Oscil[H2] < Oscil[H1] && High[H2] < High[H1] &&  
                              Oscil[H3] > Oscil[H1] && High[H3] < High[H1]&& High[H3] > High[H2])
          {
            ObjectCreate(Rem2,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem2,OBJPROP_TIME1,Time[H3]);ObjectSet(Rem2,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem2,OBJPROP_PRICE1,t3_Oscil[H3]);ObjectSet(Rem2,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem2,OBJPROP_COLOR,Red);
            ObjectSet(Rem2,OBJPROP_WIDTH,2);
            ObjectSet(Rem2,OBJPROP_RAY,false);

           } 
 else if (convergen==true && TrendLine && TH==true  &&  Oscil[H2] < Oscil[H1] && High[H2] < High[H1] &&  
                              Oscil[H3] < Oscil[H1] && High[H3] > High[H1]&& High[H3] > High[H2] &&  Oscil[H3] > Oscil[H2])
          {
            ObjectCreate(Rem2,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem2,OBJPROP_TIME1,Time[H3]);ObjectSet(Rem2,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem2,OBJPROP_PRICE1,t3_Oscil[H3]);ObjectSet(Rem2,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem2,OBJPROP_COLOR,Gold);
            ObjectSet(Rem2,OBJPROP_WIDTH,2);
            ObjectSet(Rem2,OBJPROP_RAY,false); 

           }           

        else    ObjectDelete(Rem2);

 if (TrendLine && TH==true  &&  Oscil[H2] < Oscil[H1] && High[H2] < High[H1] &&  Oscil[H3] < Oscil[H1] && 
                                 High[H3] < High[H1] &&  Oscil[H4] > Oscil[H1] && 
                                 High[H4] < High[H1] && High[H4] > High[H3] && High[H4] > High[H2])
          {
            ObjectCreate(Rem3,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem3,OBJPROP_TIME1,Time[H4]);ObjectSet(Rem3,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem3,OBJPROP_PRICE1,t3_Oscil[H4]);ObjectSet(Rem3,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem3,OBJPROP_COLOR,Red);
            ObjectSet(Rem3,OBJPROP_WIDTH,2);
            ObjectSet(Rem3,OBJPROP_RAY,false); 
           }
else if (convergen==true && TrendLine && TH==true  &&  Oscil[H2] < Oscil[H1] && High[H2] < High[H1] &&  Oscil[H3] < Oscil[H1] && 
                                 High[H3] < High[H1] &&  Oscil[H4] < Oscil[H1] && 
                                 High[H4] > High[H1] && High[H4] > High[H3] && High[H4] > High[H2] &&  Oscil[H4] > Oscil[H2] &&  Oscil[H4] > Oscil[H3])
          {
            ObjectCreate(Rem3,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem3,OBJPROP_TIME1,Time[H4]);ObjectSet(Rem3,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem3,OBJPROP_PRICE1,t3_Oscil[H4]);ObjectSet(Rem3,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem3,OBJPROP_COLOR,Gold);
            ObjectSet(Rem3,OBJPROP_WIDTH,2);
            ObjectSet(Rem3,OBJPROP_RAY,false); 
           }          

        else    ObjectDelete(Rem3);      

if (TrendLine && TH==true  &&  Oscil[H2] < Oscil[H1] && High[H2] < High[H1] &&  Oscil[H3] < Oscil[H1] && 
                              High[H3] < High[H1]&& 
                              Oscil[H4] < Oscil[H1] && High[H4] < High[H1] && 
                              Oscil[H5] > Oscil[H1] && High[H5] < High[H1] && High[H5] > High[H4] && High[H5] > High[H3] && High[H5] > High[H2])
          {
            ObjectCreate(Rem4,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem4,OBJPROP_TIME1,Time[H5]);ObjectSet(Rem4,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem4,OBJPROP_PRICE1,t3_Oscil[H5]);ObjectSet(Rem4,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem4,OBJPROP_COLOR,Red);
            ObjectSet(Rem4,OBJPROP_WIDTH,2);
            ObjectSet(Rem4,OBJPROP_RAY,false);
           }  
else if (convergen==true && TrendLine && TH==true  &&  Oscil[H2] < Oscil[H1] && High[H2] < High[H1] &&  Oscil[H3] < Oscil[H1] && 
                              High[H3] < High[H1]&& 
                              Oscil[H4] < Oscil[H1] && High[H4] < High[H1] && 
                              Oscil[H5] < Oscil[H1] && High[H5] > High[H1] && High[H5] > High[H4] && High[H5] > High[H3] && High[H5] > High[H2] &&  
                              Oscil[H5] > Oscil[H2] && Oscil[H5] > Oscil[H3] && Oscil[H5] > Oscil[H4])
          {
            ObjectCreate(Rem4,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem4,OBJPROP_TIME1,Time[H5]);ObjectSet(Rem4,OBJPROP_TIME2,Time[H1]);
            ObjectSet(Rem4,OBJPROP_PRICE1,t3_Oscil[H5]);ObjectSet(Rem4,OBJPROP_PRICE2,t3_Oscil[H1]);
            ObjectSet(Rem4,OBJPROP_COLOR,Gold);
            ObjectSet(Rem4,OBJPROP_WIDTH,2);
            ObjectSet(Rem4,OBJPROP_RAY,false); 
           }                  

        else    ObjectDelete(Rem4);    

if (TrendLine && TH==true  &&  Oscil[H2] < Oscil[H1] && High[H2] < High[H1] &&  Oscil[H3] < Oscil[H1] && High[H3] < High[H1]&& 
                  Oscil[H4] < Oscil[H1] && High[H4] < High[H1]&& Oscil[H5] < Oscil[H1] && High[H5] < High[H1]&& 
                  Oscil[H6] > Oscil[H1]  && High[H6] < High[H1]  && High[H6] > High[H5] && High[H6] > High[H4] && High[H6] > High[H3] && High[H6] > High[H2])
          {
            ObjectCreate(Rem5,OBJ_TREND,indicatorWindow,0,0,0,0);
            ObjectSet(Rem5,OBJPROP_TIME1,Time[H6]);ObjectSet(Rem5,OBJPROP_TIME2,Time[H1]);

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

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

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

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

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

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

Стоимость полного кода
4 514,10₽ ≈ $55.17