// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("Price"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); _SECTION_END(); _SECTION_BEGIN("Background Color"); BKswitch = ParamToggle("Background Color","On,Off"); OUTcolor = ParamColor("Outer Panel Color",colorLightBlue); INUPcolor = ParamColor("Inner Panel Upper",colorLightYellow); INDNcolor = ParamColor("Inner Panel Lower",colorSeaGreen); TitleColor = ParamColor("Title Color ",ColorRGB(245,245,245)); if (NOT BKswitch) { SetChartBkColor(OUTcolor); // color of outer border SetChartBkGradientFill(INUPcolor,INDNcolor,TitleColor); // color of inner panel } _SECTION_END(); SetChartBkColor(16); SetBarsRequired(sbrAll); GraphXSpace=Param("GraphXSpace",15,-100,300,1); daynum= Now(9);//day of the week SatSun= IIf((daynum==1 OR daynum==7),1,0); dec= IIf(StrRight(Name(),3) == "", 3.2, 3.2); dec= (Param("Decimals",2,0,7,1)/10)+1; uc= ParamColor("Up Candle Fill Color",19); dc= ParamColor("Dn Candle Fill Color",24); nc= ParamColor("Neutral Fill Color",21); bc= BarCount-1; x= BarIndex(); Lx= LastValue(x); sx= SelectedValue(x); //============================== SetBarFillColor(IIf(C>O,uc,IIf(CRef(C,-1),34,IIf(C0 AND xe>xs; GfxSelectPen(col,thk,sty); GfxSetBkColor(16); IIf(av,GfxPolyline(xs,ys,xe,ys),Null); } //======== Fib Function ========= f0=0; f1=0; p=0; n=0; d=0; function fvd(fib) { fv=fib*d; ffv=IIf(p,f0+fv,f0-fv); return IIf(ffv>0,ffv,Null); } //======== Plot Shapes ======== procedure pshp(x,y,shp,co,shf) { x=SelectedValue(x); y=SelectedValue(y); PlotShapes(IIf(BarIndex()==x,shp,0),co,0,y,shf); } //======== Fractal Peak Trough ======== x= BarIndex(); function pkID(nb){ p=H==HHV(H,2*nb)AND Ref(HHV(H,nb),nb)nb; } function trID(nb){ t=L==LLV(L,2*nb)AND Ref(LLV(L,nb),nb)>L; return t AND LastValue(x)-ValueWhen(t,x)>nb; } //============================= _SECTION_BEGIN("Select Pivots"); //============================= //SetBarsRequired(sbrAll,sbrAll); nn= Param("Fractal Minimum",5,2,150,1); plf= ParamList("Pivots/Ribbon","Off|Fractals|Ribbon|Both",0); wwv=ParamToggle("Plot Wolfe Wave","Off|On",1); cvg= ParamToggle("Require Convergence","Off|On",1); sym= ParamToggle("Require Symmetry","Off|On",1); fib=ParamToggle("Fib Retracements","Off|On",1); mnR= Param("Min Time Retrace %",0.50,0.50,1.00,0.01);//Min % of P1-P2 bars mxR= Param("Max Time Retrace %",1.62,1.00,4.00,0.01);//Max % of P1-P2 bars mx5= Param("Max P5 Time Retrace %",2.62,1,5,0.01);//Max % of P2-P3 bars nmn= Param("Near 5 %",0.62,0.50,0.995,0.001);//% of Retrace //================== x= BarIndex(); Lx=LastValue(x); //================== pk= pkID(nn); tr= trID(nn); tx1= ValueWhen(tr,x,1); px2= ValueWhen(pk,x,2); pk= IIf(pk,IIf(px2H,False,pk)),pk); px1= ValueWhen(pk,x,1); tx2= ValueWhen(tr,x,2); tr= IIf(tr,IIf(tx2x,IIf(px0=H,False,pk),pk),pk); tr= IIf(tr AND tx0>x,IIf(tx0 SelectedValue(tx); res= SelectedValue(tx)>= SelectedValue(px); shp=shapeSmallCircle; col= IIf(pk==1,42,IIf(tr==1,10,IIf(px>tx,19,IIf(tx>px,24,29)))); if(plf=="Ribbon" OR plf=="Both")Plot(2.25,"F Swing",col,styleOwnScale|styleArea|4096,-1,100); if(plf=="Fractals" OR plf=="Both"){PlotShapes(shp*pk,42,0,H,5); PlotShapes(shp*tr,10,0,L,-5);} //=================== yr1= ValueWhen(pk,H,1); xr1= ValueWhen(pk,x,1); yr2= ValueWhen(pk,H,2); xr2= ValueWhen(pk,x,2); yr3= ValueWhen(pk,H,3); xr3= ValueWhen(pk,x,3); ys1= ValueWhen(tr,L,1); xs1= ValueWhen(tr,x,1); ys2= ValueWhen(tr,L,2); xs2= ValueWhen(tr,x,2); ys3= ValueWhen(tr,L,3); xs3= ValueWhen(tr,x,3); //======== 5 POINT BEAR WAVE ======== be45xR= (xs1-xr2)/(xs2-xr3); be55xR= (xr1-xs1)/(xr2-xs2); becvg5= (yr2-ys1)<=(yr3-ys2); be45xV= be45xR>=mnR AND be45xR<=mxR; be55xV= be55xR>=mnR AND be55xR<=mx5; if(sym==0)bexo5= xr1>xs1 AND xs1>xr2 AND xr2>xs2 AND xs2>xr3; if(cvg==0)bepo5= yr2>yr3 AND yr1>yr2 AND ys1>ys2 AND ys1xs1 AND xs1>xr2 AND xr2>xs2 AND xs2>xr3 AND be45xV AND be55xV; if(cvg==1)bepo5= yr2>yr3 AND yr1>yr2 AND ys1>ys2 AND ys1x45,Cross(H,Ln135)); x5dn= ValueWhen(x>x45,Cross(Ln135,H)); near= ValueWhen(x>x45,C>Ln245+(Ln135-Ln245)*nmn AND Cx35; n=x45x35; n=x45x35; n=x45=mnR AND bu45xR<=mxR; bu55xV= bu55xR>=mnR AND bu55xR<=mx5; if(sym==0)buxo5= xs1>xr1 AND xr1>xs2 AND xs2>xr2 AND xr2>xs3; if(cvg==0)bupo5= yr2>ys3 AND yr2>yr1 AND ys3>ys2 AND ys2>ys1 AND yr2>yr1 AND yr1>ys3; if(sym==1)buxo5= xs1>xr1 AND xr1>xs2 AND xs2>xr2 AND xr2>xs3 AND bu45xV AND bu55xV; if(cvg==1)bupo5= yr2>ys3 AND yr2>yr1 AND ys3>ys2 AND ys2>ys1 AND yr2>yr1 AND yr1>ys3 AND bucvg5; pq5= buxo5 AND bupo5; //=================== x15= SelectedValue(ValueWhen(pq5,xs3)); y15= SelectedValue(ValueWhen(pq5,ys3));//P1 x25= SelectedValue(ValueWhen(pq5,xr2)); y25= SelectedValue(ValueWhen(pq5,yr2));//P2 x35= SelectedValue(ValueWhen(pq5,xs2)); y35= SelectedValue(ValueWhen(pq5,ys2));//P3 x45= SelectedValue(ValueWhen(pq5,xr1)); y45= SelectedValue(ValueWhen(pq5,yr1));//P4 x55= SelectedValue(ValueWhen(pq5,xs1)); y55= SelectedValue(ValueWhen(pq5,ys1));//P5 Ln135= LineArray(x15,y15,x35,y35,1); Ln245= LineArray(x25,y25,x45,y45,1); trgt5= LineArray(x15,y15,x45,y45,1); //========= BULL PLOTTING ========= if(wwv) { Plot(Ln135,"",27,4|2048); Plot(Ln245,"",32,4|2048); Plot(trgt5,"",51,4|2048); pshp(x15,y15,shapeDigit1,43,-15); pshp(x25,y25,shapeDigit2,43,15); pshp(x35,y35,shapeDigit3,43,-15); pshp(x45,y45,shapeDigit4,43,15); pshp(x55,y55,shapeDigit5,10,-15); } x5up= ValueWhen(x>x45,Cross(L,Ln135)); x5dn= ValueWhen(x>x45,Cross(Ln135,L)); near= ValueWhen(x>x45,Cx35; f0=y45; f1=y35; d=y45-y35;//Price Fibs i618=fvd(0.618); i127=fvd(1.27); i162=fvd(1.62); //====== Price AP Fibs ====== p=x45x35; f0=y45; f1=y35; d=y25-y35;//AP Fibs a618=fvd(0.618); a100=fvd(1.00); a127=fvd(1.27); a162=fvd(1.62); a200=fvd(2.00); a224=fvd(2.24); a262=fvd(2.62); //======== Time Fibs ======== p=x45>x35; n=x45