
Strategi perdagangan tren pergerakan rata-rata bergerak tiga kali berturut-turut adalah kaedah perdagangan kuantitatif berdasarkan sistem purata bergerak bertingkat yang menggunakan purata bergerak berturut-turut dalam tiga kitaran yang berbeza untuk menentukan arah trend pasaran dan mengenal pasti peluang perdagangan. Strategi ini juga menggabungkan indikator kekuatan relatif (RSI) dan analisis struktur grafik untuk memberikan isyarat masuk yang lebih tinggi. Strategi ini direka khas untuk sistem penarikan dinamik yang menyesuaikan diri secara automatik mengikut jenis pasaran yang berbeza (forex, emas dan cryptocurrency) dan dapat menyesuaikan diri dengan ciri-ciri turun naik kelas aset yang berbeza.
Strategi ini berpusat pada sistem RMA tiga peringkat dan mekanisme penilaian nilai terhad dinamik:
Sistem RMA tiga:
Mencari arah trend:
Sistem nilai terhad dinamik:
Syarat kemasukan:
Tetapan Stop Loss:
Jenis pasaran yang disesuaikan:
Mekanisme pengesahan pelbagai peringkat:
Kuantiti intensiti trend:
Melihat status trend:
Mekanisme Hentikan Kerosakan yang Bermakna:
Isyarat palsu di bawah pasaran yang bergolak:
Kepekaan Parameter:
Risiko Hentian Tetap:
Bergantung pada parameter pengesanan semula sejarah:
Lagging isyarat:
Pengoptimuman penyesuaian:
Peningkatan kawalan kerugian:
Pengoptimuman klasifikasi keadaan pasaran:
Penapis masa:
Sebahagian keuntungan dikunci:
Penapis penyesuaian:
Strategi perdagangan tren rata-rata bergerak triple-run bergerak adalah sistem perdagangan kuantitatif yang tersusun dengan baik, yang menyediakan mekanisme penyesuaian pasaran yang cerdas melalui tiga lapisan sistem RMA dan penilaian penurunan harga dinamik. Strategi ini menggabungkan kelebihan trend tracking, pengesahan pergerakan dan analisis struktur harga, dan dioptimumkan untuk ciri-ciri turun naik dalam pelbagai kelas aset.
Kelebihan utama strategi ini adalah mekanisme pengesahan bertingkat dan kesesuaian pasaran, yang dapat mengurangkan isyarat palsu dengan berkesan dan mengekalkan kestabilan dalam keadaan pasaran yang berbeza. Walau bagaimanapun, ia juga menghadapi risiko seperti isyarat palsu pasaran yang bergolak dan kepekaan parameter.
Strategi ini mempunyai banyak ruang untuk peningkatan dengan melaksanakan langkah-langkah penambahbaikan seperti pengiraan nilai terhad yang beradaptasi, meningkatkan mekanisme penangguhan kerugian dan pengoptimuman klasifikasi keadaan pasaran. Terutama, gabungan dengan fungsi penangguhan kerugian dan penguncian keuntungan ATR yang dinamik, dapat meningkatkan keupayaan pengurusan risiko dengan ketara dan menjadikan strategi ini stabil dalam pelbagai keadaan pasaran.
Bagi pelabur kuantitatif yang mengejar perdagangan trend, strategi ini menyediakan kerangka yang kukuh yang boleh disesuaikan dan dioptimumkan lebih lanjut mengikut keutamaan risiko peribadi dan prinsip pengurusan wang.
/*backtest
start: 2025-03-18 00:00:00
end: 2025-04-02 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=5
strategy("RMA Strategy - Weekly Dynamic Thresholds", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === User Inputs ===
fastLen = input.int(9, title="Fast RMA")
midLen = input.int(21, title="Mid RMA")
slowLen = input.int(50, title="Slow RMA")
rsiLen = input.int(8, title="RSI Length")
slPoints = input.float(10, title="Stop Loss (Points)")
// === Weekly Threshold Inputs ===
forexThreshold = input.float(0.12, title="Forex Weekly Avg RMA Distance (%)", step=0.01)
goldThreshold = input.float(0.15, title="Gold Weekly Avg RMA Distance (%)", step=0.01)
cryptoThreshold = input.float(0.25, title="Crypto Weekly Avg RMA Distance (%)", step=0.01)
// === Select Current Market Type ===
marketType = input.string("FOREX", title="Asset Class", options=["FOREX", "GOLD", "CRYPTO"])
// === Use appropriate threshold based on selected market
weeklyThreshold = marketType == "FOREX" ? forexThreshold :
marketType == "GOLD" ? goldThreshold :
cryptoThreshold // Default to crypto if somehow not matched
// === RMA Calculations ===
fastRMA = ta.rma(close, fastLen)
midRMA = ta.rma(close, midLen)
slowRMA = ta.rma(close, slowLen)
// === RSI Calculation ===
rsi = ta.rsi(close, rsiLen)
// === Trend Structure ===
bullish = fastRMA > midRMA and midRMA > slowRMA
bearish = fastRMA < midRMA and midRMA < slowRMA
// === Candle Break Conditions ===
longCandleBreak = close > high[1]
shortCandleBreak = close < low[1]
// === Distance and Trend Strength Check ===
distance = math.abs(fastRMA - midRMA)
distancePct = distance / midRMA * 100
isTrending = distancePct >= weeklyThreshold
// === Entry Conditions ===
longSignal = bullish and ta.crossover(close, midRMA) and rsi > 50 and longCandleBreak
shortSignal = bearish and ta.crossunder(close, midRMA) and rsi < 50 and shortCandleBreak
// === TP and SL Setup ===
takeProfitPriceLong = slowRMA
stopLossPriceLong = close - slPoints * syminfo.mintick
takeProfitPriceShort = slowRMA
stopLossPriceShort = close + slPoints * syminfo.mintick
// === Trade Execution ===
if (longSignal)
strategy.entry("Long", strategy.long)
strategy.exit("TP/SL Long", from_entry="Long", limit=takeProfitPriceLong, stop=stopLossPriceLong)
if (shortSignal)
strategy.entry("Short", strategy.short)
strategy.exit("TP/SL Short", from_entry="Short", limit=takeProfitPriceShort, stop=stopLossPriceShort)
// === Highlight RMAs Based on Trending Strength ===
fastColor = isTrending ? color.green : color.blue
midColor = isTrending ? color.red : color.blue
slowColor = color.orange
// === Plot RMAs ===
plot(fastRMA, color=fastColor, title="Fast RMA")
plot(midRMA, color=midColor, title="Mid RMA")
plot(slowRMA, color=slowColor, title="Slow RMA")