Trends-Tracking-Strategien basierend auf dem Blinken, dem RSI und dem gleitenden Durchschnitt

Schriftsteller:ChaoZhang, Datum: 2024-02-02 11:35:17
Tags:

基于布林带、RSI和移动平均线的趋势跟踪策略

Übersicht

Die Strategie integriert ein Breitband-Indikator, einen Relative Strength/Weakness-Indikator (RSI) und einen Moving Average (MA), um potenzielle Ein- und Ausstiegspunkte in den Märkten zu identifizieren. Sie erzeugt Kauf- und Verkaufssignal-Alarme, die durch manuelle oder automatische Handelssysteme ausgeführt werden können.

Die Strategie

Die Strategie verwendet zwei verschiedene Parameter, um einen Preis-Path zu erzeugen. Die Standardparameter für einen Brennband sind 20 Zyklen und eine Standarddifferenz von 2; die Up- und Down-Tracks der Brennbänder dienen als Resistenz- und Unterstützungspositionen der Dynamik.

Der RSI wird verwendet, um zu bestimmen, ob die Preisbewegung stark oder schwach ist.

Die Strategie integriert auch eine 50-zyklische gleitende Durchschnittslinie, die verwendet wird, um die Richtung des allgemeinen Trends zu bestimmen. Wenn der Preis über dem gleitenden Durchschnittslinie liegt, zeigt er einen steigenden Trend an; wenn der Preis unter dem gleitenden Durchschnittslinie liegt, zeigt er einen fallenden Trend an.

Bedingungen für den Signalkauf: Der RSI liegt über der Über-Buy-Linie und der Brin-Band schrumpft nicht.

Bedingungen für das Verkaufssignal: RSI unterhalb der Überverkaufslinie und kein Brechen des Brechenbands.

Die Bedingungen für das Plateau-Signal: Die lange Position schließt unter dem gleitenden Durchschnitt. Die kurze Position schließt über dem gleitenden Durchschnitt.

Strategische Vorteile

  1. Die Kombination von drei Indikatoren, dem Braun-Band, dem RSI und dem gleitenden Durchschnitt, erlaubt ein umfassendes Urteilen der Trendrichtung und vermeidet falsche Signale.

  2. Die Blink-Band beurteilt die lokalen Höhen und Tiefen und bestätigt den Durchbruch, der RSI filtert den falschen Durchbruch, der bewegliche Durchschnitt beurteilt die Gesamtbewegung. Die drei bestätigen sich gegenseitig und finden den Trendwendepunkt genau heraus.

  3. Die Strategieparameter wurden optimiert, und die Brin Band verwendet zwei Standardverschiebungsparameter, um den Preiskanal genauer darzustellen.

Strategische Risiken

  1. Wenn sich das Blinkenband schrumpft, kann es leicht falsche Signale erzeugen.

  2. In einem turbulenten Trend können der RSI und das gleitende Durchschnitt ein falsches Signal erzeugen.

  3. Die Situation, in der es nicht möglich ist, die Preislücke effektiv zu bewältigen, sollte in Kombination mit anderen Indikatoren beurteilt werden.

Strategische Optimierung

  1. Optimierung der Parameter für Braunbänder und RSI, um sie besser an die Eigenschaften verschiedener Sorten und Zeitzyklen anzupassen.

  2. Zusätzliche Stop-Loss-Einstellungen hinzugefügt.

  3. Erhöhte Trendfilter wie ADX, die verwendet werden, um zu entscheiden, ob man in einen Trendmarkt eintritt.

  4. In Kombination mit einem automatischen Handelssystem werden Transaktionen ohne menschliche Intervention automatisch ausgeführt, indem die erzeugten Handelssignale genutzt werden.

Zusammenfassung

Die Strategie integriert die Vorteile der drei Indikatoren Breitband, RSI und Moving Average und verbessert die Signalgenauigkeit durch Parameteroptimierung. Es kann automatisch Handelswarnungen generiert werden. Strategiehandel wird ausgeführt. Das Risiko liegt hauptsächlich in der Erzeugung von falschen Signalen in schwindelernden Märkten.


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands, RSI, and MA Strategy", overlay=true)

// Define input variables
b_len = input(20, title="BB Length")
bb_mult = input(2.0, title="BB Standard Deviation")
bb_deviation1 = input(1.0, title="BB Deviation 1")
rsi_len = input(14, title="RSI Length")
overbought = input(70, title="Overbought RSI Level")
oversold = input(30, title="Oversold RSI Level")
ma_len = input(50, title="MA Length")
stop_loss_percent = input(1.0, title="Stop Loss Percentage")
source = input(close, title="Source")

// Calculate Bollinger Bands
bb_upper = ta.sma(source, b_len) + bb_mult * ta.stdev(source, b_len)
bb_lower = ta.sma(source, b_len) - bb_mult * ta.stdev(source, b_len)
bb_upper1 = ta.sma(source, b_len) + bb_deviation1 * ta.stdev(source, b_len)
bb_lower1 = ta.sma(source, b_len) - bb_deviation1 * ta.stdev(source, b_len)

// Calculate RSI
rsi = ta.rsi(source, rsi_len)

// Calculate Moving Average
ma = ta.sma(source, ma_len)

// Determine if Bollinger Bands are contracting
bb_contracting = ta.stdev(source, b_len) < ta.stdev(source, b_len)[1]

// Entry conditions
enterLong = rsi > overbought and not bb_contracting
enterShort = rsi < oversold and not bb_contracting

// Exit conditions
exitLong = close < ma
exitShort = close > ma

// Exit trades and generate alerts
if strategy.position_size > 0 and exitLong
    strategy.close("Long") // Exit the long trade
    alert("Long Exit", alert.freq_once_per_bar_close)
if strategy.position_size < 0 and exitShort
    strategy.close("Short") // Exit the short trade
    alert("Short Exit", alert.freq_once_per_bar_close)

// Strategy orders
if enterLong
    strategy.entry("Long", strategy.long)
if enterShort
    strategy.entry("Short", strategy.short)
if exitLong
    strategy.close("Long")
if exitShort
    strategy.close("Short")

// Plotting Bollinger Bands
plot(bb_upper, color=color.blue, title="BB Upper 2")
plot(bb_lower, color=color.blue, title="BB Lower 2")
plot(bb_upper1, color=color.red, title="BB Upper 1")
plot(bb_lower1, color=color.red, title="BB Lower 1")

// Plotting RSI
plot(rsi, color=color.orange, title="RSI")

// Plotting Moving Average
plot(ma, color=color.green, title="Moving Average")


Weitere Informationen