Diese Strategie kombiniert drei Klassifikationsindikatoren: RSI, CCI und Williams%R, um effektive Handelssignale zu generieren. Sie wird Kauf- oder Verkaufssignale ausstellen, wenn alle drei Indikatoren gleichzeitig überkaufte oder überverkaufte Signale anzeigen. Verglichen mit der Verwendung eines einzigen Indikators filtert diese zusammengesetzte Strategie mehr falsche Signale aus und verbessert die Stabilität.
Die Strategie trägt den Namen
Die Strategie stützt sich hauptsächlich auf folgende Indikatoren für Handelsentscheidungen:
Wenn der RSI unter 25 liegt, signalisiert er einen Überverkaufstatus. Wenn der RSI über 75 liegt, signalisiert er einen Überkaufstatus. Die gleiche Logik gilt für die CCI- und Williams%R-Parameter.
Wenn alle drei Indikatoren gleichzeitig Kaufsignale anzeigen, d.h. RSI < 25, CCI < -130, Williams %R < -85, wird die Strategie lang sein. Wenn alle drei Indikatoren gleichzeitig Verkaufssignale anzeigen, d.h. RSI > 75, CCI > 130, Williams %R > -15, wird die Strategie kurz sein.
Dies verhindert falsche Signale von einem einzigen Indikator und verbessert die Zuverlässigkeit.
Multi-Indikator-Kombination filtert falsche Signale
Durch die Kombination von RSI, CCI und Williams%R filtert die Strategie einige falsche Signale aus einzelnen Indikatoren und verbessert so die Genauigkeit.
Automatischer Verlust-/Gewinnstopp verwaltet Risiken Die eingebauten Stop-Loss- und Take-Profit-Funktionen setzen automatisch die Exit-Preise für jeden Handel ein und begrenzen die Verluste effektiv innerhalb tolerierbarer Schwellenwerte.
Mittelfristiger Handel Die Strategie funktioniert besser für mittelfristige Trades, da sie mittelfristige Wendepunkte über die Indikatorenkombination eindeutig identifiziert.
Solide Daten aus dem Backtest
Die Strategie verwendet 45-min-Bars von EUR/USD, einem wichtigen Devisenpaar mit reichlich Liquidität und Daten, wodurch die Risiken eines Überschusses durch unzureichende Daten reduziert werden.
Schwache langfristige Trends
Die Strategie stützt sich eher auf entgegengesetzte Signale. Ihre Fähigkeit, langfristige Trends zu messen und zu verfolgen, ist begrenzt. Während langfristiger einseitiger Märkte ist das Gewinnpotential eingeschränkt.
Fehlende kurzfristige Schwankungen Bei 45-minütigen Balken verpasst die Strategie durch häufigere kurzfristige Kursschwankungen profitable Chancen.
Systemrisiken
In Zeiten schwerer Wirtschaftskrise, die den weltweiten Devisenmarkt erschüttert, könnten die Handelsregeln scheitern, was zu großen Verlusten führen könnte.
Hinzufügen von Trendindikatoren
Versuchen Sie, Trendmetriken wie MA, Boll usw. zu integrieren, um die langfristige Trenderkennung zu unterstützen.
Optimierung der Stop-Loss-/Gewinnparameter Zur Ermittlung der optimalen Einstellung werden weitere historische Daten getestet, um die Auswirkungen verschiedener Stop-Loss-/Gewinnparameter auf die endgültige Rentabilität zu bewerten.
Produkte erweitern
Wir können versuchen, es auf andere wichtige Währungspaare wie GBP, JPY, AUD einzusetzen, um seine Stabilität und Übertragbarkeit zu untersuchen.
Die
/*backtest start: 2024-01-16 00:00:00 end: 2024-01-23 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI CCI Williams %R Strategy with TP and SL", overlay=true) // Input parameters for indicators rsi_period = input(14, title="RSI Period") cci_period = input(20, title="CCI Period") williams_period = input(14, title="Williams %R Period") // Thresholds for overbought and oversold conditions rsi_oversold = input(25, title="RSI Oversold Level") rsi_overbought = input(75, title="RSI Overbought Level") cci_oversold = input(-130, title="CCI Oversold Level") cci_overbought = input(130, title="CCI Overbought Level") williams_oversold = input(-85, title="Williams %R Oversold Level") williams_overbought = input(-15, title="Williams %R Overbought Level") // Take profit and stop loss levels as a percentage take_profit_pct = input(1.2, title="Take Profit (%)") / 100 stop_loss_pct = input(0.45, title="Stop Loss (%)") / 100 // Indicator calculations rsi = ta.rsi(close, rsi_period) cci = ta.cci(close, cci_period) highestHigh = ta.highest(high, williams_period) lowestLow = ta.lowest(low, williams_period) williamsR = (highestHigh - close) / (highestHigh - lowestLow) * -100 // Entry conditions longCondition = rsi < rsi_oversold and cci < cci_oversold and williamsR < williams_oversold and strategy.position_size == 0 shortCondition = rsi > rsi_overbought and cci > cci_overbought and williamsR > williams_overbought and strategy.position_size == 0 // Execute strategy entry orders if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit or Stop Loss Long", "Long", limit=close * (1 + take_profit_pct), stop=close * (1 - stop_loss_pct)) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit or Stop Loss Short", "Short", limit=close * (1 - take_profit_pct), stop=close * (1 + stop_loss_pct)) // Plot the signals on the chart plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL") // Plot the indicators for visualization plot(rsi, title="RSI", color=color.blue) plot(cci, title="CCI", color=color.purple) plot(williamsR, title="Williams %R", color=color.orange)