Strategi Dual SuperTrend adalah strategi perdagangan kuantitatif yang menggabungkan sistem saluran SuperTrend ganda. Hal ini menghitung volatilitas rentang yang sebenarnya dan membangun saluran dua band untuk memantau terobosan harga, memungkinkan mengikuti tren dan perdagangan pembalikan.
Strategi Dual SuperTrend berasal dari indikator SuperTrend. SuperTrend terdiri dari band atas dan bawah untuk menentukan tren harga dan level support/resistance utama. Dual SuperTrend membangun dua saluran di atasnya: saluran konsolidasi dan saluran pemecahan.
Strategi ini pertama-tama menghitung rentang sebenarnya dan rentang sebenarnya rata-rata. kemudian menghitung band dasar berdasarkan panjang dan parameter pengganda. selanjutnya, membangun saluran pemecahan jika harga menerobos band dasar. sistem dual-channel dengan demikian ditetapkan.
Dalam struktur dual-channel, sinyal perdagangan dihasilkan ketika harga melintasi saluran yang berbeda:
Pemantauan dual-channel memungkinkan mengikuti tren dan menangkap pembalikan.
Strategi Dual SuperTrend dengan sistem dual-channel memiliki keuntungan berikut:
Strategi Dual SuperTrend juga memiliki risiko berikut:
Risiko dapat dikurangi dengan menyesuaikan rentang parameter, menambahkan filter, mengendalikan ukuran posisi, dll.
Strategi Dual SuperTrend dapat dioptimalkan dalam aspek berikut:
Optimasi lebih lanjut dapat meningkatkan Fitting Parameter dan Walk Forward Analysis untuk kinerja yang lebih kuat.
Strategi Dual SuperTrend memanfaatkan mekanisme dual-channel untuk mengikuti tren dan menangkap pembalikan. Strategi perdagangan yang stabil dapat dikembangkan melalui optimasi parameter, tetapi keterbatasan ada. Addons kontrol risiko diperlukan. Secara keseluruhan, Dual SuperTrend memberikan kerangka kerja yang solid untuk strategi perdagangan kuantitatif jangka pendek.
/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Double Supertrend Strategy", overlay=true) // Define your parameters length = input(10, title="Length") multiplier = input(3, title="Multiplier") // Calculate the True Range and Average True Range trueRange = max(high - low, max(abs(high - close[1]), abs(low - close[1]))) averageTrueRange = sma(trueRange, length) // Calculate the basic upper and lower bands basicUpperBand = hl2 + (multiplier * averageTrueRange) basicLowerBand = hl2 - (multiplier * averageTrueRange) // Calculate the final upper and lower bands finalUpperBand = basicUpperBand finalLowerBand = basicLowerBand finalUpperBand := close[1] > finalUpperBand[1] ? max(basicUpperBand, finalUpperBand[1]) : basicUpperBand finalLowerBand := close[1] < finalLowerBand[1] ? min(basicLowerBand, finalLowerBand[1]) : basicLowerBand // Determine if we're currently in an uptrend or downtrend uptrend = close > finalLowerBand[1] downtrend = close < finalUpperBand[1] // Plot the bands plot(uptrend ? finalUpperBand : na, color=color.green, linewidth=2) plot(downtrend ? finalLowerBand : na, color=color.red, linewidth=2) // Define your conditions for entering and exiting trades if (uptrend) strategy.entry("Buy", strategy.long) else if (downtrend) strategy.entry("Sell", strategy.short)