
Die Strategie verwendet ein Drei-Schicht-Filtermechanismus, der die Richtung der Tendenz bestimmt (EMA-Kreuzung), die Dynamikstärke bestätigt (RSI und MACD) und die Konvergenz bestätigt (Quantitative Durchbruch und OBV-Trend), und ist mit einem ATR-basierten Risikokontrollsystem ausgestattet.
Die Strategie basiert auf einer Dreifachbestätigung:
Das Risiko-Management verwendet das 1,5-fache des ATR als Stop-Loss-Standard, wobei das Risiko-Gewinn-Risiko-Verhältnis von 1:2 als Standard-Gewinn-Ziel festgelegt wird.
Es handelt sich um eine gut konzipierte Multi-Level-Bestätigungstraditionsstrategie, die durch die Kombination mehrerer technischer Indikatoren ein relativ zuverlässiges Handelssignal liefert. Die Risikomanagementsysteme der Strategie sind relativ gut, erfordern jedoch die Optimierung der Parameter für die spezifischen Marktbedingungen. Die Strategie ist am besten geeignet für den Einsatz in volatilen, liquiden Märkten und erfordert eine gewisse Basis für technische Analyse.
/*backtest
start: 2025-02-12 00:00:00
end: 2025-02-19 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("5min Triple Confirmation Crypto Strategy", overlay=true, margin_long=100, margin_short=100)
// ===== Inputs =====
fast_length = input.int(9, "Fast EMA Length")
slow_length = input.int(21, "Slow EMA Length")
rsi_length = input.int(14, "RSI Length")
volume_ma_length = input.int(20, "Volume MA Length")
atr_length = input.int(14, "ATR Length")
risk_reward = input.float(2.0, "Risk:Reward Ratio")
// ===== 1. Trend Confirmation (EMA Crossover) =====
fast_ema = ta.ema(close, fast_length)
slow_ema = ta.ema(close, slow_length)
bullish_trend = ta.crossover(fast_ema, slow_ema)
bearish_trend = ta.crossunder(fast_ema, slow_ema)
// ===== 2. Momentum Confirmation (RSI + MACD) =====
rsi = ta.rsi(close, rsi_length)
[macd_line, signal_line, _] = ta.macd(close, 12, 26, 9)
bullish_momentum = rsi > 50 and ta.crossover(macd_line, signal_line)
bearish_momentum = rsi < 50 and ta.crossunder(macd_line, signal_line)
// ===== 3. Volume Confirmation (Volume Spike + OBV) =====
volume_ma = ta.sma(volume, volume_ma_length)
volume_spike = volume > 1.8 * volume_ma
obv = ta.obv
obv_trend = ta.ema(obv, 5) > ta.ema(obv, 13)
// ===== Entry Conditions =====
long_condition =
bullish_trend and
bullish_momentum and
volume_spike and
obv_trend
short_condition =
bearish_trend and
bearish_momentum and
volume_spike and
not obv_trend
// ===== Risk Management =====
atr = ta.atr(atr_length)
long_stop = low - 1.5 * atr
long_target = close + (1.5 * atr * risk_reward)
short_stop = high + 1.5 * atr
short_target = close - (1.5 * atr * risk_reward)
// ===== Strategy Execution =====
strategy.entry("Long", strategy.long, when=long_condition)
strategy.exit("Long Exit", "Long", stop=long_stop, limit=long_target)
strategy.entry("Short", strategy.short, when=short_condition)
strategy.exit("Short Exit", "Short", stop=short_stop, limit=short_target)
// ===== Visual Alerts =====
plotshape(long_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(short_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
plot(fast_ema, "Fast EMA", color=color.blue)
plot(slow_ema, "Slow EMA", color=color.orange)