// Downloaded From https://www.WiseStockTrader.com SetChartBkGradientFill( ParamColor( "TopColor", ColorRGB( 217, 197, 137 ) ), ParamColor( "BottomColor", ColorRGB( 254, 244, 224 ) ) ); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) )); _SECTION_BEGIN("SingleMA"); SetChartOptions(0, chartShowDates | chartWrapTitle); Plot(C,"",IIf(C>O,ParamColor("Wick UP Color", colorDarkGreen),IIf(C<=O,ParamColor("Wick Down Color", colorDarkRed),colorLightGrey)),64,0,0,0,0); kk = Optimize( "mult", Param( "mult", 2, 1, 6, 0.25 ), 1, 2, 0.25 ); Per = Optimize( "period", Param( "period", 10, 5, 50, 1 ), 5, 50, 1 ); sdfact = Param( "Standard Deviation Factor", 2, 0.5, 5, 0.1 ); offset = Param( "Offset", 2, 1, 50, 1 ); tc = ParamList( "Channel Display", List = "No Channel|Channel|ChannelRT|Both Channels", 1 ); ms = ParamToggle( "Trend", "Regular|Smoothed", 1 ); x = Cum( 1 ); HaClose = ( O + H + L + C ) / 4; HaOpen = AMA( Ref( HaClose, -1 ), 0.5 ); HaHigh = Max( H, Max( HaClose, HaOpen ) ); HaLow = Min( L, Min( HaClose, HaOpen ) ); if ( ms == 0 ) { nm = ( H - L ); j = ( O + H + L + C ) / 4; } else { nm = ( HaHigh - HaLow ); j = ( HaOpen + HaHigh + HaLow + HaClose ) / 4; } rfsctor = WMA( nm, Per ); revers = kk * rfsctor; Trend = 1; NW[0] = 0; for ( i = 1;i < BarCount;i++ ) { if ( Trend[i-1] == 1 ) { if ( j[i] < NW[i-1] ) { Trend[i] = -1; NW[i] = j[i] + Revers[i]; } else { Trend[i] = 1; if ( ( j[i] - Revers[i] ) > NW[i-1] ) { NW[i] = j[i] - Revers[i]; } else { NW[i] = NW[i-1]; } } } if ( Trend[i-1] == -1 ) { if ( j[i] > NW[i-1] ) { Trend[i] = 1; NW[i] = j[i] - Revers[i]; } else { Trend[i] = -1; if ( ( j[i] + Revers[i] ) < NW[i-1] ) { NW[i] = j[i] + Revers[i]; } else { NW[i] = NW[i-1]; } } } } cp = ( H + L ) / 2; Plot( IIf( NW < j, NW, Null ), "\ntrailLong", ParamColor( "ColorTrailLong", colorBlue ), styleStaircase | styleDots ); Plot( IIf( NW > j, NW, Null ), "\ntrailShort", ParamColor( "ColorTrailShort", colorRed ), styleStaircase | styleDots ); Buy = NW < j; Short = NW > j; Cover=Buy = ExRem(Buy, Short); Sell=Short = ExRem(Short, Buy); PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorBlue, 0,NW); PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorRed, 0,NW); _SECTION_END();