Strategi perdagangan volatility breakout

Penulis:ChaoZhang, Tanggal: 2023-10-30 16:58:03
Tag:

img

Gambaran umum

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.

Logika Strategi

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.

Analisis Keuntungan

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.

Analisis Risiko

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.

Peluang Optimalisasi

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.

Kesimpulan

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)


Lebih banyak