Cet indicateur a été inventé en 2001 par Konstantin Kopyrkin.
Kopyrkin -> Kopyr Kin -> Kin Kopyr -> Nik Rypok Il est le fils d'un grand-père
L'idée de l'indicateur est similaire à celle de la sortie du lustre, mais n'implique pas la composante ATR et utilise un pourcentage à la place.
Un canal de prix dynamique est utilisé pour calculer le NRTR. Les calculs impliquent uniquement les prix qui sont inclus dans la tendance actuelle et excluent les extrêmes liés à la tendance précédente. L'indicateur est toujours à la même distance (en pourcentage) des extrêmes atteints par les prix (en dessous du pic maximum pour la tendance haussière actuelle, au-dessus du fond minimum pour la tendance baissière actuelle).
test de retour
/*backtest start: 2022-04-24 00:00:00 end: 2022-05-23 23:59:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Copyright (c) 2021-present, Alex Orekhov (everget) study("Nick Rypock Trailing Reverse", shorttitle="NRTR", overlay=true) k = input(title="Coefficient of Correction, %", type=input.float, minval=0, maxval=100, step=0.1, defval=2) showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true) applyRibbon = input(title="Apply Ribbon ?", type=input.bool, defval=true) var int trend = 0 var float hp = close var float lp = close float nrtr = close percentage = k * 0.01 if trend >= 0 if close > hp hp := close hp nrtr := hp * (1 - percentage) if close <= nrtr trend := -1 lp := close nrtr := lp * (1 + percentage) nrtr else if close < lp lp := close lp nrtr := lp * (1 + percentage) if close > nrtr trend := 1 hp := close nrtr := hp * (1 - percentage) nrtr var color longColor = color.green var color shortColor = color.red var color textColor = color.white longStopPlot = plot(trend == 1 ? nrtr : na, title="Long Stop", style=plot.style_linebr, linewidth=2, color=longColor) buySignal = trend == 1 and trend[1] == -1 plotshape(buySignal ? nrtr : na, title="Long Stop Start", location=location.absolute, style=shape.circle, size=size.tiny, color=longColor, transp=0) plotshape(buySignal and showLabels ? nrtr : na, title="Buy Label", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=longColor, textcolor=textColor, transp=0) shortStopPlot = plot(trend == 1 ? na : nrtr, title="Short Stop", style=plot.style_linebr, linewidth=2, color=shortColor) sellSignal = trend == -1 and trend[1] == 1 plotshape(sellSignal ? nrtr : na, title="Short Stop Start", location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor, transp=0) plotshape(sellSignal and showLabels ? nrtr : na, title="Sell Label", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=shortColor, textcolor=textColor, transp=0) midPricePlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0, display=display.none, editable=false) longFillColor = applyRibbon ? (trend == 1 ? longColor : na) : na shortFillColor = applyRibbon ? (trend == -1 ? shortColor : na) : na fill(midPricePlot, longStopPlot, title="Long Ribbon", color=longFillColor) fill(midPricePlot, shortStopPlot, title="Short Ribbon", color=shortFillColor) changeCond = trend != trend[1] alertcondition(changeCond, title="Alert: NRTR Direction Change", message="NRTR has changed direction!") alertcondition(buySignal, title="Alert: NRTR Buy", message="NRTR Buy!") alertcondition(sellSignal, title="Alert: NRTR Sell", message="NRTR Sell!") if buySignal strategy.entry("Enter Long", strategy.long) else if sellSignal strategy.entry("Enter Short", strategy.short)