
Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan pelbagai petunjuk teknikal, yang menggabungkan indeks yang agak kuat (RSI), penunjuk penyebaran runcit rata-rata bergerak (MACD), penunjuk supertrend ganda (Supertrend) dan mekanisme pengurusan risiko berdasarkan amplitudo pergerakan sebenar (ATR). Strategi ini mengesahkan melalui pelbagai tahap penunjuk, membina rangka kerja perdagangan yang dapat mengikuti trend dan menangkap perubahan momentum, dengan berkesan menyaring kebisingan pasaran, mengurangkan risiko isyarat teras palsu. Logiknya adalah terlebih dahulu mengesahkan trend dominan pasaran melalui double overtrend (faktor 2 dan 7) dan kemudian mengesahkan arah trend melalui persimpangan MACD dan perubahan pergerakan, dan akhirnya menggunakan RSI untuk mencari kawasan overbought / oversold untuk mencari peluang terbaik, sambil menggunakan mekanisme kawalan risiko dan pemantauan kerugian keseluruhan berdasarkan ATR.
Mekanisme operasi strategi ini adalah berdasarkan empat komponen utama: pengenalan trend, pengesahan momentum, syarat kemasukan dan pengurusan risiko.
Pengenalan Trend: Menggunakan penunjuk overtrend berganda ((faktor 2 dan 7) sebagai penapis trend. Penunjuk overtrend direka untuk menjejaki trend dominan pasaran dan menyaring bunyi pasaran. Dengan menggunakan penunjuk overtrend dengan dua parameter yang berbeza, strategi yang memerlukan kedua-dua penunjuk untuk mengesahkan arah yang sama pada masa yang sama, meningkatkan kebolehpercayaan isyarat trend.
Pengesahan kuasa: Menggunakan MACD ((5,13,9) untuk mengesan pembalikan trend awal. Strategi meminta persilangan garis MACD dengan garis isyarat sebagai pengesahan lapisan pertama, dan meminta MACD berlanjutan ((naik atau turun) sebagai pengesahan lapisan kedua, memastikan untuk menangkap perubahan dinamik sebenar dan bukan turun naik jangka pendek.
Syarat kemasukan:
Pengurusan Risiko:
Kod teras strategi mewujudkan fungsi overtrend yang disesuaikan untuk mengira tahap dan arah overtrend, dan menggabungkan pengiraan dinamik RSI dan MACD untuk membentuk sistem isyarat yang lengkap. Semasa menjalankan perdagangan, strategi menetapkan sasaran berhenti, keuntungan dan mengesan berhenti, untuk pengurusan risiko yang komprehensif.
Mekanisme pengesahan pelbagai peringkat: Dengan meminta beberapa penunjuk untuk disahkan pada masa yang sama, isyarat palsu dikurangkan dengan ketara. Pengesahan trend MACD dan penapis overbought / oversold RSI berfungsi bersama untuk memastikan hanya masuk pada masa kebarangkalian yang tinggi.
Pengurusan risiko penyesuaian: Semua sasaran hentian dan keuntungan adalah berdasarkan pada penyesuaian dinamik ATR, membolehkan strategi menyesuaikan diri secara automatik dengan keadaan dan turun naik pasaran yang berbeza.
Rasio risiko dan ganjaran yang seimbangStrategi menetapkan sasaran keuntungan sebanyak 2.5 kali ATR dan stop loss sebanyak 1 kali ATR, memberikan nisbah pulangan risiko asas sebanyak 2.5:1, sesuai dengan standard pengurusan risiko profesional.
Kebolehan beradaptasiOleh kerana kumpulan penunjuk memberi tumpuan kepada pergerakan harga dan ciri-ciri turun naik, dan bukan kepada corak pasaran tertentu, strategi ini boleh digunakan untuk pelbagai jenis perdagangan dan tempoh masa.
Pengekalan keuntungan yang berterusanDengan ATR, strategi ini dapat mengunci keuntungan yang telah dicapai secara beransur-ansur sambil mengekalkan perdagangan terbuka untuk menangkap trend yang berterusan, mengimbangi risiko keuntungan awal dan kelebihan.
Mengelakkan perdagangan berlebihanSyarat kemasukan yang ketat dapat mengelakkan perdagangan berlebihan di pasaran yang tidak jelas atau turun naik, mengekalkan penggunaan dana yang cekap dan mengurangkan kos perdagangan.
Risiko pembalikan arah aliranWalaupun terdapat banyak lapisan pengesahan, strategi mungkin tidak dapat muncul dalam masa yang tepat dalam keadaan pasaran yang berubah-ubah dengan cepat atau bergolak secara melampau. Penyelesaian adalah dengan menambah penapis keadaan pasaran, mengurangkan saiz kedudukan atau menangguhkan perdagangan apabila turun naik melebihi nilai rendah sejarah.
Risiko Pengoptimuman ParameterPrestasi strategi sangat bergantung pada parameter RSI, MACD dan overtrend. Pengoptimuman berlebihan boleh menyebabkan penyesuaian kurva dan penurunan prestasi masa depan.
Risiko kecairan: Dalam pasaran yang kurang kecairan, penutupan asas ATR boleh menyebabkan peningkatan slippage atau harga pelaksanaan yang tidak sesuai. Penyelesaian adalah dengan memperluaskan jarak penutupan dengan sewajarnya dalam pasaran yang kurang kecairan atau menambah perlindungan tambahan.
Risiko kerugian berterusanWalaupun terdapat syarat kemasukan yang ketat, pasaran mungkin menghasilkan isyarat palsu secara berturut-turut dalam tempoh tertentu, yang menyebabkan satu siri kerugian kecil. Masalah ini dapat dikurangkan dengan melaksanakan had kerugian maksimum berturut-turut dan menyesuaikan skala kedudukan secara dinamik.
Terlalu banyak bergantung kepada petunjuk teknikalStrategi ini hanya berdasarkan kepada indikator teknikal dan mengabaikan asas dan sentimen pasaran. Kaedah teknikal semata-mata mungkin tidak berkesan apabila berlaku peristiwa berita utama atau perubahan struktur pasaran.
Parameter penunjuk menyesuaikan diriIa boleh mewujudkan mekanisme penyesuaian parameter dinamik berdasarkan turun naik pasaran atau kekuatan trend, seperti meningkatkan paras overbought dan oversold RSI apabila turun naik turun naik, dan mengetatkan parameter overtrend apabila kekuatan trend melemah. Ini akan meningkatkan kemampuan strategi untuk menyesuaikan diri dengan kitaran pasaran yang berbeza.
Pengelompokan model pasaran: Tambah modul pengenalan corak pasaran, membezakan pasaran trend, pasaran goyah dan pasaran peralihan, menggunakan set parameter dan peraturan pengurusan risiko yang berbeza untuk keadaan pasaran yang berbeza. Sebagai contoh, kelonggaran syarat kemasukan di pasaran yang jelas, meningkatkan mekanisme penapisan di pasaran goyah.
Penapis masa: Memperkenalkan mekanisme penapisan masa berdasarkan aktiviti pasaran, mengelakkan masa-masa kelembapan rendah yang diketahui dan masa buka / tutup yang bergelombang tinggi, meningkatkan kualiti isyarat dan kecekapan pelaksanaan.
Pembaikan dinamik risiko: Mencapai penyesuaian risiko dinamik berdasarkan prestasi akaun dan status keuntungan / kerugian berturut-turut, mengurangkan saiz kedudukan selepas kerugian berturut-turut, meningkatkan risiko secara beransur-ansur selepas keuntungan berturut-turut, mengoptimumkan kecekapan pengurusan wang.
Sistem berat multi-indikatorMembangunkan sistem penarafan berat indikator untuk memberi berat kepada pelbagai indikator mengikut keadaan pasaran yang berbeza, meningkatkan ketepatan keputusan. Sebagai contoh, meningkatkan berat RSI dalam keadaan bergelombang tinggi, meningkatkan berat indikator super trend dalam pasaran yang kuat.
Perpaduan kuantiti: Mengintegrasikan mekanisme pengesahan jumlah urus niaga, yang memerlukan harga pecah yang disertai dengan peningkatan jumlah urus niaga, untuk meningkatkan lagi kebolehpercayaan isyarat dan mengurangkan risiko pecah palsu.
Strategi gabungan dinamik trend pelbagai indikator membina sistem perdagangan yang seimbang dan cekap dengan mengintegrasikan RSI, MACD, dan penunjuk super trend ganda. Kelebihan utama strategi ini adalah mekanisme pengesahan bertingkat dan sistem pengurusan risiko penyesuaian berdasarkan turun naik, yang secara berkesan mengurangkan isyarat palsu dan memberikan ciri-ciri pulangan risiko yang munasabah.
Strategi ini paling sesuai untuk pedagang jangka menengah dan panjang, terutamanya para pelabur yang memberi perhatian kepada pengurusan risiko dan mencari perdagangan berkemungkinan tinggi dalam trend yang jelas. Dengan melaksanakan arah pengoptimuman yang disyorkan, terutamanya penyesuaian parameter penunjuk dan klasifikasi model pasaran, strategi ini dapat meningkatkan lagi kestabilan dan kesesuaian strategi, menjadikannya kompetitif dalam pelbagai persekitaran pasaran.
/*backtest
start: 2024-04-03 00:00:00
end: 2025-04-02 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=6
strategy("Enhanced RSI-MACD-Supertrend Strategy", overlay=true)
// 🔹 User Inputs
rsiLength = input.int(14, title="RSI Length")
macdFast = input.int(5, title="MACD Fast Length") // Updated
macdSlow = input.int(13, title="MACD Slow Length") // Updated
macdSignal = input.int(9, title="MACD Signal Length") // Updated
atrLength = input.int(14, title="ATR Length")
atrSLMultiplier = input.float(1, title="ATR Multiplier for Stop Loss") // Updated
atrBETrigger = input.float(1, title="Move SL to Breakeven at X ATR") // Updated
atrTPMultiplier = input.float(2.5, title="Take Profit at X ATR")
atrTrailMultiplier = input.float(1, title="Trailing Stop ATR Multiplier") // Updated
supertrendFactor1 = input.float(2, title="Supertrend Factor 1") // Updated
supertrendFactor2 = input.float(7, title="Supertrend Factor 2") // Updated
supertrendLength = input.int(9, title="Supertrend Length")
// 🔹 Indicator Calculations
rsi = ta.rsi(close, rsiLength)
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
atr = ta.atr(atrLength)
// 🔹 Custom Supertrend Function
supertrend(_factor, _length) =>
atr_ = ta.atr(_length)
src = hl2
up = src - _factor * atr_
down = src + _factor * atr_
var trend = 0.0
trend := na(trend[1]) ? up : (trend[1] > up ? math.max(up, trend[1]) : math.min(down, trend[1]))
direction = trend == up ? 1 : -1
[trend, direction]
// 🔹 Apply Dual Supertrend
[supertrend1, direction1] = supertrend(supertrendFactor1, supertrendLength)
[supertrend2, direction2] = supertrend(supertrendFactor2, supertrendLength)
// 🔹 MACD Momentum Confirmation
isMacdRising = macdLine > macdLine[1] and macdLine[1] > macdLine[2]
isMacdFalling = macdLine < macdLine[1] and macdLine[1] < macdLine[2]
// 🔹 Entry Conditions (Both Supertrends Must Confirm)
longCondition = rsi < 35 and macdLine > signalLine and isMacdRising and direction1 == 1 and direction2 == 1
shortCondition = rsi > 65 and macdLine < signalLine and isMacdFalling and direction1 == -1 and direction2 == -1
// 🔹 ATR-Based Exit Conditions
longStopLoss = close - (atrSLMultiplier * atr)
shortStopLoss = close + (atrSLMultiplier * atr)
longTakeProfit = close + (atrTPMultiplier * atr)
shortTakeProfit = close - (atrTPMultiplier * atr)
// Move SL to Breakeven
longBreakEven = close + (atrBETrigger * atr)
shortBreakEven = close - (atrBETrigger * atr)
// Trailing Stop Loss (Convert to Points)
longTrailingStop = atrTrailMultiplier * atr
shortTrailingStop = atrTrailMultiplier * atr
// 🔹 Execute Trades
if longCondition
strategy.entry("Long", strategy.long)
if shortCondition
strategy.entry("Short", strategy.short)
strategy.exit("Long Exit", from_entry="Long", stop=longStopLoss, limit=longTakeProfit, trail_points=longTrailingStop)
strategy.exit("Short Exit", from_entry="Short", stop=shortStopLoss, limit=shortTakeProfit, trail_points=shortTrailingStop)
// 🔹 Plot Buy/Sell Signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY", text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL", text="SELL")
// 🔹 Alerts for Automation
alertcondition(longCondition, title="BUY Alert", message="BUY Signal for Delta Exchange")
alertcondition(shortCondition, title="SELL Alert", message="SELL Signal for Delta Exchange")