//+----------------------------------------------------------------------+ //|ZigZag ïîäîáíûé ïðèìåíÿåìîìó â Ensign ñ íåáîëüøèìè îòëè÷èÿìè (v1) | //| Ñ âûâîäîì ñòàòè÷åñêèõ è äèíàìè÷åñêèõ ôèá è âèë Ýíäðþñà | //|----------------------------------------------------------------------+ //|minBars - ôèëüòð áàðîâûé (çàäàåòñÿ êîëè÷åñòâî áàðîâ) | //|minSize - ôèëüòð ïî êîëè÷åñòâó ïóíêòîâ (çàäàåòñÿ êîëè÷åñòâî ïóíêòîâ) | //| | //|ExtFiboType = true - ôèáû ñ ÷èñëàìè Ïåñàâåíòî | //| false - ñòàíäàðòíûå ôèáû | //| | //|ExtFiboDinamic - ðàçðåøàåò âûâîä äíàìè÷åñêèõ óðîâíåé ôèáî. | //| Äèíàìè÷åñêèå óðîâíè ôèáî âûâîäÿòñÿ íà ïåðâîì ëó÷å | //| ZigZag-a. | //| | //|ExtFiboStatic - ðàçðåøàåò âûâîä ñòàòè÷åñêèõ óðîâíåé ôèáî | //| | //|ExtFiboStaticNum - íîìåð ëó÷à ZigZag-a, îò êîòîðîãî áóäóò âûâîäèòüñÿ | //| ñòàòè÷åñêèå óðîâíè Ôèáîíà÷÷è. 1<ExtFiboStaticNum<=9| //| | //|ExtFiboS è ExtFiboD - âûáîð öâåòà ñòàòè÷åñêèõ è äèíàìè÷åñêèõ ôèá. | //| | //|ExtPitchfork = 1 âûâîäÿòñÿ âèëû Ýíäðþñà îò ïîñëåäíèõ òðåõ | //| ýêñòðåìóìîâ ZigZag | //| =2 âûâîäèòñÿ äîïîëíèòåëüíî 50% ìåäèàíà | //| | //| | //|ExtLinePitchfork - çàäàåò öâåò âèë Ýíäðþñà | //| | //+----------------------------------------------------------------------+ #property copyright "nen" #property link "http://onix-trade.net/forum/index.php?s=&showtopic=118&view=findpost&p=69113" #property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 Yellow //---- indicator parameters extern int minBars= 12; extern int minSize = 50; extern bool ExtFiboType = true; extern bool ExtFiboDinamic = false; extern bool ExtFiboStatic = false; extern int ExtFiboStaticNum = 2; extern color ExtFiboS = Teal; extern color ExtFiboD = Sienna; // Ïåðåìåííûå äëÿ âèë Ýíäðþñà extern int ExtPitchfork = 0; extern color ExtLinePitchfork = MediumBlue; //------------------------------------- // Ìàññèâû äëÿ ZigZag // Ìàññèâ äëÿ îòðèñîâêè ZigZag double zz[]; // Ìàññèâ ìèíèìóìîâ ZigZag double zzL[]; // Ìàññèâ ìàêñèìóìîâ ZigZag double zzH[]; // Ìàòðèöà äëÿ ïîèñêà èñ÷åçíóâøèõ áàðîâ afr - ìàññèâ çíà÷åíèé âðåìåíè ïÿòè ïîñëåäíèõ ôðàêòàëîâ è îòðèñîâêè äèíàìè÷åñêèõ è ñòàòè÷åñêèõ ôèá // afrl - ìèíèìóìû, afrh - ìàêñèìóìû 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}; int cPoint=0,numOb; bool afrm; string nameObj; // Ïåðåìåííûå èíäèêàòîðà ZigZag ïîäîáíîãî âñòðîåííîìó â Ensign double si,di,lLast=0,hLast=0; int fs,countBar; int ai,bi,ai0,bi0; datetime tai,tbi,ti; bool fh=false,fl=false,fcount0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(3); //---- drawing settings // ZigZag SetIndexStyle(0,DRAW_SECTION); SetIndexBuffer(0,zz); SetIndexEmptyValue(0,0.0); SetIndexBuffer(1,zzL); SetIndexBuffer(2,zzH); if (minSize!=0) {di=minSize*Point; countBar=minBars;} if (ExtFiboDinamic || ExtFiboStatic) { if (Point*10==1) cPoint=1; else if (Point*100==1) cPoint=2; else if (Point*1000==1) cPoint=3; else if (Point*10000==1) cPoint=4; else if (Point*100000==1) cPoint=5; } if (ExtFiboStaticNum<2) ExtFiboStaticNum=2; if (ExtFiboStaticNum>9) ExtFiboStaticNum=9; return(0); } //+------------------------------------------------------------------+ //| Äåèíèöèàëèçàöèÿ. Óäàëåíèå âñåõ òðåíäîâûõ ëèíèé è òåêñòîâûõ îáúåêòîâ //+------------------------------------------------------------------+ int deinit() { ObjectDelete("fiboS1");ObjectDelete("fiboD1");ObjectDelete("pitchfork1");ObjectDelete("pmediana1"); return(0); } //******************************************************** // ÍÀ×ÀËÎ int start() { int i,n,cbi; cbi=Bars-IndicatorCounted()-1; //--------------------------------- for (i=cbi; i>=0; i--) { //------------------------------------------------- // Óñòàíàâëèâàåì íà÷àëüíûå çíà÷åíèÿ ìèíèìóìà è ìàêñèìóìà áàðà if (lLast==0) {lLast=Low[i];hLast=High[i];} // Îïðåäåëÿåì íàïðàâëåíèå òðåíäà äî ïåðâîé òî÷êè ñìåíû òðåíäà. // Èëè äî òî÷êè íà÷àëà ïåðâîãî ëó÷à çà ëåâûì êðàåì. if (fs==0) { if (lLast<Low[i] && hLast<High[i]) {fs=1; hLast=High[i]; si=High[i]; ai=i; tai=Time[i];} // òðåíä âîñõîäÿùèé if (lLast>Low[i] && hLast>High[i]) {fs=2; lLast=Low[i]; si=Low[i]; bi=i; tbi=Time[i];} // òðåíä íèñõîäÿùèé } if (ti!=Time[i]) { // çàïîìèíàåì çíà÷åíèå íàïðàâëåíèÿ òðåíäà fs íà ïðåäûäóùåì áàðå ti=Time[i]; ai0=iBarShift(Symbol(),Period(),tai); bi0=iBarShift(Symbol(),Period(),tbi); fcount0=false; if ((fh || fl) && countBar>0) {countBar--; if (i==0 && countBar==0) fcount0=true;} // Îñòàíîâêà. Îïðåäåëåíèå äàëüíåéøåãî íàïðàâëåíèÿ òðåíäà. if (fs==1) { if (hLast>High[i] && !fh) fh=true; if (i==0) { if (Close[i+1]<lLast && fh) {fs=2; afrm=true; countBar=minBars; fh=false;} if (countBar==0 && si-di>Low[i+1] && High[i+1]<hLast && ai0>i+1 && fh && !fcount0) {fs=2; countBar=minBars; fh=false;} if (fs==2) // Òðåäí ñìåíèëñÿ ñ âîñõîäÿùåãî íà íèñõîäÿùèé íà ïðåäûäóùåì áàðå { zz[ai0]=High[ai0]; zzH[ai0]=High[ai0]; lLast=Low[i+1]; si=Low[i+1]; bi=i+1; tbi=Time[i+1]; } } else { if (Close[i]<lLast && fh) {fs=2; afrm=true; countBar=minBars; fh=false;} if (countBar==0 && si-di>Low[i] && High[i]<hLast && fh) {fs=2; countBar=minBars; fh=false;} if (fs==2) // Òðåäí ñìåíèëñÿ ñ âîñõîäÿùåãî íà íèñõîäÿùèé { zz[ai]=High[ai]; zzH[ai]=High[ai]; lLast=Low[i]; si=Low[i]; bi=i; tbi=Time[i]; } } } else // fs==2 { if (lLast<Low[i] && !fl) fl=true; if (i==0) { if (Close[i+1]>hLast && fl) {fs=1; afrm=true; countBar=minBars; fl=false;} if (countBar==0 && si+di<High[i+1] && Low[i+1]>lLast && bi0>i+1 && fl && !fcount0) {fs=1; countBar=minBars; fl=false;} if (fs==1) // Òðåäí ñìåíèëñÿ ñ íèñõîäÿùåãî íà âîñõîäÿùèé íà ïðåäûäóùåì áàðå { zzL[bi0]=Low[bi0]; zz[bi0]=Low[bi0]; hLast=High[i+1]; si=High[i+1]; ai=i+1; tai=Time[i+1]; } } else { if (Close[i]>hLast && fl) {fs=1; afrm=true; countBar=minBars; fl=false;} if (countBar==0 && si+di<High[i] && Low[i]>lLast && fl) {fs=1; countBar=minBars; fl=false;} if (fs==1) // Òðåäí ñìåíèëñÿ ñ íèñõîäÿùåãî íà âîñõîäÿùèé { zz[bi]=Low[bi]; zzL[bi]=Low[bi]; hLast=High[i]; si=High[i]; ai=i; tai=Time[i]; } } } } // Ïðîäîëæåíèå òðåíäà if (fs==1 && High[i]>si) {ai=i; tai=Time[i]; afrm=true; hLast=High[i]; si=High[i]; countBar=minBars; fh=false;} if (fs==2 && Low[i]<si) {bi=i; tbi=Time[i]; afrm=true; lLast=Low[i]; si=Low[i]; countBar=minBars; fl=false;} //=================================================================================================== // Íóëåâîé áàð. Ðàñ÷åò ïåðâîãî ëó÷à ZigZag-a if (i==0) { ai0=iBarShift(Symbol(),Period(),tai); bi0=iBarShift(Symbol(),Period(),tbi); if (fs==1) {for (n=bi0-1; n>=0; n--) {zzH[n]=0; zz[n]=0;} zz[ai0]=High[ai0]; zzH[ai0]=High[ai0]; zzL[ai0]=0;} if (fs==2) {for (n=ai0-1; n>=0; n--) {zzL[n]=0; zz[n]=0;} zz[bi0]=Low[bi0]; zzL[bi0]=Low[bi0]; zzH[bi0]=0;} // if (fs==1) { for (n=bi0-1; n>0; n--) {zz[n]=0;} zz[ai0]=High[ai0];} // if (fs==2) {for (n=ai0-1; n>0; n--) {zz[n]=0;} zz[bi0]=Low[bi0];} } //==================================================================================================== } matriza(); //-------------------------------------------- } //-------------------------------------------------------- // Ôîðìèðîâàíèå ìàòðèöû. Íà÷àëî. // // Ìàòðèöà èñïîëüçóåòñÿ äëÿ ïîèñêà èñ÷åçíóâøèõ ôðàêòàëîâ. // Ýòî èíñòðóìåíò êîìïåíñàöèè íåïðåäâèäåííûõ çàêèäîíîâ ñòàíäàðòíîãî ZigZag-a. //-------------------------------------------------------- void matriza() { if (afrm && (ExtFiboStatic || ExtFiboDinamic || ExtPitchfork>0)) { int shift,k,k1; double ab2,ac2,bc2; datetime tab2,tac2,tbc2; k=0; for (shift=0; shift<Bars && k<10; shift++) { if (zz[shift]>0) { afr[k]=Time[shift]; if (zz[shift]==zzL[shift]) {afrl[k]=Low[shift]; afrh[k]=0.0;} if (zz[shift]==zzH[shift]) {afrh[k]=High[shift]; afrl[k]=0.0;} k++; } } afrm=false; // Âûâîä ñòàòè÷åñêèõ è äèíàìè÷åñêèõ ôèá. if (ExtFiboStatic) { ExtFiboStatic=false; screenFiboS(); } if (ExtFiboDinamic) { screenFiboD(); } if (ExtPitchfork>0) { // nameObj="pf" + Period() + "_" + afr[3]; nameObj="pitchfork1"; numOb=ObjectFind(nameObj); if (numOb>-1) ObjectDelete(nameObj); if (afrl[3]>0) { ObjectCreate(nameObj,OBJ_PITCHFORK,0,afr[3],afrl[3],afr[2],afrh[2],afr[1],afrl[1]); } else { ObjectCreate(nameObj,OBJ_PITCHFORK,0,afr[3],afrh[3],afr[2],afrl[2],afr[1],afrh[1]); } ObjectSet(nameObj,OBJPROP_STYLE,STYLE_SOLID); ObjectSet(nameObj,OBJPROP_COLOR,ExtLinePitchfork); if (ExtPitchfork==2) { k1=MathCeil((iBarShift(Symbol(),Period(),afr[3])+iBarShift(Symbol(),Period(),afr[2]))/2); tab2=Time[k1]; k1=MathCeil((iBarShift(Symbol(),Period(),afr[2])+iBarShift(Symbol(),Period(),afr[1]))/2); tbc2=Time[k1]; k1=MathCeil((iBarShift(Symbol(),Period(),afr[3])+iBarShift(Symbol(),Period(),afr[1]))/2); tac2=Time[k1]; // nameObj="pm" + Period() + "_" + afr[3]; nameObj="pmediana1"; numOb=ObjectFind(nameObj); if (numOb>-1) ObjectDelete(nameObj); if (afrl[3]>0) { ObjectCreate(nameObj,OBJ_TREND,0,tab2,(afrl[3]+afrh[2])/2,tbc2,(afrh[2]+afrl[1])/2); } else { ObjectCreate(nameObj,OBJ_TREND,0,tab2,(afrh[3]+afrl[2])/2,tbc2,(afrl[2]+afrh[1])/2); } ObjectSet(nameObj,OBJPROP_STYLE,STYLE_DASH); ObjectSet(nameObj,OBJPROP_COLOR,ExtLinePitchfork); } } } return ; } //-------------------------------------------------------- // Ôîðìèðîâàíèå ìàòðèöû. Êîíåö. //-------------------------------------------------------- //-------------------------------------------------------- // Âûâîä ôèá ñòàòè÷åñêèõ. Íà÷àëî. //-------------------------------------------------------- void screenFiboS() { double fibo_0, fibo_100, fiboPrice, fiboPrice1; nameObj="fiboS1"; numOb=ObjectFind(nameObj); if (numOb>-1) ObjectDelete(nameObj); if (afrl[ExtFiboStaticNum-1]>0) { fibo_0=afrh[ExtFiboStaticNum];fibo_100=afrl[ExtFiboStaticNum-1]; fiboPrice=afrh[ExtFiboStaticNum]-afrl[ExtFiboStaticNum-1];fiboPrice1=afrl[ExtFiboStaticNum-1]; } else { fibo_0=afrl[ExtFiboStaticNum];fibo_100=afrh[ExtFiboStaticNum-1]; fiboPrice=afrl[ExtFiboStaticNum]-afrh[ExtFiboStaticNum-1];fiboPrice1=afrh[ExtFiboStaticNum-1]; } ObjectCreate(nameObj,OBJ_FIBO,0,afr[2],fibo_0,afr[1],fibo_100); ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT); ObjectSet(nameObj,OBJPROP_LEVELCOLOR,ExtFiboS); if (ExtFiboType) { ObjectSet(nameObj,OBJPROP_FIBOLEVELS,18); fibo_patterns(fiboPrice, fiboPrice1); } else { ObjectSet(nameObj,OBJPROP_FIBOLEVELS,11); fibo_standart (fiboPrice, fiboPrice1); } return ; } //-------------------------------------------------------- // Âûâîä ôèá ñòàòè÷åñêèõ. Êîíåö. //-------------------------------------------------------- //-------------------------------------------------------- // Âûâîä ôèá äèíàìè÷åñêèõ. Íà÷àëî. //-------------------------------------------------------- void screenFiboD() { double fibo_0, fibo_100, fiboPrice, fiboPrice1; nameObj="fiboD1"; numOb=ObjectFind(nameObj); if (numOb>-1) ObjectDelete(nameObj); if (afrh[1]>0) {fibo_0=afrh[1];fibo_100=afrl[0];fiboPrice=afrh[1]-afrl[0];fiboPrice1=afrl[0];} else {fibo_0=afrl[1];fibo_100=afrh[0];fiboPrice=afrl[1]-afrh[0];fiboPrice1=afrh[0];} ObjectCreate(nameObj,OBJ_FIBO,0,afr[2],fibo_0,afr[1],fibo_100); ObjectSet(nameObj,OBJPROP_LEVELSTYLE,STYLE_DOT); ObjectSet(nameObj,OBJPROP_LEVELCOLOR,ExtFiboD); if (ExtFiboType) { ObjectSet(nameObj,OBJPROP_FIBOLEVELS,18); fibo_patterns(fiboPrice, fiboPrice1); } else { ObjectSet(nameObj,OBJPROP_FIBOLEVELS,14); fibo_standart (fiboPrice, fiboPrice1); } return ; } //-------------------------------------------------------- // Âûâîä ôèá äèíàìè÷åñêèõ. Êîíåö. //-------------------------------------------------------- //-------------------------------------------------------- // Ôèáû ñ ïàòòåðíàìè. Íà÷àëî. //-------------------------------------------------------- void fibo_patterns(double fiboPrice,double fiboPrice1) { ObjectSet(nameObj,OBJPROP_FIRSTLEVEL,0); ObjectSetFiboDescription(nameObj, 0, "0 --> "+DoubleToStr(fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription(nameObj, 1, "38.2 --> "+DoubleToStr(fiboPrice*0.382+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,0.5); ObjectSetFiboDescription(nameObj, 2, "50.0 --> "+DoubleToStr(fiboPrice*0.5+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription(nameObj, 3, "61.8 --> "+DoubleToStr(fiboPrice*0.618+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,0.707); ObjectSetFiboDescription(nameObj, 4, "70.7 --> "+DoubleToStr(fiboPrice*0.707+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,0.786); ObjectSetFiboDescription(nameObj, 5, "78.6 --> "+DoubleToStr(fiboPrice*0.786+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+6,0.841); ObjectSetFiboDescription(nameObj, 6, "84.1 --> "+DoubleToStr(fiboPrice*0.841+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+7,0.886); ObjectSetFiboDescription(nameObj, 7, "88.6 --> "+DoubleToStr(fiboPrice*0.886+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+8,1.0); ObjectSetFiboDescription(nameObj, 8, "100.0 --> "+DoubleToStr(fiboPrice+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+9,1.127); ObjectSetFiboDescription(nameObj, 9, "112.8 --> "+DoubleToStr(fiboPrice*1.128+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+10,1.272); ObjectSetFiboDescription(nameObj, 10, "127.2 --> "+DoubleToStr(fiboPrice*1.272+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+11,1.414); ObjectSetFiboDescription(nameObj, 11, "141.4 --> "+DoubleToStr(fiboPrice*1.414+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+12,1.618); ObjectSetFiboDescription(nameObj, 12, "161.8 --> "+DoubleToStr(fiboPrice*1.618+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+13,2.0); ObjectSetFiboDescription(nameObj, 13, "200.0 --> "+DoubleToStr(fiboPrice*2.0+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+14,2.414); ObjectSetFiboDescription(nameObj, 14, "241.4 --> "+DoubleToStr(fiboPrice*2.414+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+15,2.618); ObjectSetFiboDescription(nameObj, 15, "261.8 --> "+DoubleToStr(fiboPrice*2.618+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+16,4.236); ObjectSetFiboDescription(nameObj, 16, "423.6 --> "+DoubleToStr(fiboPrice*4.236+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+17,6.854); ObjectSetFiboDescription(nameObj, 17, "685.4 --> "+DoubleToStr(fiboPrice*6.854+fiboPrice1, cPoint) ); return ; } //-------------------------------------------------------- // Ôèáû ñ ïàòòåðíàìè. Êîíåö. //-------------------------------------------------------- //-------------------------------------------------------- // Ôèáû ñòàíäàðòíûå. Íà÷àëî. //-------------------------------------------------------- void fibo_standart(double fiboPrice,double fiboPrice1) { ObjectSet(nameObj,OBJPROP_FIRSTLEVEL,0); ObjectSetFiboDescription(nameObj, 0, "0 --> "+DoubleToStr(fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+1,0.146); ObjectSetFiboDescription(nameObj, 1, "14.6 --> "+DoubleToStr(fiboPrice*0.146+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+2,0.236); ObjectSetFiboDescription(nameObj, 2, "23.6 --> "+DoubleToStr(fiboPrice*0.236+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+3,0.382); ObjectSetFiboDescription(nameObj, 3, "38.2 --> "+DoubleToStr(fiboPrice*0.382+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+4,0.5); ObjectSetFiboDescription(nameObj, 4, "50.0 --> "+DoubleToStr(fiboPrice*0.5+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+5,0.618); ObjectSetFiboDescription(nameObj, 5, "61.8 --> "+DoubleToStr(fiboPrice*0.618+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+6,0.764); ObjectSetFiboDescription(nameObj, 6, "76.4 --> "+DoubleToStr(fiboPrice*0.764+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+7,0.854); ObjectSetFiboDescription(nameObj, 7, "85.4 --> "+DoubleToStr(fiboPrice*0.854+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+8,1.0); ObjectSetFiboDescription(nameObj, 8, "100.0 --> "+DoubleToStr(fiboPrice+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+9,1.236); ObjectSetFiboDescription(nameObj, 9, "1.236 --> "+DoubleToStr(fiboPrice*1.236+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+10,1.618); ObjectSetFiboDescription(nameObj, 10, "161.8 --> "+DoubleToStr(fiboPrice*1.618+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+11,2.618); ObjectSetFiboDescription(nameObj, 11, "261.8 --> "+DoubleToStr(fiboPrice*2.618+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+12,4.236); ObjectSetFiboDescription(nameObj, 12, "423.6 --> "+DoubleToStr(fiboPrice*4.236+fiboPrice1, cPoint) ); ObjectSet(nameObj,OBJPROP_FIRSTLEVEL+13,6.854); ObjectSetFiboDescription(nameObj, 13, "685.4 --> "+DoubleToStr(fiboPrice*6.854+fiboPrice1, cPoint) ); return ; } //-------------------------------------------------------- // Ôèáû ñòàíäàðòíûå. Êîíåö. //--------------------------------------------------------
Sample
Analysis
Market Information Used:
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Series array that contains open time of each bar
Series array that contains close prices for each bar
Indicator Curves created:
Implements a curve of type DRAW_SECTION
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features: