Strategi Breakout Saluran Dukungan dan Resistensi Dinamis adalah strategi yang ampuh untuk mengidentifikasi level support dan resistance utama dan sinyal breakout.
Strategi ini secara dinamis menghitung level support dan resistance berdasarkan pada bar kiri dan kanan yang ditentukan oleh pengguna. Hal ini memberikan fleksibilitas untuk beradaptasi dengan perubahan kondisi pasar. Strategi ini menghasilkan sinyal beli dan jual ketika harga penutupan melintasi level support dan resistance ini, bersama dengan konfirmasi volume. Selain itu, strategi ini mengintegrasikan eksekusi otomatis posisi LONG/SHORT berdasarkan kondisi support dan resistance yang ditentukan, merampingkan keseluruhan proses trading.
Secara khusus, strategi ini menghitung tingkat dukungan dan resistensi dinamis menggunakan fungsi ta.pivotlow dan ta.pivothigh. Garis dukungan dan resistensi ini digambarkan dalam warna merah dan biru pada grafik. Ketika harga penutupan melewati tingkat ini, tanda bentuk
Strategi ini memiliki keuntungan berikut:
Secara keseluruhan, strategi secara komprehensif mengidentifikasi, memvisualisasikan dan memanfaatkan titik-titik pemecahan dukungan dan resistensi utama, sangat memfasilitasi pedagang dalam memilih waktu perdagangan yang optimal dan secara signifikan meningkatkan peluang keberhasilan perdagangan.
Risiko potensial dari strategi ini terutama meliputi:
Risiko breakout yang tidak valid. Titik breakout dapat membentuk breakout palsu, yang menyebabkan kerugian yang tidak perlu. Hal ini dapat dikurangi dengan menetapkan persyaratan konfirmasi fluktuasi volume dan harga yang lebih ketat.
Risiko pengoptimalan parameter. Tingkat dukungan dan resistensi yang tidak akurat dapat dihitung jika batang kiri/kanan dll diatur tidak tepat. Bar kiri/kanan yang cocok harus dipilih sesuai dengan karakteristik perdagangan produk yang berbeda.
Risiko overoptimization. overoptimization parameter dapat menyebabkan overfit. backtesting dan validasi yang tepat harus dilakukan untuk menghindari overoptimization pada data terbatas.
Risiko biaya transaksi. Perdagangan yang sering dapat menyebabkan komisi yang lebih tinggi. Faktor pengambilan keuntungan atau cara lain untuk mengontrol frekuensi perdagangan harus dipertimbangkan.
Strategi dapat ditingkatkan dalam aspek berikut:
Tambahkan kondisi stop loss untuk mengendalikan kerugian tunggal.
Mengoptimalkan faktor mengambil keuntungan untuk menentukan titik mengambil keuntungan optimal.
Uji kombinasi parameter yang berbeda untuk menentukan parameter yang optimal.
Sesuaikan pengaturan batang kiri / kanan berdasarkan produk yang berbeda.
Tambahkan filter lain, misalnya volatilitas harga untuk mengukur probabilitas terobosan dengan lebih baik.
Cobalah indikator konfirmasi volume yang berbeda, misalnya volume tinggi.
Masukkan strategi atau indikator lain untuk mencapai integrasi yang lebih baik.
Strategi Breakout Saluran Dukungan dan Rintangan Dinamis memanfaatkan konsep dukungan dan resistensi dari analisis grafik teknis, bersama dengan analisis volume untuk mengkonfirmasi signifikansi breakout, untuk secara efektif mengungkap titik balik kritis di pasar. Desain antarmuka yang sederhana namun elegan, plot indikator dan sinyal mendorong hambatan teknis yang jauh lebih rendah. Sementara itu, pengaturan parameter yang dapat disesuaikan dan dapat diintegrasikan memudahkan untuk dimasukkan ke dalam strategi trader sendiri. Singkatnya, ini adalah strategi perdagangan kuantitatif yang komprehensif dan sangat praktis.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Support and Resistance channel with Breaks p5", shorttitle="Support and Resistance channel with Breaks [cryptoonchain]", overlay=true, max_bars_back=1000) // Input variables toggleBreaks = input(true, title="Show Breaks") leftBars = input(15, title="Left Bars") rightBars = input(15, title="Right Bars") volumeThresh = input(20, title="Volume Threshold") // Calculate pivot levels highUsePivot = fixnan(ta.pivothigh(leftBars, rightBars)[1]) lowUsePivot = fixnan(ta.pivotlow(leftBars, rightBars)[1]) // Plot resistance and support lines r1 = plot(highUsePivot, color=color.new(na(highUsePivot) ? na : #FF0000, 0), linewidth=3, offset=-(rightBars + 1), title="Resistance") s1 = plot(lowUsePivot, color=color.new(na(lowUsePivot) ? na : #233dee, 0), linewidth=3, offset=-(rightBars + 1), title="Support") // Volume % short = ta.ema(volume, 5) long = ta.ema(volume, 10) osc = 100 * (short - long) / long // Plot shapes for breaks with volume plotshape(toggleBreaks and ta.crossunder(close, lowUsePivot) and not (open - close < high - open) and osc > volumeThresh, title="Break", text='B', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, transp=0, size=size.tiny) plotshape(toggleBreaks and ta.crossover(close, highUsePivot) and not (open - low > close - open) and osc > volumeThresh, title="Break", text='B', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, transp=0, size=size.tiny) // Alert conditions alertcondition(ta.crossunder(close, lowUsePivot) and osc > volumeThresh, title="Support Broken", message="Support Broken") alertcondition(ta.crossover(close, highUsePivot) and osc > volumeThresh, title="Resistance Broken", message="Resistance Broken") // Strategy conditions with filter longCondition = low > highUsePivot and osc > volumeThresh shortCondition = high < lowUsePivot and osc > volumeThresh // Strategy entries strategy.entry("My Long Entry Id", strategy.long, when=longCondition) strategy.entry("My Short Entry Id", strategy.short, when=shortCondition)