NRTR WATR
NRTR WATR, a fundamental Amibroker AFL indicator, combines Narrow Range and True Range concepts to assist traders in determining optimal stop-loss and trailing stop levels. This tool integrates NRTR and WATR methodologies, optimizing risk management strategies within the Amibroker platform.
/ SetBarsRequired(100000,0); GraphXSpace = 3; k = Param("K", 0.01, 0, 0.2, 0.001); Trend[0] = 1; Revers[0] = C[0] - C[0]*k; PE[0] = C[0]; for(i = 1; i < BarCount; i++) { if(Trend[i-1] == 1) //Up Trend { if(C[i] > PE[i-1]) // High { Trend[i] = 1; PE[i] = C[i]; Revers[i] = C[i] - C[i]*k; } else { if(C[i] < Revers[i-1]) { Trend[i] = -1; PE[i] = C[i]; Revers[i] = C[i] + C[i]*k; } else { Trend[i] = 1; PE[i] = PE[i-1]; Revers[i] = Revers[i-1]; } } } //====================================== else //Down Trend { if(C[i] < PE[i-1]) // Low { Trend[i] = -1; PE[i] = C[i]; Revers[i] = C[i] + C[i]*k; } else { if(C[i] > Revers[i-1]) { Trend[i] = 1; PE[i] = C[i]; Revers[i] = C[i] - C[i]*k; } else { Trend[i] = -1; PE[i] = PE[i-1]; Revers[i] = Revers[i-1]; } } } } Plot(Revers, "NRTR WATR", IIf(Trend == 1, 27, 4), 4); Buy=Cover=Cross(C,Revers); Sell=Short=Cross(Revers,C); _SECTION_BEGIN("Price"); SetChartOptions(0,chartShowArrows|chartShowDates); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) )); Plot( C, "", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); _SECTION_END();