
Sistem gabungan strategi penapisan RSI dan SuperTrend adalah strategi perdagangan kuantitatif yang menggabungkan petunjuk teknikal RSI (indikasi yang agak kuat) dengan penapis trend SuperTrend. Fikiran teras strategi ini adalah “jangan menentang trend, dan jangan mengabaikan isyarat keletihan pergerakan”. Strategi ini berjalan pada jangka masa 45 minit, mencari isyarat pembalikan RSI yang lebih tinggi daripada RSI, tetapi hanya melakukan perdagangan apabila pergerakan harga selaras dengan arah trend yang disahkan oleh SuperTrend.
Logik operasi strategi ini adalah berdasarkan kepada gabungan RSI dan dua petunjuk SuperTrend:
Strategi ini menggunakan indikator SuperTrend untuk menentukan trend keseluruhan pasaran, kemudian menggunakan indikator RSI untuk mencari peluang untuk berbalik arah trend. Kaedah ini mengelakkan perdagangan berlawanan buta dan meningkatkan kualiti isyarat, terutamanya pada tahap turun naik yang tinggi.
Mekanisme penapisan komprehensif: Dengan menggabungkan keadaan overbought dan oversold RSI dengan penapis arah SuperTrend, strategi ini dapat menapis bunyi pasaran dengan berkesan dan memberikan isyarat masuk yang lebih berkualiti dengan mengekalkan kadar kemenangan yang lebih tinggi.
Kawalan risiko yang sempurna: Strategi menetapkan stop loss yang jelas ((1%) dan stop loss dinamik ((1.5%) untuk setiap perdagangan, nisbah pulangan risiko lebih baik daripada 1: 1.5, yang membantu pertumbuhan dana yang stabil dalam jangka panjang.
Maklum balas visual: Strategi ini mengandungi elemen visual carta yang jelas, termasuk kawasan latar belakang, garisan stop / stop dan trend band dalam masa nyata, reka bentuk ini meningkatkan kelajuan dan kejelasan membuat keputusan, memudahkan pedagang mengenali isyarat dengan cepat.
Beradaptasi dengan pasaran yang bergolak: Berbanding dengan strategi RSI tradisional, sistem ini tidak berbalik secara buta dalam keadaan pasaran apa pun, tetapi memberi tumpuan kepada menangkap pergerakan yang jelas dalam trend struktur, yang sangat sesuai untuk perdagangan pada tahap yang bergolak tinggi.
Pelaksanaan pengesanan semula yang dipercayai: Dalam ujian Bitcoin dalam jangka masa 45 minit, strategi menunjukkan keuntungan keseluruhan +213,885 USDT, 239 transaksi dilakukan, penarikan balik maksimum dikawal pada 15%, dan faktor keuntungan mencapai 1.12, yang menunjukkan prestasi yang cukup mantap.
Kegagalan prestasi pasaran goyah: Strategi ini direka terutamanya untuk pasaran trend, yang mungkin menghasilkan isyarat palsu yang kerap dalam situasi goyah yang menyeluruh atau berselang, yang menyebabkan kerugian berterusan. Disyorkan untuk menggunakan atau menambah mekanisme pengenalan struktur pasaran dalam situasi yang jelas untuk menyaring isyarat pasaran goyah.
Stop loss set risiko tetap: Stop loss tetap 1% mungkin terlalu kecil di beberapa pasaran yang bergelombang tinggi, menyebabkan ia dicetuskan terlalu awal; dan di pasaran yang bergelombang rendah, ia mungkin terlalu besar. Adalah disyorkan untuk menyesuaikan kadar stop loss mengikut dinamik pasaran yang bergelombang, seperti stop loss penyesuaian berdasarkan ATR.
Sensitiviti parameter: Siklus RSI dan penurunan, serta ATR dan pembolehubah SuperTrend mempunyai kesan yang ketara terhadap prestasi strategi. Perbezaan pasaran dan jangka masa mungkin memerlukan parameter yang berbeza, dan pengoptimuman berlebihan boleh menyebabkan risiko overfit.
Tanggapan perubahan trend yang terlewat: SuperTrend mempunyai keterlambatan tertentu sebagai indikator trend, dan mungkin tidak dapat menyesuaikan arah dalam masa yang tepat jika trend tiba-tiba berbalik, menyebabkan kerugian yang berpotensi. Kemampuan untuk mengoptimumkan tindak balas terhadap perubahan trend dapat dipertimbangkan dengan menggabungkan indikator trend yang lebih sensitif atau analisis tingkah laku harga.
Kekurangan pengesahan jumlah transaksi: Strategi sedia ada hanya bergantung pada indikator harga, tanpa mempertimbangkan perubahan jumlah transaksi, yang mungkin mengurangkan kebolehpercayaan isyarat. Disyorkan untuk menambah mekanisme pengesahan jumlah transaksi, meningkatkan kualiti isyarat masuk.
Integrasi analisis pelbagai bingkai masa: Pengesahan trend pada bingkai masa yang lebih tinggi (seperti 4 jam atau garis hari) boleh ditambah, memastikan arah perdagangan selaras dengan trend besar. Pendekatan “atas ke bawah” ini dapat meningkatkan peluang strategi secara signifikan, terutama di sekitar titik perubahan pasaran.
Reka bentuk parameter yang beradaptasi sendiri: boleh menyesuaikan RSI berdasarkan pergerakan kadar turun naik pasaran dengan nilai overbought dan oversold dan kelipatan SuperTrend. Sebagai contoh, dalam pasaran yang berfluktuasi tinggi, anda boleh meluaskan julat had RSI (seperti 30-70) dan dalam pasaran yang berfluktuasi rendah, anda boleh menyempit had (seperti 40-60) dengan mengira kadar turun naik sejarah dan menetapkan had dinamik.
Menambah analisis kuantiti transaksi: Mengintegrasikan indikator kuantiti transaksi ke dalam strategi untuk memastikan terdapat cukup penyertaan pasaran ketika isyarat berlaku. Sebagai contoh, jumlah transaksi yang diperlukan semasa RSI pecah lebih tinggi daripada purata N kitaran sebelumnya untuk menyaring pecah palsu dengan jumlah transaksi yang rendah.
Pengenalan struktur pasaran: penambahan komponen analisis struktur pasaran, seperti tahap sokongan / rintangan atau pengenalan bentuk harga, membantu strategi mengurangkan frekuensi dagangan di pasaran goyah, atau meningkatkan ketepatan masuk di pasaran yang sedang tren. Ini boleh dilakukan dengan menganalisis corak titik tinggi atau rendah atau menggunakan petunjuk struktur pasaran lain.
Pengurusan wang yang dioptimumkan: pelaksanaan pengurusan kedudukan yang dinamik, menyesuaikan saiz kedudukan untuk setiap urus niaga mengikut kekuatan isyarat, turun naik pasaran dan prestasi akaun. Sebagai contoh, anda boleh meningkatkan kedudukan secara beransur-ansur selepas keuntungan berturut-turut dan mengurangkan kedudukan selepas kerugian berturut-turut untuk melindungi wang dan mengoptimumkan pulangan.
Sistem gabungan strategi penapisan RSI dan SuperTrend adalah kerangka perdagangan yang cekap yang menggabungkan reversal momentum dan pengesahan trend. Dengan indikator RSI untuk menangkap isyarat reversal yang berpotensi, sambil menggunakan SuperTrend untuk memastikan arah perdagangan selaras dengan trend utama, meningkatkan kualiti isyarat masuk dengan berkesan.
Strategi ini berfungsi dengan baik di pasaran yang jelas bercenderungan, sesuai untuk peniaga yang mencari isyarat masuk mekanisasi, dan menyediakan asas yang kukuh untuk perdagangan automatik. Walau bagaimanapun, strategi ini mungkin tidak berfungsi dengan baik di pasaran yang bergolak, dan perlu berhati-hati dengan sensitiviti parameter dan tindak balas yang terlewat terhadap perubahan trend.
Arahan pengoptimuman masa depan termasuklah integrasi analisis pelbagai kerangka masa, reka bentuk parameter penyesuaian, penambahan pengesahan jumlah transaksi, meningkatkan keupayaan untuk mengenal pasti struktur pasaran dan menyempurnakan sistem pengurusan dana. Peningkatan ini akan meningkatkan lagi strategi yang kuat dan bersesuaian, yang membolehkan ia kekal berdaya saing dalam pelbagai persekitaran pasaran.
Dengan pemahaman yang mendalam dan penerapan strategi ini, peniaga dapat menangkap peluang perdagangan berkualiti tinggi di pasaran dengan berkesan dan memperoleh keuntungan perdagangan yang stabil dalam jangka panjang sambil mengekalkan kawalan risiko.
/*backtest
start: 2024-04-21 00:00:00
end: 2025-04-20 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=5
strategy("RSI + SuperTrend Filter Strategy (45m BTCUSDT)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs
rsiPeriod = input.int(14, "RSI Period")
rsiOverbought = input.int(65, "RSI Overbought")
rsiOversold = input.int(35, "RSI Oversold")
tpPerc = input.float(1.5, "TP %") / 100
slPerc = input.float(1.0, "SL %") / 100
atrPeriod = input.int(10, "SuperTrend ATR Period")
atrMult = input.float(3.0, "SuperTrend Multiplier")
// === RSI & SuperTrend
rsi = ta.rsi(close, rsiPeriod)
atr = ta.atr(atrPeriod)
hl2 = (high + low) / 2
upperBand = hl2 + atrMult * atr
lowerBand = hl2 - atrMult * atr
var int superDir = 1
superDir := close > lowerBand ? 1 : close < upperBand ? -1 : superDir[1]
isBull = superDir == 1
isBear = superDir == -1
// === Signals
longSignal = ta.crossover(rsi, rsiOversold) and isBull
shortSignal = ta.crossunder(rsi, rsiOverbought) and isBear
// === Entry/Exit
strategy.entry("Long", strategy.long, when=longSignal)
strategy.entry("Short", strategy.short, when=shortSignal)
longTP = close * (1 + tpPerc)
longSL = close * (1 - slPerc)
shortTP = close * (1 - tpPerc)
shortSL = close * (1 + slPerc)
strategy.exit("Long Exit", from_entry="Long", limit=longTP, stop=longSL)
strategy.exit("Short Exit", from_entry="Short", limit=shortTP, stop=shortSL)
// === Visuals — Beautiful Chart Enhancements ===
// SuperTrend Line
plot(superDir == 1 ? lowerBand : na, title="Bull Trend", color=color.new(color.green, 10), linewidth=2, style=plot.style_line)
plot(superDir == -1 ? upperBand : na, title="Bear Trend", color=color.new(color.red, 10), linewidth=2, style=plot.style_line)
// Buy/Sell Tags
plotshape(longSignal, title="BUY", location=location.belowbar, style=shape.labelup,
text="BUY", size=size.small, textcolor=color.black, color=color.new(color.lime, 0))
plotshape(shortSignal, title="SELL", location=location.abovebar, style=shape.labeldown,
text="SELL", size=size.small, textcolor=color.white, color=color.new(color.red, 0))
// Directional Arrows
plotarrow(longSignal ? 1 : na, colorup=color.new(color.green, 0), offset=-1)
plotarrow(shortSignal ? -1 : na, colordown=color.new(color.red, 0), offset=-1)
// Background Highlight
bgcolor(strategy.position_size > 0 ? color.new(color.green, 90) : na, title="Long BG")
bgcolor(strategy.position_size < 0 ? color.new(color.red, 90) : na, title="Short BG")
// TP & SL Lines
plot(strategy.position_size > 0 ? longTP : na, color=color.new(color.green, 0), title="Long TP", linewidth=1, style=plot.style_linebr)
plot(strategy.position_size > 0 ? longSL : na, color=color.new(color.red, 0), title="Long SL", linewidth=1, style=plot.style_linebr)
plot(strategy.position_size < 0 ? shortTP : na, color=color.new(color.green, 0), title="Short TP", linewidth=1, style=plot.style_linebr)
plot(strategy.position_size < 0 ? shortSL : na, color=color.new(color.red, 0), title="Short SL", linewidth=1, style=plot.style_linebr)
// Entry Price Line
plot(strategy.position_size != 0 ? strategy.position_avg_price : na, title="Entry Price", color=color.gray, style=plot.style_linebr, linewidth=1)
// === Optional: Light trade zone shading
longBg = longSignal ? color.new(color.green, 85) : na
shortBg = shortSignal ? color.new(color.red, 85) : na
bgcolor(longBg, title="Long Signal Highlight")
bgcolor(shortBg, title="Short Signal Highlight")
// === Alerts
alertcondition(longSignal, title="BUY Signal", message="RSI+Trend BUY Signal on {{ticker}}")
alertcondition(shortSignal, title="SELL Signal", message="RSI+Trend SELL Signal on {{ticker}}")