Strategi Perdagangan Penembusan Volatiliti

Penulis:ChaoZhang, Tarikh: 2023-12-11 14:20:48
Tag:

img

Ringkasan

Strategi Perdagangan Breakout Volatility adalah strategi berasaskan tindakan harga tunggal. Ia menghasilkan isyarat beli dan jual dengan menganalisis perubahan harga dan jumlah. Strategi ini juga boleh digabungkan dengan amaran untuk mencetuskan pesanan di bursa atau sistem lain.

Logika Strategi

Strategi ini menganalisis harga penutupan, terbuka, tinggi dan rendah lilin untuk menentukan trend harga dan momentum.

Khususnya, ia memeriksa sama ada harga penutupan 3 candlestick terbaru adalah lebih tinggi atau lebih rendah daripada harga pembukaan. Jika ya, ia menunjukkan harga pecah ke atas atau ke bawah secara berturut-turut, menghasilkan pasaran trend.

Di samping itu, strategi ini mengesan jumlah maksimum dalam tempoh tertentu. Jika jumlah lilin semasa melebihi nilai maksimum dalam tempoh baru-baru ini, ia menunjukkan peningkatan jumlah dagangan dan kekuatan yang kuat memasuki pasaran.

Apabila harga pecah pada tiga candlestick berturut-turut dan jumlah perdagangan berkembang, strategi akan menghasilkan isyarat beli atau jual.

Kelebihan

Ini adalah strategi yang mudah tetapi berkesan menggunakan tindakan harga dan isyarat jumlah.

  1. Logik yang jelas, mudah difahami dan dilaksanakan
  2. Sangat sensitif terhadap perubahan pasaran yang tidak menentu, menangkap perubahan tepat pada masanya
  3. Menghendaki hanya data candlestick dan jumlah asas, tidak ada algoritma yang kompleks
  4. Parameter fleksibel yang boleh disesuaikan dengan produk dan jangka masa yang berbeza
  5. Kos rendah, sesuai untuk pelabur akaun kecil

Analisis Risiko

Terdapat juga beberapa risiko yang berpotensi:

  1. Tiada ramalan harga, beberapa kebutaan wujud
  2. Rendah kepada isyarat palsu dari sentuhan secara tidak sengaja
  3. Boleh menghasilkan isyarat yang tidak betul di pasaran yang terikat julat
  4. Tiada mekanisme stop loss, risiko meluaskan kerugian

Untuk mengurangkan risiko ini, seseorang boleh mempertimbangkan untuk menambah stop loss bergerak, mengoptimumkan kombinasi parameter, atau menggabungkan dengan penunjuk atau strategi lain.

Arahan pengoptimuman

Sebagai strategi asas, masih ada ruang besar untuk pengoptimuman:

  1. Tambahkan mekanisme stop loss untuk mengawal kerugian
  2. Mengoptimumkan parameter untuk memenuhi lebih banyak produk dan tempoh
  3. Tambah penunjuk lain kepada isyarat penapis
  4. Gabungkan dengan strategi pengesanan trend untuk penyesuaian trend automatik
  5. Menggabungkan algoritma pembelajaran mesin untuk parameter dinamik dan pengoptimuman isyarat
  6. Membina dalam penyelidikan kuantitatif dan modul maklum balas untuk evolusi berterusan

Kesimpulan

Kesimpulannya, ini adalah strategi berasaskan tindakan harga yang sangat praktikal. Ia mempunyai kelebihan menjadi intuitif, mudah difahami dan dilaksanakan dengan kos yang rendah. Sementara itu, ia juga mempunyai kebutaan tertentu dan memerlukan pengoptimuman dan kombinasi lanjut untuk meningkatkan prestasi. Secara keseluruhan ini adalah konsep strategi yang berharga yang layak untuk penyelidikan dan penerapan yang mendalam.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-03-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SPAS", overlay=true, pyramiding=5, calc_on_order_fills=true)

int signal_hh = 0
int signal_ll = 0

if close[1] >= open[1] and close[2] >= open[2] and close[3] >= open[3]
    signal_hh := 1

if close[1] <= open[1] and close[2] <= open[2] and close[3] <= open[3]
    signal_ll := 1

plotchar(signal_hh, char='H', size=size.tiny, location=location.abovebar)
plotchar(signal_ll, char='L', size=size.tiny, location=location.abovebar)

int signal_vol = 0
float max_volume = 0.0
int vol_length = input(title="Volume length", type=input.integer, defval=3)

for i = vol_length to 1
    if volume[i] > max_volume
        max_volume := volume[i]

if volume[0] > max_volume
    signal_vol := 1

plotchar(signal_vol, char='V', size=size.tiny, location=location.bottom)

int signal_buy = 0
int signal_sell = 0

if signal_hh and signal_vol
    signal_buy := 1
    label.new(bar_index, high, "B", color=color.green)
    strategy.entry("buy", strategy.long, 5)//, when=strategy.position_size <= 0)

if signal_ll and signal_vol
    signal_sell := 1
    label.new(bar_index, low, "S", color=color.red)
    strategy.entry("sell", strategy.short, 5)//, when=strategy.position_size > 0)

//plotchar(signal_buy, char='B', color=color.green, size=size.tiny, location=location.abovebar)
plotarrow(signal_buy, colorup=color.green, colordown=color.orange, transp=0, maxheight=20)

//plotchar(signal_sell, char='S', color=color.red, size=size.tiny, location=location.abovebar)
plotarrow(signal_sell * -1, colorup=color.green, colordown=color.orange, transp=0, maxheight=20)



Lebih lanjut