- Quadrat
- RSI50_EMA Langzeitstrategie
RSI50_EMA Langzeitstrategie
Schriftsteller:
ChaoZhang, Datum: 2024-05-11 11:49:29
Tags:
EMARSIATR
Übersicht
Die Strategie mit dem Namen RSI50_EMA Long Only Strategy verwendet hauptsächlich die Crossover-Signale von zwei technischen Indikatoren, dem Relative Strength Index (RSI) und dem Exponential Moving Average (EMA), um Handelsentscheidungen zu treffen. Sie eröffnet eine Long-Position, wenn der Preis über das obere Band der EMA von unten bricht und der RSI über 50 liegt, und schließt alle Long-Positionen, wenn der Preis unter das untere Band der EMA von oben bricht oder der RSI unter 50 fällt. Diese Strategie nimmt nur Long-Positionen ein und schließt nicht, es ist eine trendfolgende Strategie.
Strategieprinzip
- Berechnen Sie EMA und ATR, um die oberen und unteren EMA-Bänder zu erhalten.
- Berechnen Sie den RSI.
- Wenn der Schlusskurs über das obere Band der EMA und der RSI über 50 liegt, öffnen Sie eine Longposition.
- Wenn der Schlusskurs unterhalb des unteren Bandes der EMA oder des RSI unter 50 fällt, schließen Sie alle Longpositionen.
- Nur lange, keine kurzen.
Strategische Vorteile
- Geeignet für den Einsatz in einem starken Markt, kann effektiv den Aufwärtstrend starker Aktien erfassen.
- Verwendet sowohl EMA- als auch RSI-Indikatoren, um Trendsignale besser zu bestätigen und die Signalzuverlässigkeit zu verbessern.
- Das Positionsmanagement verwendet einen prozentualen Stop-Loss, das Risiko ist kontrollierbar.
- Die Code-Logik ist klar und einfach, leicht zu verstehen und umzusetzen.
Strategische Risiken
- Anfällig für häufige Handelsgeschäfte und große Abzüge auf volatilen Märkten.
- Eine unsachgemäße Parameterwahl kann zu Signalversagen führen. Beispielsweise führt eine unsachgemäße Auswahl der EMA-Länge zu einem verzögerten Trendbeurteilung; eine unsachgemäße Auswahl der oberen und unteren RSI-Grenzen führt zu unerwünschten Ein- und Ausstiegspunkten.
- Die Strategie kann nur einseitige Aufwärtstrends erfassen und kann keine Abwärtstrends und Schwankungen erfassen, die leicht verpasst werden können.
Strategieoptimierungsrichtlinien
- Einführung von Trendbestätigungsindikatoren, wie z. B. MACD, um die Genauigkeit der Trendbeurteilung zu verbessern.
- Optimierung der Parameter für den RSI oder Einführung von RSI-Divergenzen und anderen Verbesserungen der Signale.
- Überlegen Sie, ob Sie einen Trailing-Stop-Loss oder einen Volatilitäts-Stop-Loss hinzufügen, um die Risikokontrolle zu verbessern.
- Es sollte in Erwägung gezogen werden, eine Umkehr-Eintrittslogik für schwankende Märkte und Abwärtstrends hinzuzufügen.
Zusammenfassung
Die RSI50_EMA Long Only Strategie ist eine einfache und benutzerfreundliche Trend-Folge-Strategie, die auf RSI und EMA basiert und für den Einsatz in einseitigen Aufwärtstrends geeignet ist. Die Strategie hat klare Logik und offensichtliche Vorteile, hat aber auch einige Mängel und Risiken. Durch die Einführung mehrerer Hilfsindikatoren, die Optimierung von Parametern, die Verbesserung der Risikokontrolle und andere Maßnahmen können die Stabilität und Rentabilität der Strategie weiter verbessert werden.
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("RSI50_EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len = input(11, type=input.integer, minval=1, title="Length")
mul = input(2, type=input.float, minval=0, title="Multiplier")
rsicap = input(50, type=input.integer, minval=1, title="rsicap")
rsi_1 = rsi(close,20)
price = sma(close, 2)
average = ema(close, len)
diff = atr(len) * mul
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level)
RENTRY = crossover(rsi_1,rsicap)
bear_cross = crossover(bear_level, price)
EXIT = crossunder(rsi_1,50)
strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
if (RENTRY)
strategy.entry("RSI", strategy.long, when=bull_cross)
if (EXIT)
strategy.close("RSICLose", when=bull_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)
Verwandt
Mehr