
Ini adalah strategi perdagangan trend berdasarkan pengesahan pelbagai petunjuk teknikal, yang menggabungkan penyaringan isyarat perdagangan dengan purata bergerak, penunjuk momentum dan analisis kuantitatif. Strategi ini menggunakan mekanisme penapisan tiga lapis, termasuk penilaian arah trend ((EMA crossover), pengesahan kekuatan momentum ((RSI dan MACD) dan pengesahan kuantitatif ((penembusan kuantitatif dan trend OBV), dan dilengkapi dengan sistem kawalan risiko berdasarkan ATR.
Strategi ini beroperasi berdasarkan mekanisme pengesahan tiga kali:
Pengurusan risiko menggunakan 1.5 kali ATR sebagai standard hentian, dan secara lalai 1: 2 risiko keuntungan berbanding sasaran keuntungan.
Ini adalah strategi perdagangan pengesahan berlapis yang dirancang dengan baik, yang menyediakan isyarat perdagangan yang agak dipercayai dengan menggabungkan beberapa petunjuk teknikal. Sistem pengurusan risiko strategi ini cukup sempurna, tetapi masih memerlukan parameter yang dioptimumkan oleh peniaga mengikut keadaan pasaran tertentu. Strategi ini paling sesuai digunakan dalam pasaran yang tidak stabil dan cukup cair, dan memerlukan peniaga mempunyai asas analisis teknikal tertentu.
/*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)