Strategi Perdagangan Penembusan Volatiliti bertujuan untuk menangkap penembusan harga yang disebabkan oleh peningkatan turun naik pasaran. Strategi ini menggunakan penunjuk Julat Benar Purata (ATR) untuk mengukur turun naik aset dalam tempoh tertentu. Isyarat panjang dan pendek dihasilkan apabila harga pecah di atas atau di bawah dua tahap yang ditentukan oleh ATR.
Strategi ini mula-mula mengira ATR dalam tempoh yang dipilih. Ia kemudian menggunakan ATR untuk mengira tahap pecah atas dan bawah. Apabila harga penutupan memecahkan di atas tahap atas, isyarat panjang dihasilkan. Apabila harga penutupan memecahkan di bawah tahap bawah, isyarat pendek dihasilkan. Untuk mengesahkan isyarat lebih lanjut, bar semasa perlu ditutup untuk bahagian badannya.
Apabila harga penutupan memecahkan tahap atas atau bawah, zon pecah diisi dengan warna yang menunjukkan arah pecah. Ciri ini membantu dengan cepat mengenal pasti arah trend yang berlaku.
Apabila isyarat panjang dihasilkan dan tidak ada kedudukan semasa, strategi berjalan panjang. Apabila isyarat pendek dihasilkan dan tidak ada kedudukan semasa, strategi berjalan pendek.
Input Panjang menentukan tempoh di mana turun naik diukur. Nilai Panjang yang lebih tinggi bermaksud memberi tumpuan kepada pergerakan harga yang lebih lama. Sebagai contoh, dengan Panjang ditetapkan menjadi 20, setiap perdagangan merangkumi kira-kira 100 bar, menangkap pelbagai perubahan.
Mengurangkan nilai Panjang membolehkan penargetan pergerakan harga jangka pendek dan berpotensi meningkatkan kekerapan perdagangan.
Strategi ini memanfaatkan prinsip pecah untuk menangkap pergerakan penting yang timbul daripada turun naik pasaran. Indikator ATR secara dinamik mengira tahap pecah dan bukannya menggunakan parameter tetap.
Menggunakan penutupan bar pepejal untuk mengesahkan isyarat menapis keluar pecah palsu.
Masukan Panjang memberikan fleksibiliti untuk mengoptimumkan strategi untuk keadaan pasaran tertentu.
Perdagangan breakout membawa risiko dihentikan. Stop loss boleh mengawal kerugian pada perdagangan individu.
Isyarat pecah boleh menghasilkan isyarat palsu yang membawa kepada perdagangan berlebihan. Nilai panjang boleh diselaraskan untuk menapis isyarat palsu.
Pengoptimuman parameter memerlukan data perdagangan yang mencukupi.
Bollinger Bands boleh diperkenalkan dalam tempoh ATR untuk mengira tahap pecah baru.
Trend boleh dikesan lebih lanjut selepas pecah daripada berhenti dengan serta-merta.
Parameter yang berbeza atau mengelakkan perdagangan sama sekali boleh dipertimbangkan dalam pasaran terhad julat untuk mengelakkan whipsaws.
Strategi Perdagangan Penembusan Volatiliti memanfaatkan peningkatan turun naik pasaran untuk memasuki pergerakan trend apabila harga pecah dengan ketara. Indikator ATR secara dinamik menetapkan tahap penembusan dan bar pepejal menapis penembusan palsu. Masukan Panjang memberikan fleksibiliti untuk menyesuaikan tempoh strategi. Strategi ini sesuai untuk mengikuti trend jangka menengah hingga panjang, tetapi risiko penembusan mesti dikendalikan melalui pengoptimuman parameter.
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 1h 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/ //@version=5 strategy("Volatility Breakout Strategy [Angel Algo]", overlay = true) // Inputs length = input(title="Length", defval=20) // Calculate the average true range (ATR) atr = ta.atr(length) // Plot the ATR on the chart plot(atr, color=color.blue, linewidth=2, title="ATR") // Calculate the upper and lower breakouts upper_breakout = high + atr lower_breakout = low - atr // Plot the upper and lower breakouts on the chart ul = plot(upper_breakout[1], color = color.new(color.green, 100), linewidth=2, title="Upper Breakout Level") ll = plot(lower_breakout[1], color = color.new(color.red, 100), linewidth=2, title="Lower Breakout Level") // Create the signals long_entry = ta.crossover(close, upper_breakout[1]) and barstate.isconfirmed short_entry = ta.crossunder(close, lower_breakout[1]) and barstate.isconfirmed active_signal_color =ta.barssince(long_entry) < ta.barssince(short_entry) ? color.new(color.green,85) : color.new(color.red,85) // Plot the signals on the chart plotshape(long_entry and ta.barssince(long_entry[1]) > ta.barssince(short_entry[1]), location=location.belowbar, style=shape.triangleup, color=color.green, size=size.normal, text = "Bullish breakout", textcolor = color.green) plotshape(short_entry and ta.barssince(long_entry[1]) < ta.barssince(short_entry[1]), location=location.abovebar, style=shape.triangledown, color=color.red, size=size.normal,text = "Bearish breakout", textcolor = color.red) // Fill the space between the upper and lower levels with the color that indicates the latest signal direction fill(ul,ll, color=active_signal_color) long_condition = long_entry and strategy.position_size <= 0 and barstate.isconfirmed short_condition = short_entry and strategy.position_size >= 0 and barstate.isconfirmed if long_condition strategy.entry("Volatility Breakout Long", strategy.long) if short_condition strategy.entry("Volatility Breakout Short", strategy.short)