Strategi dagangan gabungan Dual SuperTrend dengan MACD menggabungkan dua penunjuk trend (SuperTrend 1 dan SuperTrend 2) dengan pengayun momentum (MACD) untuk menyediakan pendekatan sistematik untuk dagangan tanpa pengambilan keputusan pertimbangan.
Kelebihan utama strategi ini:
Pengesahan SuperTrend Berganda - Menggunakan dua penunjuk SuperTrend dengan tempoh dan faktor ATR yang berbeza untuk mengesahkan arah trend meminimumkan isyarat palsu.
Pengesahan Momentum - Histogram MACD bertindak sebagai penapis momentum untuk mengesahkan kemasukan dan keluar.
Objektif Peraturan Masuk dan Keluar - Strategi menghasilkan isyarat beli dan jual yang jelas berdasarkan gabungan trend dan momentum.
Pengurusan Perdagangan Automatik - Tetapan terbina dalam untuk komisen, slippage dan modal awal mengotomatiskan proses pelaksanaan perdagangan.
Keupayaan untuk disesuaikan - Semua parameter boleh disesuaikan dengan mudah untuk memenuhi keperluan perdagangan tertentu dan keadaan pasaran yang berubah.
Strategi ini beroperasi di atas satu set peraturan yang ditakrifkan, memberi tumpuan terutamanya kepada arah trend yang disahkan oleh Dual SuperTrend dan momentum yang ditunjukkan oleh histogram MACD.
Long Entry: Baik SuperTrends bullish dan histogram MACD di atas sifar.
Entry Pendek: Kedua-dua SuperTrends menurun dan histogram MACD di bawah sifar.
Keluar Lama: Sama ada SuperTrend berubah menjadi menurun atau histogram MACD jatuh di bawah sifar.
Keluar Pendek: Sama ada SuperTrend menjadi bullish atau histogram MACD meningkat di atas sifar.
Kadar komisen tetap dan tetapan slippage.
Pengurusan risiko auto untuk mengelakkan pendedahan berlebihan.
Strategi ini membolehkan perdagangan di kedua-dua pasaran bullish dan bearish. Pengguna boleh memilih arah (panjang, pendek atau kedua-duanya) yang sejajar dengan pandangan pasaran mereka.
Yang terbaik digunakan pada jangka masa di mana trendnya jelas.
Pengguna boleh menyesuaikan parameter SuperTrend dan MACD.
SuperTrend 1 Tempoh ATR: 10
SuperTrend 1 Faktor: 3.0
SuperTrend 2 Tempoh ATR: 20
SuperTrend 2 Faktor: 5.0
MACD Panjang Cepat: 12
MACD Lambat: 26
Penghapusan Isyarat MACD: 9
Suruhanjaya: 0.1%
Penarikan: 1 mata
Arah: Kedua-duanya
Parameter lalai menawarkan pendekatan yang seimbang tetapi boleh disesuaikan.
Kelebihan utama strategi ini:
Menggunakan dua penunjuk SuperTrend mengurangkan isyarat palsu dengan ketara berbanding dengan strategi penunjuk tunggal.
Histogram MACD menapis isyarat perdagangan yang kurang ideal, meningkatkan ketepatan kemasukan.
Gabungan penunjuk trend dua membolehkan keluar dengan cepat apabila trend berubah, membantu mengawal pengeluaran.
Peraturan kemasukan dan keluar yang ditakrifkan dengan baik menghapuskan tafsiran subjektif dan kesilapan manusia.
Parameter yang boleh diselaraskan menjadikan strategi ini kukuh untuk instrumen dan keutamaan perdagangan yang berbeza.
Risiko yang berpotensi termasuk:
Peralihan trend yang kerap boleh menjadi cabaran untuk persediaan penunjuk trend dua.
Stop loss boleh tertinggal dalam pergerakan trend yang kuat, yang membawa kepada pengeluaran yang lebih besar.
Ia tidak boleh menyesuaikan diri dengan cepat dengan peristiwa black swan, meningkatkan risiko penarikan.
Peluang pengoptimuman
Parameter tune halus untuk instrumen yang berbeza.
Tambahkan mekanisme stop loss seperti trailing stop untuk mengawal pengeluaran lebih lanjut.
Masukkan penunjuk lain untuk mengenal pasti kejadian tiba-tiba dan mengurangkan pengeluaran.
Ringkasnya, strategi gabungan Dual SuperTrend dan MACD menggabungkan kekuatan trend berikut dan analisis momentum. Dengan peraturan yang jelas dan tahap automasi yang tinggi, ia dapat menapis bunyi bising dengan berkesan dan memberikan utiliti praktikal yang kuat. Tetapi kawalan penarikan dan pengoptimuman parameter perlu ditangani. Secara keseluruhan, ini adalah salah satu contoh terbaik strategi perdagangan trend yang sistematik.
/*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)