// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("SHIVSHAMBHU+ROC 1.1"); _SECTION_BEGIN ("jayeshbhai 1.1 + Roc"); OptimizerSetEngine("cmae"); 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() ); SetBarsRequired(sbrAll,sbrAll); xx =Cum(1); //nbar =Optimize("NBar",Param("nbar",5,2,400,1),2,400,1); nbar =Optimize("nbar",Param("nbar",10,5,2000,1),5,2000,1); //FB[0] = 0.28;FB[1] = 0.28; FB[2] = 0.38; FB[3] = 0.50; FB[4] = 0.61; FB[5] = 1; FB[6] =1.61; FB[7] = 2.61; FB[8] = 4.23; FibNum = Optimize("FBindex",Param("FBindex",0.56,0.10,0.50,0.01),0.10,0.50,0.01); //FibNum =FB[FBindex]; F=Optimize("F",Param("F",15,5,50,1),5,50,1); // define fractals PHigh = C > Ref(HHV(C,nbar),-1) AND Ref(HHV(C,nbar),0) <= C; PHighPrice =ValueWhen(PHigh,C); PLow = C < Ref(LLV(C,nbar),-1) AND Ref(LLV(C,nbar),0) >= C; PLowPrice = ValueWhen(PLow,C); PlotShapes(shapeSmallCircle*PLow,colorGreen,0,L,-10); PlotShapes(shapeSmallCircle*PHigh,colorRed,0,H,10); R = PHighPrice - PLowPrice; // range //R4 = PHighPrice-(R *0.11 ); //S4 = PLowPrice +(R *0.11); R4 = PHighPrice -(R * FibNum ); S4 = PLowPrice + (R * FibNum ); BSL= PLowPrice; SSL= PHighPrice; Plot(R4, "",colorOrange,styleStaircase); Plot(S4, "",colorGreen,styleStaircase); Plot(SSL, "",colorAqua,styleStaircase); Plot(BSL, "",colorAqua,styleStaircase); //Buy = Cover = Cross(C, S4); //Sell = Short = Cross(R4, C); BuyFlag_ = False; SellFlag =False; BuyFlag = False; temp1 =True; temp2= True; FinalSell =False; FinalBuy = False; for (i=1 ; i < BarCount ; i++){ if(PHigh[i]){ SellFlag =True; BuyFlag = False; } if(SellFlag){ if( (C[i-1] > R4[i-1] AND C[i] < R4[i]) AND temp1 ) { SellFlag=False; FinalSell[i]=True; temp2=True; temp1=False; } } if(temp2){ if( C[i] > PHighPrice[i-1] ){ FinalBuy[i]=True; temp2=False; temp1=True; } } if(PLow[i]){ BuyFlag = True; SellFlag =False; } if(BuyFlag){ if( (C[i-1] < S4[i-1] AND C[i] > S4[i]) AND temp2 ){ BuyFlag=False; BuyFlag_=True; FinalBuy[i]=True; temp2=False; temp1=True; } } if(temp1){ if( C[i] < PLowPrice[i-1] ){ FinalSell[i]=True; temp2=True; temp1=False; } } } test1Flag = False; test2Flag = False; test1Flag_ = False; test2Flag_ = False; JackPotSell = False; JackPotBuy = False; JackPotCover = False; JackPotShort = False; t1 = False; t2 = False; t3 = False; t4 = False; t5 = False; R = ROC(Close,F); for (i=1 ; i < BarCount ; i++){ if((FinalBuy[i])){ if(t5){ JackPotCover[i]= True; t5 =False; } t1 = True; } if(R[i] > 0 ){ if(t1){ JackpotBuy[i] = True; t3 = True; t1= False; } } if((FinalSell[i])){ if(t3){ JackPotSell[i]= True; t3 =False; } t4 = True; } if(R[i] < 0 ){ if(t4){ JackPotShort[i] = True; t5 = True; t4= False; } } } Buy= JackPotBuy; Sell= JackPotSell; Short= JackPotShort; Cover= JackPotCover; /*Buy = FinalBuy AND ROC(Close,10)>0; Sell= FinalBuy AND ROC(Close,10)<0 OR FinalSell AND ROC(Close,10)>0; Short= FinalSell AND ROC(Close,10)<0; Cover= FinalSell AND ROC(Close,10)>0 OR FinalBuy AND ROC(Close,10)<0; */ // plot arrows shape = Buy * shapeUpArrow + Short * shapeDownArrow; PlotShapes( shape, IIf( Buy, colorGreen, colorRed ), 0, IIf( Buy, Low, High ) ); shape11 = Cover * shapeUpTriangle+ Sell * shapeDownTriangle; //PlotShapes( shape11, IIf( Cover , colorGreen, colorRed ), 0, IIf( Cover , Low, High ) ); //PlotShapes(shapeSmallCircle*PLow,colorGreen,0,L,-10); PlotShapes(shape11 ,IIf( Cover , colorGreen, colorRed ),0,IIf( Cover , Low, High ),-20); _SECTION_END (); _SECTION_END();