Diese Strategie verwendet hauptsächlich EMA und Standardabweichungsindikatoren, um die Trendrichtung durch EMA-Kreuzsignale zu bestimmen und nach Ausbruchssignalen mit Standardabweichung zu suchen, um Kauf- und Verkaufssignale zu generieren.
Die Strategie besteht aus drei Hauptteilen:
EMA-Differenz (s2): Berechnen Sie die Differenz zwischen schneller EMA (ema_range) und langsamer EMA (ema_watch), um die Kursentwicklungsrichtung zu bestimmen.
Standard-Abweichungskanal (s3): Aufbau des oberen und unteren Kanals basierend auf der EMA-Differenz mit Multiplikatoren der Standardabweichung.
Flaggen und Signale: Erzeugen Kaufsignale, wenn die Preise von unten nach oben durch die obere Schiene durchbrechen, und Verkaufssignale, wenn die Preise von oben nach unten durch die untere Schiene durchbrechen.
Durch diese Kombination von Indikatoren kann es die Trendrichtung der Preise erfassen und Kauf- und Verkaufssignale an wichtigen Punkten erzeugen, was zu einer typischen Trendverfolgungsstrategie gehört.
Die Strategie weist folgende Vorteile auf:
Es gibt auch einige Risiken:
Die Lösungen:
Die Strategie kann in folgenden Richtungen optimiert werden:
Zusammenfassend ist dies eine typische Trendverfolgungsstrategie, bei der EMA und Standardabweichung verwendet werden, um ein Indikatorsystem aufzubauen und Flaggsignale an wichtigen Punkten zu generieren. Die Vorteile liegen darin, Trends zu erfassen und falsche Signale mit Standardabweichung zu vermeiden. Die Hauptrisiken stammen von falschen Signalen in Bereichsmärkten und Drawdown-Risiken aufgrund von Stop Loss. Durch Hinzufügen von Beurteilungsindikatoren, Optimierung von Parametern und Hinzufügen von Stop Loss kann die Strategie in Bezug auf Stabilität und Rentabilität weiter verbessert werden. Insgesamt ist der Strategierahmen vernünftig und bietet großes Optimierungspotenzial.
/*backtest start: 2023-09-27 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ROCKET_EWO", overlay=true) ema_range = input(5) ema_watch = input(13) inval_a = input(open) inval_b = input(open) ratio = input(0) max = 5000 s2=ta.ema(inval_a, ema_range) - ta.ema(inval_b, ema_watch) c_color=s2 <= ratio ? 'red' : 'lime' s3 = s2 + (ta.stdev(open, 1)) * 5.618 plotshape(s3, color=color.white, style=shape.cross, location=location.abovebar, size=size.auto, show_last=max, transp=30, offset= 0) cr = s2 > 0 alertcondition(cr, title='[Rocket_EWO]', message='[Rocket_EWO]') buy = s2 > 1 sell = s2 < -1 txt = "🚀" + "\n"+ "\n"+ "\n"+ "\n" plotshape(buy, color=color.lime, style=shape.triangleup, location=location.belowbar ,color=color.white, text=txt, size=size.normal, show_last=max, transp=1, offset= -3) plotshape(not buy, color=color.red, style=shape.triangledown, location=location.belowbar, size=size.normal, show_last=max, transp=1, offset= 0) signalperiod = time s4 = ta.cross(s2, 0) ? time : na colsig= s2 <= ratio ? color.red : color.lime plotshape((time==s4)?7000:na,color=color.blue, style=shape.flag, location=location.abovebar, size=size.large, transp=1) longCondition = ta.crossover(s2, 1.618) if (longCondition) strategy.entry("LONG Id", strategy.long) shortCondition = ta.crossunder(s2, 1.618) if (shortCondition) strategy.entry("SHORT Id", strategy.short) strategy.close("LONG Id", when = s2 < 0.218) // strategy.risk.max_drawdown(75, strategy.percent_of_equity)