Die doppelte gleitende Durchbruchstrategie berechnet zwei gleitende Durchschnitte verschiedener Zeiträume, um einen Kanal zu bilden und den schwankenden Kurstrend zu beurteilen.
Die wichtigsten Schritte dieser Strategie sind:
Berechnen Sie zwei gleitende Durchschnitte, eine mit einer kürzeren Periode und eine mit einer längeren Periode.
Zusätzlich wird ein ATR über und unter dem kürzeren MA hinzugefügt, um einen Kanal zu bilden.
Ein Kaufsignal wird erzeugt, wenn der Preis den Kanal nach oben durchbricht. Ein Verkaufssignal wird erzeugt, wenn der Preis den Kanal nach unten durchbricht.
Gute Handelssignale werden nur erzeugt, wenn der kurzfristige Durchbruch mit der Haupttrendrichtung übereinstimmt.
Durch die Einhaltung dieser Schritte erfasst diese Strategie Durchbruchspunkte in schwankenden Trends und vermeidet falsche Signale, indem sie sich auf den Mainstream-Trend bezieht.
Die Vorteile dieser Strategie:
Der Doppel-MA-Kanal spiegelt den aktuellen Kursschwankungsbereich wider.
Der ATR-Parameter ermöglicht es dem Kanalbereich, die Marktvolatilität in Echtzeit zu verfolgen.
Durch die Mainstream-Trendfilterung werden falsche Signale in schwankenden Märkten vermieden.
Die Regeln sind einfach und leicht verständlich.
Die Risiken:
Erfolglose Durchbrüche können zu fehlenden guten Gelegenheiten führen, die durch Gewinngewinn und Wiedereintritt gemildert werden können.
Das Mainstream-Trend-Urteil hat eine Zeitverzögerung und kann nicht alle falschen Signale eliminieren.
Der Stop-Loss kann in volatilen Märkten eingegriffen werden und den ATR dynamisch anpassen.
Möglichkeiten zur Optimierung dieser Strategie:
Optimierung der MA-Parameter für verschiedene Produkte.
Optimieren Sie den ATR-Parameter, um die Volatilität besser zu verfolgen.
Fügen Sie zusätzliche Filter wie Volumen- und Volatilitätsindikatoren hinzu, um weitere falsche Signale zu vermeiden.
Verwenden Sie maschinelles Lernen, um Parameter automatisch zu optimieren.
Diese doppelte MA-Oszillations-Durchbruchstrategie erfasst oszillierende Trends durch den doppelten MA-Kanal und die Mainstream-Filterung. Mit ihren einfachen und klaren Regeln ist sie ein hervorragendes Beispiel, um Durchbruchshandelsstrategien zu erlernen. Weitere Optimierungen bei Parametern und Signalfilterung können ihre Rentabilität und Stabilität verbessern.
/*backtest start: 2022-11-20 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Anuj4912 //@version=4 strategy("Anuj4912", overlay=true) res = input(title="Time Frame", defval="120") Factor=input(1, minval=1,maxval = 100) Pd=input(1, minval=1,maxval = 100) tp = input(500,title="Take Profit") sl = input(400,title="Stop Loss") Up=hl2-(Factor*atr(Pd)) Dn=hl2+(Factor*atr(Pd)) MUp=request.security(syminfo.tickerid,res,hl2-(Factor*atr(Pd))) MDn=request.security(syminfo.tickerid,res,hl2+(Factor*atr(Pd))) Mclose=request.security(syminfo.tickerid,res,close) TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn MTrendUp=Mclose[1]>MTrendUp[1]? max(MUp,MTrendUp[1]) : MUp MTrendDown=Mclose[1]<MTrendDown[1]? min(MDn,MTrendDown[1]) : MDn Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1) Tsl = Trend==1? TrendUp: TrendDown MTrend = Mclose > MTrendDown[1] ? 1: Mclose< MTrendUp[1]? -1: nz(MTrend[1],1) MTsl = MTrend==1? MTrendUp: MTrendDown linecolor = Trend == 1 ? green : red plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend") Mlinecolor = MTrend == 1 ? blue : orange plot(MTsl, color = Mlinecolor , style = line , linewidth = 2,title = "Main SuperTrend") plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0) plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0) up = Trend == 1 and Trend[1] == -1 and MTrend == 1 down = Trend == -1 and Trend[1] == 1 and MTrend == -1 plotarrow(up ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0) plotarrow(down ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0) golong = Trend == 1 and Trend[1] == -1 and MTrend == 1 goshort = Trend == -1 and Trend[1] == 1 and MTrend == -1 strategy.entry("Buy", strategy.long,when=golong) strategy.exit("Close Buy","Buy",profit=tp,loss=sl) strategy.entry("Sell", strategy.short,when=goshort) strategy.exit("Close Sell","Sell",profit=tp,loss=sl)