RSI und gleitender Durchschnittsverlauf nach Strategie

Schriftsteller:ChaoZhang, Datum: 2023-12-13 17:50:34
Tags:

img

Übersicht

Diese Strategie verwendet den RSI-Indikator und schnelle/langsame gleitende Durchschnitte, um Ein- und Ausstiegspunkte zu bestimmen. Sie geht lang, wenn der RSI 5 Punkte steigt und unter 70 liegt; und wenn der 9-Tage-MA über den 50-Tage-MA überschreitet. Sie geht aus, wenn der 50-Tage-MA unter den 9-Tage-MA überschreitet.

Strategie Logik

Die Strategie verwendet hauptsächlich eine Kombination aus dem RSI-Indikator und gleitenden Durchschnitten. Der RSI-Indikator zeigt, ob eine Aktie oder Kryptowährung überkauft oder überverkauft ist. Werte unter 30 gelten als überverkauft, während Werte über 70 als überkauft gelten. Diese Strategie verwendet den RSI, um geeignete Einstiegspunkte außerhalb dieser Extrembereiche zu bestimmen.

Bewegliche Durchschnitte werden häufig verwendet, um die Trendrichtung zu identifizieren. Der schnelle gleitende Durchschnitt reagiert schneller auf Preisänderungen, während der langsame MA falsche Ausbrüche ausfiltert. Wenn der schnelle MA über den langsamen MA überschreitet, beginnt ein Aufwärtstrend. Das Gegenteil signalisiert einen Abwärtstrend. Diese Strategie verwendet die 9- und 50-Tage-MA und ihre Kreuzungen, um den Trend und die Ein-/Ausgänge zu bestimmen.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, den RSI zu nutzen, um zu vermeiden, dass man bei extremen Überkaufniveaus kauft, und die Kombination von schnellen und langsamen MAs zu verwenden, um falsche Ausbrüche auszufiltern und die Trendrichtung für eine höhere Rentabilität zu sperren.

Die zusätzliche Bedingung von 5 aufeinanderfolgenden RSI-Punkte erhöht verhindert unnötige Käufe in überkauften Zonen.

Risiken und Prävention

Das größte Risiko besteht darin, dass bei starken Kursschwankungen die Signale des RSI und des MAs zurückbleiben, was zu Kauf- oder Verkaufsschwankungen führt.

Um dies zu verhindern, wird ein schnellerer MA verwendet, um Preisänderungen schneller zu erfassen und die Verzögerung zu reduzieren.

Optimierungsrichtlinien

Möglicher Optimierungspfad:

  1. Prüfzeiten für die RSI für optimale Parameter

  2. Für eine bessere Filterung werden mehr schnelle/langsame MA-Kombinationen getestet

  3. Optimierung der Positionsgröße mit verschiedenen Parametern

  4. Hinzufügen von Stop-Loss-Bedingungen, um Gewinne zu sperren

Schlussfolgerung

Insgesamt eignet sich diese Strategie gut für den Trendhandel. Sie vermeidet überkaufte/überverkaufte Bereiche mit RSI und verwendet schnelle/langsame MAs zur Trend- und Support/Resistance-Erkennung.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
strategy("RSI with Slow and Fast MA Crossing Strategy (by Coinrule)",
         overlay=true,
         initial_capital=10000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0


// RSI
length = input(14)
vrsi = ta.rsi(close, length)

// Moving  Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)


increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
    strategy.entry("Long", strategy.long)


// Moving  Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)


condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)

strategy.close('Long', when = condition and timePeriod)






Mehr