Strategi Penembusan Volatiliti Beradaptasi

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

img

Ringkasan

Adaptive Volatility Breakout Strategy adalah strategi trend-mengikut. Ia mengenal pasti isyarat pecah apabila harga meningkat dengan kuat di atas ketinggian tertentu, menubuhkan kedudukan panjang, dan terus mengesan trend menaik untuk keuntungan pada hari berikutnya dibuka.

Strategi ini dicadangkan oleh Larry R. Williams, seorang pedagang niaga hadapan dan saham yang terkenal. Ia cuba menangkap titik-titik harga, yang sering menandakan perubahan di pasaran. Dengan mengenal pasti isyarat ini tepat pada masanya dan menubuhkan kedudukan, keuntungan boleh diperoleh dengan mengikuti arah trend baru.

Prinsip

Metrik teras strategi ini adalah sedikit tahap, dikira oleh:

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

Di mana k adalah pekali empirikal, bernilai 0.6. formula ini menggabungkan turun naik harga tertinggi dan terendah, menjadikan titik pecah lebih fleksibel untuk menyesuaikan diri dengan turun naik pasaran.

Apabila harga tertinggi hari itu menembusi ketinggian tertentu yang dikira, ia menunjukkan penembusan harga. Strategi itu kemudian akan menubuhkan kedudukan panjang. Posisi itu akan ditutup sepenuhnya pada hari berikutnya terbuka untuk keuntungan.

Stop loss ditetapkan kepada separuh daripada harga terendah dan harga masuk hari sebelumnya, menghalang kerugian daripada berkembang.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Mengambil turun naik, trend-mengikuti: Strategi menggabungkan harga tertinggi dan terendah untuk mengira titik pecah fleksibel yang menangkap irama turun naik harga.

  2. Masuk tepat pada masanya, penjejakan trend: Pengiraan isyarat pecah setiap hari membolehkan pengenalan trend baru tepat pada masanya untuk mengikuti langkah-langkah trend kenaikan harga.

  3. Kawalan risiko yang betul: Penentuan stop loss yang munasabah berkesan mengawal kerugian tunggal.

Analisis Risiko

Risiko strategi ini termasuk:

  1. Risiko kegagalan: Penembusan harga tidak semestinya mengekalkan trend menaik dan mungkin penembusan palsu jangka pendek, menyebabkan kerugian.

  2. Risiko pasaran yang melampau: Dalam peristiwa pasaran yang melampau seperti kejatuhan pasaran, harga mungkin berlainan naik / turun menyebabkan pemicu kehilangan berhenti dan kerugian besar.

  3. Risiko perdagangan yang berlebihan: Pembukaan dan penutupan kedudukan setiap hari meningkatkan kekerapan perdagangan dan bayaran komisen.

Pengoptimuman

Strategi ini boleh dioptimumkan dari aspek berikut:

  1. Menambah pengganda: Menambah pengganda kepada formula pecah, mengurangkannya dengan betul apabila turun naik pasaran dan meningkatkannya apabila pasaran stabil, menjadikan strategi lebih elastik.

  2. Memperpanjang tempoh penahan: Memperpanjang tempoh penahan kepada 2 atau 3 hari untuk menapis pecah palsu jangka pendek.

  3. Mengoptimumkan stop loss: Menetapkan stop loss ke tahap sokongan yang lebih dalam seperti band bawah Bollinger atau penutupan hari sebelumnya.

Kesimpulan

Adaptive Volatility Breakout Strategy menjejaki trend dengan menjejaki turun naik harga dan irama secara dinamik. Berbanding dengan strategi breakout tradisional, ia lebih fleksibel dan mampu menangkap pergerakan harga. Tetapi risiko harus diperhatikan bahawa berhenti boleh dipukul di pasaran yang melampau. Pengoptimuman lanjut pada tempoh pegangan dan stop loss boleh membawa kepada hasil yang lebih baik.


/*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 lanjut