// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN( "Trend Indicator" ); sm = Param( "Smoothing Period", 21, 2, 40, 1 ); cd = Param( "Constant D", 0.4, 0.1, 2, 0.1 ); di = ( sm - 1.0 ) / 2.0 + 1.0; c1 = 2 / ( di + 1.0 ); c2 = 1 - c1; c3 = 3.0 * ( cd * cd + cd * cd * cd ); c4 = -3.0 * ( 2.0 * cd * cd + cd + cd * cd * cd ); c5 = 3.0 * cd + 1.0 + cd * cd * cd + 3.0 * cd * cd; src = Close; i1 = 0; i2 = 0; i3 = 0; i4 = 0; i5 = 0; i6 = 0; for( i = 1; i < BarCount; i++ ) { i1[i] = c1[i] * src[i] + c2[i] * i1[i - 1]; i2[i] = c1[i] * i1[i] + c2[i] * i2[i - 1]; i3[i] = c1[i] * i2[i] + c2[i] * i3[i - 1]; i4[i] = c1[i] * i3[i] + c2[i] * i4[i - 1]; i5[i] = c1[i] * i4[i] + c2[i] * i5[i - 1]; i6[i] = c1[i] * i5[i] + c2[i] * i6[i - 1]; } bfr = -cd * cd * cd * i6 + c3 * ( i5 ) + c4 * ( i4 ) + c5 * ( i3 ); color = IIf( bfr > Ref( bfr, -1 ), colorGreen, colorRed ); A = bfr > Ref( bfr, -1 ); B = Ref( bfr, -1 ) > bfr; A = ExRem( A, B ); B = ExRem( B, A ); PlotShapes( A * shapeHollowUpArrow, colorcustom11, 0, L, -15 ); PlotShapes( B* shapeHollowdownArrow, coloryellow, 0, H, -15 ); _SECTION_END();