
Die Strategie ist ein umfassendes Handelssystem, das mehrere wichtige Indikatoren aus der technischen Analyse kombiniert, darunter das Doppel-Gleichgewicht-System (SMA), die Moving Average Convergence Divergence (MACD), der Relative Strength Index (RSI) und die Resistance-Analyse. Die Kernidee der Strategie besteht darin, Handelssignale durch mehrdimensionale technische Indikatoren zu bestätigen und gleichzeitig die Positionsverwaltung zu optimieren, um die Gewinn-Risiko-Gewinn-Verhältnis zu verbessern.
Die Strategie verwendet zwei einfache Moving Averages, kurzfristig (10-Tage) und langfristig (30-Tage) als Hauptsignalsystem. Das System sendet mehrere Signale aus, wenn der kurzfristige Durchschnitt den langfristigen Durchschnitt nach oben durchquert und der MACD-Indikator eine mehrseitige Dynamik zeigt (die MACD-Linie über der Signallinie). Die Verkaufskonditionen werden in Kombination mit einer Widerstandsanalyse ausgeführt, wenn der Preis den höchsten Punkt der letzten 20 Zyklen erreicht und der MACD ein leeres Signal zeigt.
Durch die Kombination mehrerer klassischer technischer Indikatoren baut die Strategie ein vollständiges Handelssystem auf. Die Vorteile der Strategie liegen in der Mehrfachsignalbestätigung und einem ausgefeilten Risikokontrollsystem, wobei jedoch die Auswirkungen des Marktumfelds auf die Strategieperformance zu beachten sind. Durch die empfohlene Optimierungsrichtung wird die Stabilität und Anpassungsfähigkeit der Strategie voraussichtlich weiter verbessert. In der Anwendung im Bereich der Realisierung wird den Anlegern empfohlen, die Parameter entsprechend ihrer eigenen Risikopräferenzen und der Marktumgebung anzupassen und dabei stets auf die Marktgrundlagen zu achten.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("XAUUSD SMA with MACD & Market Sentiment (Enhanced RR)", overlay=true)
// Input parameters for moving averages
shortSMA_length = input.int(10, title="Short SMA Length", minval=1)
longSMA_length = input.int(30, title="Long SMA Length", minval=1)
// MACD settings
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Lookback period for identifying major resistance (swing highs)
resistance_lookback = input.int(20, title="Resistance Lookback Period", tooltip="Lookback period for identifying major resistance")
// Calculate significant resistance (local swing highs over the lookback period)
major_resistance = ta.highest(close, resistance_lookback)
// Calculate SMAs
shortSMA = ta.sma(close, shortSMA_length)
longSMA = ta.sma(close, longSMA_length)
// RSI for market sentiment
rsiLength = input.int(14, title="RSI Length", minval=1)
rsiOverbought = input.int(70, title="RSI Overbought Level", minval=50, maxval=100)
rsiOversold = input.int(30, title="RSI Oversold Level", minval=0, maxval=50)
rsi = ta.rsi(close, rsiLength)
// Define buy condition based on SMA and MACD
buyCondition = ta.crossover(shortSMA, longSMA) and macdLine > signalLine
// Define sell condition: only sell if price is at or above the identified major resistance
sellCondition = close >= major_resistance and macdLine < signalLine
// Define sentiment-based exit conditions
closeEarlyCondition = strategy.position_size < 0 and rsi > rsiOverbought // Close losing trade early if RSI is overbought
holdWinningCondition = strategy.position_size > 0 and rsi < rsiOversold // Hold winning trade if RSI is oversold
// Execute strategy: Enter long position when buy conditions are met
if (buyCondition)
strategy.entry("Buy", strategy.long)
// Close the position when the sell condition is met (price at resistance)
if (sellCondition and not holdWinningCondition)
strategy.close("Buy")
// Close losing trades early if sentiment is against us
if (closeEarlyCondition)
strategy.close("Buy")
// Visual cues for buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Add alert for buy condition
alertcondition(buyCondition, title="Buy Signal Activated", message="Buy signal activated: Short SMA has crossed above Long SMA and MACD is bullish.")
// Add alert for sell condition to notify when price hits major resistance
alertcondition(sellCondition, title="Sell at Major Resistance", message="Sell triggered at major resistance level.")
// Add alert for early close condition (for losing trades)
alertcondition(closeEarlyCondition, title="Close Losing Trade Early", message="Sentiment is against your position, close trade.")
// Add alert for holding winning condition (optional)
alertcondition(holdWinningCondition, title="Hold Winning Trade", message="RSI indicates oversold conditions, holding winning trade.")