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