
Adaptive Variable Breakout Strategi adalah strategi trend tracking. Strategi ini mengidentifikasi sinyal breakout dari kenaikan kuat yang melampaui kenaikan level tertentu, membangun posisi multi-head, terus melacak tren naik, dan menghasilkan keuntungan pada hari berikutnya.
Strategi ini dikemukakan oleh Larry R. Williams, seorang pedagang berjangka dan saham yang terkenal. Strategi ini mencoba untuk menangkap titik-titik terobosan harga, yang sering menandakan pergeseran pasar. Dengan mengidentifikasi sinyal-sinyal ini pada waktunya dan membangun posisi, Anda dapat melacak tren pasar baru dan mendapatkan keuntungan.
Indikator utama dari strategi ini adalah ketinggian tertentu, yang dihitung dengan rumus berikut:
一定水平 = 收盘价 + k * (最高价 - 最低价)
Di mana k adalah faktor pengalaman, dengan nilai 0,6. Rumus ini menambahkan komponen volatilitas harga tertinggi dan terendah, membuat titik terobosan lebih fleksibel dan dapat beradaptasi dengan berulangnya pasar.
Ketika harga tertinggi hari itu melebihi batas tertentu yang dihitung, menunjukkan bahwa harga mengalami terobosan, saat ini strategi akan membangun posisi multi-head. Pada hari berikutnya, semua posisi ditutup dengan keuntungan.
Stop loss level ditetapkan sebagai harga minimum dan setengah dari harga masuk hari sebelumnya untuk mencegah peningkatan kerugian.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini menambahkan titik-titik terobosan untuk menghitung harga tertinggi dan terendah, membuat sinyal terobosan lebih fleksibel dan mampu menangkap irama perubahan harga.
Masuk ke pasar tepat waktu, ikuti tren: Dengan menghitung sinyal penembusan setiap hari, Anda dapat mengidentifikasi tren baru tepat waktu, dan mengikuti kenaikan harga.
Pengendalian risiko: pengaturan posisi stop loss yang masuk akal untuk mengontrol kerugian tunggal secara efektif.
Strategi ini juga memiliki risiko sebagai berikut:
Risiko kegagalan terobosan: terobosan harga tidak selalu terus meningkat, mungkin adalah terobosan palsu jangka pendek.
Risiko situasi ekstrem: Dalam situasi ekstrem seperti bencana saham, peristiwa tak terduga, harga dapat terpecah dan melonjak, menyebabkan stop loss yang dipicu menghasilkan kerugian besar.
Risiko over-trading: Membangun gudang dan gudang setiap hari akan meningkatkan frekuensi transaksi dan beban biaya.
Strategi ini dapat dioptimalkan dengan cara:
Menambahkan perkalian: Menambahkan perkalian dalam rumus perhitungan terobosan, untuk memperkecilnya dengan tepat ketika pasar berfluktuasi dan memperbesarnya dengan tepat ketika pasar stabil, membuat strategi lebih fleksibel.
Perpanjangan jangka waktu: Perpanjangan jangka waktu hingga 2 atau 3 hari untuk memfilter kebocoran palsu jangka pendek.
Optimalkan posisi stop loss: mengatur posisi stop loss ke posisi dukungan yang lebih dalam, seperti batas bawah Brin, harga penutupan hari sebelumnya, dll.
Adaptive Variable Breakout Strategi memungkinkan pelacakan tren dengan mengikuti dinamika dan kecepatan harga secara real time. Ini lebih fleksibel dan mampu menangkap dibandingkan dengan strategi breakout tradisional. Namun, perlu juga memperhatikan risiko, karena stop loss dapat ditembus dalam situasi ekstrem. Hasil yang lebih baik dapat diperoleh dengan mengoptimalkan waktu memegang posisi dan stop loss.
/*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)