Strategi Perdagangan Penembusan Volatiliti

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

img

Ringkasan

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.

Logika Strategi

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.

Analisis Kelebihan

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.

Analisis Risiko

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.

Peluang Pengoptimuman

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.

Kesimpulan

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)


Lebih lanjut