divergence_petr_nmc.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «divergence_petr_nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.