
Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan beberapa indikator teknis, terutama kombinasi indeks relatif kuat (RSI), indikator dispersi akhir rata-rata bergerak (MACD), indikator supertrend ganda (Supertrend) dan mekanisme manajemen risiko berdasarkan amplitudo pergerakan nyata (ATR). Strategi ini, melalui pengakuan indikator multi-tingkat, membangun kerangka perdagangan yang dapat melacak tren dan menangkap konversi momentum, secara efektif menyaring kebisingan pasar dan mengurangi risiko sinyal inti palsu. Logikanya adalah untuk mengkonfirmasi tren dominan pasar terlebih dahulu melalui double overtrend (faktor 2 dan 7).
Mekanisme operasi strategi ini didasarkan pada empat komponen utama: identifikasi tren, konfirmasi momentum, persyaratan masuk, dan manajemen risiko.
Identifikasi tren: Menggunakan indikator supertrend ganda (faktor 2 dan 7) sebagai filter tren. Indikator supertrend dirancang untuk melacak tren yang dominan di pasar dan memfilter kebisingan pasar. Dengan menggunakan indikator supertrend dengan dua parameter yang berbeda, strategi yang mengharuskan kedua indikator untuk mengkonfirmasi arah yang sama secara bersamaan, meningkatkan keandalan sinyal tren secara signifikan.
Konfirmasi momentum: Menggunakan MACD ((5,13,9) untuk mendeteksi pembalikan tren awal. Strategi meminta persilangan garis MACD dengan garis sinyal sebagai konfirmasi lapisan pertama, dan meminta MACD berlanjut ((naik atau turun) sebagai konfirmasi lapisan kedua, untuk memastikan menangkap perubahan dinamika yang sebenarnya dan bukan fluktuasi jangka pendek.
Syarat masuk:
Manajemen Risiko:
Kode inti dari strategi ini mengimplementasikan fungsi overtrend yang dapat disesuaikan untuk menghitung tingkat dan arah overtrend, dan menggabungkan perhitungan dinamis RSI dan MACD untuk membentuk sistem sinyal yang lengkap. Saat melakukan perdagangan, strategi ini secara bersamaan menetapkan tujuan stop loss, profit, dan tracking stop loss untuk manajemen risiko yang komprehensif.
Mekanisme konfirmasi multi-lapisan: Dengan meminta beberapa indikator untuk dikonfirmasi secara bersamaan, sinyal palsu berkurang secara signifikan. Double overtrend, MACD trend confirmation dan RSI overbought/oversold filter bekerja sama untuk memastikan hanya masuk pada saat probabilitas tinggi.
Adaptasi Manajemen Risiko: Semua target stop loss dan profit didasarkan pada penyesuaian dinamis ATR, sehingga strategi dapat secara otomatis beradaptasi dengan lingkungan pasar dan volatilitas yang berbeda.
Rasio risiko-pengembalian yang seimbangStrategi ini menetapkan target laba 2,5 kali ATR dan stop loss 1 kali ATR, memberikan rasio risiko-pengembalian dasar 2.5:1, sesuai dengan standar manajemen risiko profesional.
Adaptasi multi-pasarStrategi ini dapat diterapkan pada berbagai jenis perdagangan dan periode waktu karena portofolio indikator berfokus pada pergerakan harga dan karakteristik fluktuasi, bukan pada model pasar tertentu.
Penguncian laba berkelanjutanDengan ATR, strategi dapat mengunci keuntungan yang telah dicapai secara bertahap sambil menjaga perdagangan tetap terbuka untuk menangkap perpanjangan tren, menyeimbangkan antara keuntungan prematur dan risiko kepemilikan berlebihan.
Hindari Perdagangan Terlalu BanyakSyarat masuk yang ketat dapat secara efektif mencegah overtrading di pasar horizontal atau saat fluktuasi tidak jelas, menjaga pemanfaatan dana yang efisien dan mengurangi biaya transaksi.
Risiko pembalikan trenMeskipun ada beberapa lapisan konfirmasi, dalam situasi pasar yang berbalik cepat atau bergejolak ekstrem, strategi mungkin tidak dapat muncul dalam waktu yang tepat. Solusinya adalah dengan menambahkan filter lingkungan pasar, mengurangi ukuran posisi atau menghentikan perdagangan jika volatilitas melampaui level terendah historis.
Risiko Optimasi Parameter: Kinerja strategi sangat bergantung pada pengaturan parameter RSI, MACD, dan super trend. Optimasi berlebihan dapat menyebabkan penyesuaian kurva dan penurunan kinerja di masa depan.
Risiko likuiditas: Dalam pasar yang kurang likuiditas, ATR dasar stop dapat menyebabkan kenaikan slippage atau harga yang tidak ideal untuk dilakukan. Solusi adalah dengan memperluas jarak stop yang tepat atau menambahkan penyangga tambahan di pasar yang kurang likuiditas.
Risiko kerugian berkelanjutan: Bahkan dengan persyaratan masuk yang ketat, pasar dapat menghasilkan sinyal palsu secara berturut-turut pada periode tertentu, yang menyebabkan serangkaian kerugian kecil. Masalah ini dapat diredakan dengan menerapkan batasan kerugian maksimum berturut-turut dan penyesuaian skala posisi secara dinamis.
Terlalu mengandalkan indikator teknisStrategi ini sepenuhnya didasarkan pada indikator teknis, mengabaikan faktor fundamental dan sentimen pasar. Metode murni teknis mungkin tidak efektif ketika terjadi peristiwa berita besar atau perubahan struktur pasar. Disarankan untuk mengintegrasikan filter fundamental atau kalender peristiwa penting untuk menghindari risiko semacam itu.
Parameter indikator beradaptasiStrategi saat ini menggunakan indikator parameter tetap. Ada mekanisme penyesuaian parameter dinamis yang dapat dilakukan berdasarkan volatilitas pasar atau kekuatan tren, seperti meningkatkan titik terendah RSI saat volatilitas meningkat, dan memperketat parameter overtrend saat kekuatan tren melemah. Ini akan secara signifikan meningkatkan kemampuan strategi untuk beradaptasi dengan siklus pasar yang berbeda.
Klasifikasi model pasar: Menambahkan modul identifikasi pola pasar, membedakan pasar tren, pasar goyangan dan pasar transisi, menerapkan set parameter dan aturan manajemen risiko yang berbeda untuk kondisi pasar yang berbeda. Misalnya, meringankan persyaratan masuk di pasar tren yang jelas, meningkatkan mekanisme penyaringan di pasar goyangan.
Filter waktuIntroduksi mekanisme penyaringan waktu berdasarkan aktivitas pasar, menghindari periode likuiditas rendah yang diketahui dan periode buka/tutup yang berfluktuasi tinggi, meningkatkan kualitas sinyal dan efisiensi pelaksanaan.
Perubahan dinamika risiko: Mendapatkan penyesuaian risiko dinamis berdasarkan kinerja akun dan status keuntungan / kerugian berturut-turut, mengurangi ukuran posisi setelah kerugian berturut-turut, secara bertahap meningkatkan risiko setelah keuntungan berturut-turut, mengoptimalkan efisiensi manajemen dana.
Sistem berat multi-indikator: Menciptakan sistem penilaian indeks berat yang memberikan berat pada indikator yang berbeda sesuai dengan kondisi pasar yang berbeda, meningkatkan akurasi keputusan. Misalnya, meningkatkan berat RSI dalam kondisi berfluktuasi tinggi, meningkatkan berat indikator overtrend di pasar yang sedang tren.
Kombinasi kuantitas dan harga: Mengintegrasikan mekanisme pengesahan volume transaksi, yang mengharuskan harga terobosan disertai dengan peningkatan volume transaksi, lebih meningkatkan keandalan sinyal dan mengurangi risiko terobosan palsu.
Strategi integrasi dinamika tren multi-indikator membangun sistem perdagangan yang seimbang dan efisien dengan mengintegrasikan RSI, MACD, dan indikator super-trend ganda. Keuntungan utama dari strategi ini adalah mekanisme konfirmasi multi-tingkat dan sistem manajemen risiko adaptasi berdasarkan volatilitas, yang secara efektif mengurangi sinyal palsu dan memberikan karakteristik pengembalian risiko yang masuk akal.
Strategi ini paling cocok untuk pedagang jangka menengah dan panjang, terutama bagi investor yang berfokus pada manajemen risiko dan mencari untuk melakukan perdagangan probabilitas tinggi dalam tren yang jelas. Dengan menerapkan arah optimasi yang disarankan, terutama penyesuaian parameter indikator dan klasifikasi model pasar, strategi dapat ditingkatkan lebih lanjut kehandalan dan adaptasi, sehingga tetap kompetitif dalam berbagai lingkungan pasar.
/*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")