Adaptive Volatility Breakout Strategy (Strategi Penembusan Volatilitas Adaptif)

Penulis:ChaoZhang, Tanggal: 2024-01-08 14:38:31
Tag:

img

Gambaran umum

Adaptive Volatility Breakout Strategy adalah strategi trend-following. Strategi ini mengidentifikasi sinyal breakout ketika harga naik kuat di atas tingkat tertentu, menetapkan posisi panjang, dan terus melacak tren naik untuk mendapatkan keuntungan pada hari berikutnya buka.

Strategi ini diusulkan oleh Larry R. Williams, seorang pedagang berjangka dan saham yang terkenal. Strategi ini mencoba untuk menangkap titik-titik harga, yang sering menandakan perubahan di pasar. Dengan mengidentifikasi sinyal-sinyal ini secara tepat waktu dan menetapkan posisi, keuntungan dapat diperoleh dengan mengikuti arah tren baru.

Prinsip

Metrik inti dari strategi ini adalah tingkat tertentu, yang dihitung dengan:

Certain level = Close + k * (High - Low) 

Di mana k adalah koefisien empiris, bernilai 0,6. Rumus ini menggabungkan volatilitas harga tertinggi dan terendah, membuat titik pecah lebih fleksibel untuk beradaptasi dengan fluktuasi pasar.

Ketika harga tertinggi hari tersebut menembus tingkat tertentu yang dihitung, ini menunjukkan harga yang pecah. Strategi kemudian akan menetapkan posisi panjang. Posisi akan ditutup sepenuhnya pada hari berikutnya terbuka untuk keuntungan.

Stop loss ditetapkan menjadi setengah dari harga terendah dan harga masuk hari sebelumnya, mencegah kerugian berkembang.

Analisis Keuntungan

Keuntungan dari strategi ini meliputi:

  1. Menangkap volatilitas, mengikuti tren: Strategi menggabungkan harga tertinggi dan terendah untuk menghitung titik breakout fleksibel yang menangkap ritme fluktuasi harga.

  2. Masuk tepat waktu, pelacakan tren: Perhitungan harian sinyal breakout memungkinkan identifikasi tren baru tepat waktu untuk menindaklanjuti langkah-langkah tren kenaikan harga.

  3. Pengendalian risiko yang tepat: Pengaturan stop loss yang wajar secara efektif mengendalikan kerugian tunggal.

Analisis Risiko

Risiko dari strategi ini meliputi:

  1. Risiko kegagalan: Pelanggaran harga tidak selalu mempertahankan tren naik dan dapat menjadi kegagalan palsu jangka pendek, menyebabkan kerugian.

  2. Risiko pasar yang ekstrim: Dalam peristiwa pasar yang ekstrim seperti crash pasar, harga dapat naik/turun menyebabkan pemicu stop loss dan kerugian besar.

  3. Risiko perdagangan yang berlebihan: Pembukaan dan penutupan posisi setiap hari meningkatkan frekuensi perdagangan dan biaya komisi.

Optimalisasi

Strategi dapat dioptimalkan dari aspek berikut:

  1. Menambahkan multiplier: Menambahkan multiplier ke rumus breakout, mengurangi secara tepat ketika volatilitas pasar meningkat dan meningkatkannya ketika pasar stabil, membuat strategi lebih elastis.

  2. Memperpanjang periode penahanan: Memperpanjang periode penahanan menjadi 2 atau 3 hari untuk menyaring kebocoran palsu jangka pendek.

  3. Mengoptimalkan stop loss: Menetapkan stop loss ke level support yang lebih dalam seperti Bollinger lower band atau close hari sebelumnya.

Kesimpulan

Adaptive Volatility Breakout Strategy melacak tren dengan melacak volatilitas harga dan ritme secara dinamis. Dibandingkan dengan strategi breakout tradisional, strategi ini lebih fleksibel dan mampu menangkap pergerakan harga.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
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/
// © Dicargo_Beam

//@version=5
strategy("Volatility Breakout Strategy", overlay=true, default_qty_type= strategy.percent_of_equity, default_qty_value=100,process_orders_on_close=false)

k = input.float(0.6)


[o,h,l,c] = request.security(syminfo.tickerid,"D",[open,high,low,close])

lp = math.log(c[1])+(math.log(h[1])-math.log(l[1]))*k
_lp = math.pow(2.718,lp)

longcond = _lp < high
exit = hour==0 or  math.log(close) < (math.log(l[1])+lp)/2



plot(_lp,"Entry",color=color.yellow)
//plot(l,"Yesterday's Low")
plot((_lp+l[1])/2,"StopLoss",color=color.red)


strategy.entry("Long", strategy.long,comment = "Long", when = longcond and strategy.opentrades == 0)

strategy.close("Long", comment="Exit", when = exit)


var bg = 0
bg := if hour == 0
    bg + 1
else
    bg[1]

bgcolor(bg/2== math.floor(bg/2) ? color.new(color.blue,95):na)




Lebih banyak