// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("EMA Channel Offset Trading System "); 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() ); P = Optimize ( "P AVG", Param("P Avg",34,1,200,1), 1,50,1); P1 = Optimize("FILTER", Param("Filter",15,1,25,1),5,20,1); P2= Param("DELAY",21,1,200,1); A = EMA(( (H+L)/2)+P1,P ); B = EMA( ( (H+L)/2)-P1,P ); x= Ref(A,-P2); y= Ref(B,-P2); /* Buy or Sell Condition */ Buy= Cover = Cross(Close,x); Sell= Short = Cross(y,Close); Buy = ExRem(Buy,Sell); Sell = ExRem(Sell,Buy); Filter = Buy OR Sell; /* Exploration Parameters */ AddTextColumn( FullName(), "Company Name" ); AddColumn( Buy, "Buy", 1 ); AddColumn( Sell, "Sell", 1 ); AddColumn( C, "Close", 1.3 ); AddColumn( H, "High", 1.3 ); Plot ( x ,"",colorBlue, styleLine); Plot ( y,"",colorBlue, styleLine); Title = EncodeColor(colorWhite)+ "EMA OFFSET Trading System" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) + " - " + Date() +" - "+"\n" +EncodeColor(colorRed) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+ "Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+ EncodeColor(colorLime)+ WriteIf (Buy , " GO LONG / Reverse Signal at "+C+" ","")+ WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+" ","")+"\n"+EncodeColor(colorWhite)+ WriteIf(Sell , "Total Profit/Loss for the Last Trade Rs."+(C-BuyPrice)+"","")+ WriteIf(Buy , "Total Profit/Loss for the Last trade Rs."+(SellPrice-C)+"",""); PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40); PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50); PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45); PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40); PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50); PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45); dist = 1.5*ATR(20); dist1 = 3*ATR(20); for( i = 0; i < BarCount; i++ ) { if( Buy[i] ) { PlotText( "\nBuy:" + C[ i ], i, L[ i ]-dist[i], colorGreen, colorYellow ); } if( Sell[i] ) { PlotText( "Sell:" + C[ i ], i, H[ i ]+dist1[i], colorRed, colorYellow ); } } _SECTION_END();