Dual SuperTrend dengan Strategi Trading Kombinasi MACD

Penulis:ChaoZhang, Tanggal: 2023-09-26 17:45:03
Tag:

Gambaran umum

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.

Cara Kerjanya

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.

Aturan Masuk

  • Long Entry: Baik SuperTrends bullish dan histogram MACD di atas nol.

  • Short Entry: Baik SuperTrends bearish dan histogram MACD di bawah nol.

Peraturan Keluar

  • 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.

Manajemen Perdagangan

  • Tingkat komisi tetap dan pengaturan slippage.

  • Manajemen risiko otomatis untuk mencegah paparan berlebihan.

Arah Perdagangan

Strategi ini memungkinkan perdagangan di pasar bullish dan bearish. Pengguna dapat memilih arah (panjang, pendek atau keduanya) yang selaras dengan pandangan pasar mereka.

Penggunaan

  • Lebih baik diterapkan pada kerangka waktu di mana tren jelas.

  • Pengguna dapat menyesuaikan parameter SuperTrend dan MACD.

Pengaturan default

  • 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

Keuntungan utama dari strategi ini:

  1. Validasi tren ganda meminimalkan sinyal palsu

Menggunakan dua indikator SuperTrend secara signifikan mengurangi sinyal palsu dibandingkan dengan strategi indikator tunggal.

  1. Filter momentum MACD meningkatkan akurasi

Histogram MACD menyaring sinyal perdagangan yang kurang ideal, meningkatkan akurasi entri.

  1. Pengendalian pengambilan yang efektif

Kombinasi indikator tren ganda memungkinkan keluar cepat ketika tren berubah, membantu mengendalikan penarikan.

  1. Tingkat otomatisasi yang tinggi, tidak perlu discretion

Aturan masuk dan keluar yang didefinisikan dengan baik menghilangkan interpretasi subjektif dan kesalahan manusia.

  1. Sangat dapat disesuaikan untuk penerapan yang lebih luas

Parameter yang dapat disesuaikan membuat strategi ini kuat untuk instrumen dan preferensi perdagangan yang berbeda.

Risiko dan Optimalisasi

Risiko potensial meliputi:

  1. Kesulitan dalam transisi tren dinamis

Pembalikan tren yang sering dapat menjadi tantangan untuk pengaturan indikator tren ganda.

  1. Pengendalian pengambilan terbatas dalam tren yang kuat

Stop loss dapat tertinggal dalam pergerakan tren yang kuat, yang mengarah pada penarikan yang lebih besar.

  1. Ketidakmampuan untuk bereaksi terhadap kejadian mendadak

Tidak bisa cepat beradaptasi dengan peristiwa angsa hitam, meningkatkan risiko penarikan.

Peluang optimalisasi:

  1. Parameter tune yang halus untuk instrumen yang berbeda.

  2. Tambahkan mekanisme stop loss seperti trailing stop untuk lebih mengontrol drawdowns.

  3. Masukkan indikator lain untuk mengidentifikasi peristiwa mendadak dan mengurangi penarikan.

Kesimpulan

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)

Lebih banyak