Die Strategie basiert auf der Adaptive Wave-Band-Channel und hat zwei verschiedene Tracking-Stopp-Loss-Strategien entwickelt, die systematisch über mehrere Zeiträume hinweg überprüft werden. Sie ist eine Trend-Tracking-Trading-Strategie.
Berechnen Sie die Auf- und Abfahrt des Adaptionsbandkanals, wobei die Kanalbreite durch Parameter angepasst wird.
Breakout-Tracking-Strategie, bei der der Kurs nach dem Durchbruch des Kanals aufgeht und innerhalb des Kanals aufgeht.
Die Rückkehr-Umkehr-Strategie, bei der der Preis beim Erreichen des Kanals geöffnet wird und der Preis beim Zurückkehren innerhalb des Kanals gestoppt wird.
Der CCI-Wert hilft bei der Beurteilung von Überschreitungen.
Mehrfache Zeitrahmen-Retrospektiven belegen die Durchführbarkeit beider Strategien.
Die Wave-Band-Channel ist einfach und intuitiv, um die Preisentwicklung zu erfassen.
Beide Strategien können an unterschiedliche Marktbedingungen angepasst werden, um die Stabilität zu verbessern.
Der CCI-Wert hilft bei der Beurteilung von Leerstellen.
Mehrfache Zeitrahmen machen die Ergebnisse überzeugender.
Die Regeln der Strategie sind einfach, klar und leicht umzusetzen.
Die Bandbrechungskanäle können ausfallen.
Beide Strategien bergen die Gefahr, zu früh oder zu spät zu beenden.
Der CCI-Wert könnte ein falsches Signal geben.
Die Abweichungen in den Rückmessungen müssen mit Vorsicht behandelt werden.
Die Optimierung der Parameter kann zu einer Überpassung führen.
Verschiedene Parameter werden getestet, um die optimale Kombination zu finden.
Bewertung der zusätzlichen Indikatoren zur Signalfilterung.
Optimierung der Stop-Loss-Strategie und Risikominderung.
Die Berechnungsmethoden für die Anpassung der Durchgangsbreite werden untersucht.
Nachprüfungen für weitere Sorten und Perioden.
Dynamische Optimierung der Parameter mit Hilfe von maschinellen Lernverfahren.
Die Strategie basiert auf zwei Strategien zur Verfolgung von Stop-Loss-Strategien, die auf Wellenbandkanälen basieren. Die Strategie wird über mehrere Zeitrahmen zurückgeprüft. Durch Parameteroptimierung und Verbesserung der Stop-Loss-Strategie kann die Systemstabilität verbessert und zu einem ausgereiften und zuverlässigen Trend-Tracking-Handelssystem entwickelt werden.
/*backtest
start: 2022-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Underworld Hunter", overlay=true)
len = input(75, minval=1, title="Length")
src = input(close, title="Source")
basis = 0.0
basis := na(basis[1]) ? sma(src, len) : ema(ema(ema(src,len),len),len)
mult = input(1.9, minval=0.001, maxval=50, title="Deviation")
dev = mult * stdev(src, len)
upper = basis + dev
lower = basis - dev
//CCI calculation and inputs
lengthcci = input(20, minval=1, title="Period for CCI")
ma = sma(close, lengthcci)
ccivalue = (src - ma) / (0.015 * dev(src, lengthcci))
//CCI plotting
cciover0 = ccivalue >= 100 and ccivalue <= 120
cciover1 = ccivalue > 120 and ccivalue <= 140
cciover2 = ccivalue > 140 and ccivalue <= 160
cciover3 = ccivalue > 160 and ccivalue <= 180
cciover4 = ccivalue > 180
cciunder0 = ccivalue <= -100 and ccivalue >= -120
cciunder1 = ccivalue <= -120 and ccivalue > -140
cciunder2 = ccivalue <= -140 and ccivalue > -160
cciunder3 = ccivalue <= -160 and ccivalue > -180
cciunder4 = ccivalue <= -180
plotshape(cciover0, title="CCIO0", location=location.abovebar, color=#c6ff1a, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder0, title="CCIU0", location=location.belowbar, color=#c6ff1a, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover1, title="CCIO1", location=location.abovebar, color=#ffff00, transp=0,style=shape.circle, size=size.tiny)
plotshape(cciunder1, title="CCIU1", location=location.belowbar, color=#ffff00, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover2, title="CCIO2", location=location.abovebar, color=#ff9900, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder2, title="CCIU2", location=location.belowbar, color=#ff9900, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover3, title="CCIO3", location=location.abovebar, color=#ff0000, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciunder3, title="CCIU3", location=location.belowbar, color=#ff0000, transp=0, style=shape.circle, size=size.tiny)
plotshape(cciover4, title="CCIO4", location=location.abovebar, color=#cc00cc, transp=0,style=shape.circle, size=size.tiny)
plotshape(cciunder4, title="CCIU4", location=location.belowbar, color=#cc00cc, transp=0,style=shape.circle, size=size.tiny)
//plotting
plot(upper, title="Upper shadow", color=color.black, transp = 30, linewidth = 4)
plot(upper, title="Upper line", color=#FF2E00, transp = 0, linewidth = 2)
plot(lower, title="Lower shadow", color=color.black, transp = 30, linewidth = 4)
plot(lower, title="Lower line", color=#FF2E00, transp = 0, linewidth = 2)
plot(basis, title="Basic line", color=color.red, transp = 50, linewidth = 2)
mean = input(title="Test Reverse to the Mean instead", type=input.bool, defval=false)
test = input(title="Enable testing", type=input.bool, defval=true)
ordersize=floor(50000/close)
if(close>upper and strategy.opentrades==0 and not mean and test)
strategy.entry("Hunt Up", strategy.long, ordersize)
if (close<upper and close[1]<upper and close[2]<upper)
strategy.close("Hunt Up", qty_percent = 100, comment = "Hunt End")
if(close<lower and strategy.opentrades==0 and not mean and test)
strategy.entry("Hunt Down", strategy.short, ordersize)
if (close>lower and close[1]>lower and close[2]>lower)
strategy.close("Hunt Down", qty_percent = 100, comment = "Hunt End")
//bounce of bands
if(close>upper and strategy.opentrades==0 and mean and test)
strategy.entry("Sneak Down", strategy.short, ordersize)
if (close<upper and close[1]<upper and close[2]<upper and close>high[1])
strategy.close("Sneak Down", qty_percent = 100, comment = "SneakEnd")
if(close<lower and strategy.opentrades==0 and mean and test)
strategy.entry("Sneak Up", strategy.long, ordersize)
if (close>lower and close[1]>lower and close[2]>lower and close<low[1])
strategy.close("Sneak Up", qty_percent = 100, comment = "Sneak End")