Strategie für einen doppelten gleitenden Durchschnittsbruch

Schriftsteller:ChaoZhang, Datum: 2023-09-11 12:31:51
Tags:

Diese Strategie verwendet sowohl SMA als auch EMA gleitende Durchschnitte, um die lange und kurze Richtung basierend auf Preis-Breakouts zu bestimmen. Es geht lang, wenn der Schluss über SMA und EMA liegt, geht kurz, wenn der Schluss unter SMA und EMA liegt, und flacht aus, wenn der Schluss zwischen SMA und EMA liegt. Die SMA- und EMA-Perioden können vom Benutzer angepasst werden.

Der Vorteil dieser doppelten gleitenden Durchschnitts-Breakout-Strategie besteht darin, dass die Kombination von zwei gleitenden Durchschnittssystemen die Genauigkeit verbessern kann. Es gibt jedoch Probleme wie falsche Signale während von Bereichsmärkten und Nachlasssignale. Außerdem wird kein Stop-Loss implementiert, um Verluste zu kontrollieren.

Zusammenfassend lässt sich sagen, dass diese Strategie besser funktioniert, wenn starke Trends vorhanden sind, aber vorsichtig gehandelt werden sollte.

Insgesamt hat die doppelte gleitende Durchschnittsbreakout-Strategie eine einfache Handelslogik, erfordert jedoch eine angemessene Risikokontrolle und Parameter-Ausrichtung, um erfolgreich im Live-Handel angewendet zu werden.


/*backtest
start: 2023-08-11 00:00:00
end: 2023-09-10 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Multima v1.0", shorttitle = "Multima 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

needlong = input(true, "long")
needshort = input(true, "short")

usema1 = input(true, "Use MA1 (SMA, blue)")
usema2 = input(true, "Use MA2 (EMA, red)")
lenma1 = input(40, defval = 40, minval = 2, maxval = 1000, title = "MA1 length")
lenma2 = input(40, defval = 40, minval = 2, maxval = 1000, title = "MA2 length")
//anti = input(true, defval = true, title = "Antipila")
usecf = input(true, defval = true, title = "Use color-filter")

//Strategy
ma1 = sma(close, lenma1)
ma2 = ema(close, lenma2)
signal1 = usema1 == false ? 0 : close > ma1 ? 1 : -1
signal2 = usema2 == false ? 0 : close > ma2 ? 1 : -1
lots = signal1 + signal2

//Lines
plot(ma1, color = blue, linewidth = 3, transp = 0)
plot(ma2, color = red, linewidth = 3, transp = 0)

//Trading
if lots > 0 and (close < open or usecf == false)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if lots < 0 and (close > open or usecf == false)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if lots == 0
    strategy.close_all()
    
    
    

Mehr