Strategi perdagangan volatility breakout

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

img

Gambaran umum

Strategi Trading Breakout Volatility adalah strategi berbasis aksi harga tunggal. Strategi ini menghasilkan sinyal beli dan jual dengan menganalisis perubahan harga dan volume. Strategi ini juga dapat dikombinasikan dengan peringatan untuk memicu pesanan di bursa atau sistem lain.

Logika Strategi

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

Secara khusus, ia memeriksa apakah harga penutupan 3 candlestick terbaru terus lebih tinggi atau lebih rendah dari harga pembukaan. Jika demikian, ia menunjukkan harga pecah naik atau turun secara berturut-turut, menghasilkan pasar tren.

Selain itu, strategi ini melacak volume maksimum selama periode tertentu. Jika volume lilin saat ini melebihi nilai maksimum selama periode terakhir, itu menunjukkan meningkatnya volume perdagangan dan kekuatan kuat memasuki pasar.

Ketika harga pecah pada tiga candlestick berturut-turut dan volume perdagangan berkembang, strategi akan menghasilkan sinyal beli atau jual.

Keuntungan

Ini adalah strategi yang sederhana namun efektif menggunakan tindakan harga dan sinyal volume. Keuntungan utama adalah:

  1. Logika yang jelas, mudah dimengerti dan diterapkan
  2. Sangat sensitif terhadap perubahan pasar yang tidak stabil, menangkap perubahan tepat waktu
  3. Membutuhkan hanya data candlestick dan volume dasar, tidak ada algoritma yang kompleks
  4. Parameter fleksibel yang dapat disesuaikan dengan produk dan kerangka waktu yang berbeda
  5. Biaya rendah, cocok untuk investor akun kecil

Analisis Risiko

Ada juga beberapa risiko potensial:

  1. Tidak ada perkiraan harga, beberapa kebutaan ada
  2. Kemungkinan sinyal palsu dari sentuhan yang tidak disengaja
  3. Dapat menghasilkan sinyal yang tidak tepat di pasar yang terikat rentang
  4. Tidak ada mekanisme stop loss, risiko memperluas kerugian

Untuk mengurangi risiko ini, seseorang dapat mempertimbangkan menambahkan stop loss bergerak, mengoptimalkan kombinasi parameter, atau menggabungkan dengan indikator atau strategi lain.

Arahan Optimasi

Sebagai strategi dasar, masih ada ruang besar untuk optimasi:

  1. Menambahkan mekanisme stop loss untuk mengendalikan kerugian
  2. Mengoptimalkan parameter agar sesuai dengan lebih banyak produk dan periode
  3. Tambahkan indikator lain ke sinyal filter
  4. Gabungkan dengan strategi pelacakan tren untuk penyesuaian tren otomatis
  5. Mengintegrasikan algoritma pembelajaran mesin untuk parameter dinamis dan optimasi sinyal
  6. Membangun penelitian kuantitatif dan modul umpan balik untuk evolusi berkelanjutan

Kesimpulan

Kesimpulannya, ini adalah strategi berbasis price action yang sangat praktis. Ini memiliki kelebihan menjadi intuitif, mudah dimengerti dan diimplementasikan dengan biaya rendah. Sementara itu, ini juga memiliki kebutaan tertentu dan membutuhkan optimasi dan kombinasi lebih lanjut untuk peningkatan kinerja. Secara keseluruhan ini adalah konsep strategi yang berharga yang layak untuk penelitian dan aplikasi 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 banyak