Strategi perdagangan kombinasi Dual SuperTrend dengan MACD menggabungkan dua indikator tren (SuperTrend 1 dan SuperTrend 2) dengan osilator momentum (MACD) untuk memberikan pendekatan sistematis untuk perdagangan tanpa pengambilan keputusan discretionary.
Keuntungan utama dari strategi ini:
Dual SuperTrend Validation - Menggunakan dua indikator SuperTrend dengan periode dan faktor ATR yang berbeda untuk mengkonfirmasi arah tren meminimalkan sinyal palsu.
Konfirmasi Momentum - Histogram MACD bertindak sebagai filter momentum untuk memvalidasi entri dan keluar.
Tujuan Aturan Masuk dan Keluar - Strategi menghasilkan sinyal beli dan jual yang jelas berdasarkan kombinasi tren dan momentum.
Manajemen Perdagangan Otomatis - Pengaturan bawaan untuk komisi, slippage dan modal awal mengotomatisasi proses eksekusi perdagangan.
Kustomisasi - Semua parameter dapat dengan mudah disesuaikan agar sesuai dengan kebutuhan perdagangan tertentu dan perubahan kondisi pasar.
Strategi ini beroperasi berdasarkan seperangkat aturan yang ditentukan, dengan fokus terutama pada arah tren yang dikonfirmasi oleh Dual SuperTrend dan momentum yang ditunjukkan oleh histogram MACD.
Long Entry: Baik SuperTrends bullish dan histogram MACD di atas nol.
Short Entry: Baik SuperTrends bearish dan histogram MACD di bawah nol.
Exit Long: Baik SuperTrend berubah menjadi bearish atau histogram MACD turun di bawah nol.
Exit Short: Baik SuperTrend menjadi bullish atau histogram MACD naik di atas nol.
Tingkat komisi tetap dan pengaturan slippage.
Manajemen risiko otomatis untuk mencegah paparan berlebihan.
Strategi ini memungkinkan perdagangan di pasar bullish dan bearish. Pengguna dapat memilih arah (panjang, pendek atau keduanya) yang selaras dengan pandangan pasar mereka.
Lebih baik diterapkan pada kerangka waktu di mana tren jelas.
Pengguna dapat menyesuaikan parameter SuperTrend dan MACD.
SuperTrend 1 Periode ATR: 10
SuperTrend 1 Faktor: 3,0
SuperTrend 2 Periode ATR: 20
SuperTrend 2 Faktor: 5.0
MACD Panjang Cepat: 12
MACD Slow Length: 26
Penghapusan Sinyal MACD: 9
Komisi: 0,1%
Pergeseran: 1 poin
Arah: Keduanya
Parameter default menawarkan pendekatan yang seimbang tetapi dapat disesuaikan.
Keuntungan utama dari strategi ini:
Menggunakan dua indikator SuperTrend secara signifikan mengurangi sinyal palsu dibandingkan dengan strategi indikator tunggal.
Histogram MACD menyaring sinyal perdagangan yang kurang ideal, meningkatkan akurasi entri.
Kombinasi indikator tren ganda memungkinkan keluar cepat ketika tren berubah, membantu mengendalikan penarikan.
Aturan masuk dan keluar yang didefinisikan dengan baik menghilangkan interpretasi subjektif dan kesalahan manusia.
Parameter yang dapat disesuaikan membuat strategi ini kuat untuk instrumen dan preferensi perdagangan yang berbeda.
Risiko potensial meliputi:
Pembalikan tren yang sering dapat menjadi tantangan untuk pengaturan indikator tren ganda.
Stop loss dapat tertinggal dalam pergerakan tren yang kuat, yang mengarah pada penarikan yang lebih besar.
Tidak bisa cepat beradaptasi dengan peristiwa angsa hitam, meningkatkan risiko penarikan.
Peluang optimalisasi:
Parameter tune yang halus untuk instrumen yang berbeda.
Tambahkan mekanisme stop loss seperti trailing stop untuk lebih mengontrol drawdowns.
Masukkan indikator lain untuk mengidentifikasi peristiwa mendadak dan mengurangi penarikan.
Singkatnya, strategi kombinasi Dual SuperTrend dan MACD menggabungkan kekuatan mengikuti tren dan analisis momentum. Dengan aturan yang jelas dan tingkat otomatisasi yang tinggi, ini dapat secara efektif menyaring kebisingan dan memberikan utilitas praktis yang kuat.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-25 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © PresentTrading //@version=5 // Define the strategy settings // strategy("Dual-Supertrend with MACD - Strategy [presentTrading]", overlay=true, precision=3, default_qty_type=strategy.cash, // commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, // currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000) // Trading Direction Dropdown tradeDirection = input.string("both", "Trading Direction", options=["long", "short", "both"]) // MACD Inputs fast_length = input(12, "Fast Length") slow_length = input(26, "Slow Length") signal_length = input(9, "Signal Smoothing") sma_source = input.string("EMA", "Oscillator MA Type", options=["SMA", "EMA"]) sma_signal = input.string("EMA", "Signal Line MA Type", options=["SMA", "EMA"]) // MACD Calculation fast_ma = sma_source == "SMA" ? ta.sma(close, fast_length) : ta.ema(close, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(close, slow_length) : ta.ema(close, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal // Input Parameters for Supertrend 1 atrPeriod1 = input(10, "ATR Length for Supertrend 1") factor1 = input.float(3.0, "Factor for Supertrend 1", step=0.01) // Supertrend Calculation for 1 [supertrend1, direction1] = ta.supertrend(factor1, atrPeriod1) // Input Parameters for Supertrend 2 atrPeriod2 = input(20, "ATR Length for Supertrend 2") factor2 = input.float(5.0, "Factor for Supertrend 2", step=0.01) // Supertrend Calculation for 2 [supertrend2, direction2] = ta.supertrend(factor2, atrPeriod2) // Combined Conditions isBullish = direction1 < 0 and direction2 < 0 and hist > 0 isBearish = direction1 > 0 and direction2 > 0 and hist < 0 exitLong = direction1 > 0 or direction2 > 0 or hist < 0 exitShort = direction1 < 0 or direction2 < 0 or hist > 0 // Strategy Entry and Exit based on Trading Direction if (tradeDirection == "both" or tradeDirection == "long") strategy.entry("Buy", strategy.long, when=isBullish) strategy.close("Buy", when=exitLong) if (tradeDirection == "both" or tradeDirection == "short") strategy.entry("Sell", strategy.short, when=isBearish) strategy.close("Sell", when=exitShort) bodyMiddle1 = plot((open + close) / 2, display=display.none) upTrend1 = plot(direction1 < 0 ? supertrend1 : na, "Up Trend", color = color.green, style=plot.style_linebr) downTrend1 = plot(direction1 < 0? na : supertrend1, "Down Trend", color = color.red, style=plot.style_linebr) fill(bodyMiddle1, upTrend1, color.new(color.green, 90), fillgaps=false) fill(bodyMiddle1, downTrend1, color.new(color.red, 90), fillgaps=false) bodyMiddle2 = plot((open + close) / 2, display=display.none) upTrend2 = plot(direction2 < 0 ? supertrend2 : na, "Up Trend", color = color.green, style=plot.style_linebr) downTrend2 = plot(direction2 < 0? na : supertrend2, "Down Trend", color = color.red, style=plot.style_linebr) fill(bodyMiddle2, upTrend2, color.new(color.green, 90), fillgaps=false) fill(bodyMiddle2, downTrend2, color.new(color.red, 90), fillgaps=false)