Strategi Volatility Breakout Trading bertujuan untuk menangkap price breakout akibat meningkatnya volatilitas pasar. Strategi ini menggunakan indikator Average True Range (ATR) untuk mengukur volatilitas aset selama periode tertentu. Sinyal panjang dan pendek dihasilkan ketika harga pecah di atas atau di bawah dua level yang ditentukan oleh ATR.
Strategi ini pertama-tama menghitung ATR selama periode yang dipilih. Kemudian menggunakan ATR untuk menghitung tingkat breakout atas dan bawah. Ketika harga penutupan melanggar di atas tingkat atas, sinyal panjang dihasilkan. Ketika harga penutupan melanggar di bawah tingkat bawah, sinyal pendek dihasilkan. Untuk mengkonfirmasi sinyal lebih lanjut, bar saat ini perlu ditutup untuk bagian tubuhnya.
Ketika harga penutupan melanggar level atas atau bawah, zona breakout diisi dengan warna yang menunjukkan arah breakout. Fitur ini membantu dengan cepat mengidentifikasi arah tren yang berlaku.
Ketika sinyal panjang dihasilkan dan tidak ada posisi saat ini, strategi berjalan panjang.
Input Panjang menentukan periode di mana volatilitas diukur. Nilai Panjang yang lebih tinggi menyiratkan fokus pada pergerakan harga yang lebih lama. Misalnya, dengan Panjang diatur menjadi 20, setiap perdagangan mencakup sekitar 100 bar, menangkap beberapa perubahan.
Menurunkan nilai panjang memungkinkan penargetan pergerakan harga jangka pendek dan berpotensi meningkatkan frekuensi perdagangan.
Strategi ini memanfaatkan prinsip-prinsip breakout untuk menangkap pergerakan signifikan yang timbul dari volatilitas pasar. Indikator ATR secara dinamis menghitung tingkat breakout daripada menggunakan parameter tetap.
Menggunakan solid bar closes untuk mengkonfirmasi sinyal menyaring keluar breakout palsu.
Input Length memberikan fleksibilitas untuk mengoptimalkan strategi untuk kondisi pasar tertentu.
Stop loss dapat mengendalikan kerugian pada perdagangan individu.
Sinyal breakout dapat menghasilkan sinyal palsu yang mengarah pada over-trading. Nilai panjang dapat disesuaikan untuk menyaring sinyal palsu.
Optimasi parameter membutuhkan data perdagangan yang cukup. parameter awal yang buruk dapat menyebabkan kinerja yang buruk.
Bollinger Bands dapat diperkenalkan dalam periode ATR untuk menghitung tingkat breakout baru.
Tren dapat dilacak lebih lanjut setelah breakout daripada berhenti segera.
Parameter yang berbeda atau menghindari perdagangan sama sekali dapat dipertimbangkan di pasar yang terikat rentang untuk mencegah whipsaws.
Strategi trading volatility breakout memanfaatkan meningkatnya volatilitas pasar untuk memasuki pergerakan tren ketika harga pecah secara signifikan. Indikator ATR secara dinamis menetapkan tingkat breakout dan batang padat menyaring breakout palsu. Masukan panjang memberikan fleksibilitas untuk menyesuaikan periode strategi. Strategi ini cocok untuk mengikuti tren jangka menengah hingga panjang, tetapi risiko breakout harus dikelola melalui optimasi 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)