Strategi Penembusan Saluran Harga

Penulis:ChaoZhang, Tanggal: 2024-01-16 14:22:57
Tag:

img

Strategi ini disebut Price Channel Breakout Strategy. Ide utamanya adalah menggunakan saluran harga untuk menentukan tren dan arah pasar dan menetapkan posisi ketika harga keluar dari saluran. Ini pertama-tama akan menggambar kisaran saluran harga, kemudian menilai apakah ada dua garis K merah atau hijau berturut-turut. Jika garis K terakhir menembus setengah lebar saluran dan ditutup di luar saluran, itu akan menghasilkan sinyal beli atau jual.

Logika Strategi

Strategi ini menghitung tertinggi tertinggi dan terendah terendah selama periode tertentu di masa lalu dengan menggunakan fungsi tertinggi dan terendah untuk menentukan rel atas dan bawah saluran harga. Titik tengah saluran didefinisikan sebagai rata-rata rel atas dan bawah. Kemudian menghitung ukuran tubuh garis K dan meluruskannya menggunakan SMA untuk menentukan apakah tubuh garis K terakhir lebih besar dari setengah dari tubuh rata-rata. Ini juga menilai apakah dua garis K terakhir berada di arah yang sama (dua garis merah atau hijau berturut-turut). Ketika kondisi ini terpenuhi, ia menghasilkan sinyal beli / jual dan menutup posisi ketika harga jatuh kembali ke arah saluran.

Analisis Keuntungan

Ini adalah strategi breakout yang menggunakan saluran harga untuk menilai tren keseluruhan.

  1. Menggunakan saluran harga untuk menentukan arah tren secara keseluruhan dapat secara efektif menyaring kebisingan pasar.

  2. Dua garis K berturut-turut yang menembus saluran ke arah yang sama menunjukkan momentum yang lebih kuat dan tingkat keberhasilan yang lebih tinggi.

  3. Menghakimi tubuh K-line yang lebih besar dari setengah tubuh rata-rata dapat menghindari tertipu oleh kebocoran palsu.

  4. Logika strategi sederhana dan mudah diterapkan.

  5. Parameter yang dapat disesuaikan seperti periode saluran, produk perdagangan, jam perdagangan dll membuatnya sangat mudah beradaptasi.

Analisis Risiko

Strategi ini juga memiliki beberapa risiko potensial:

  1. Masih ada kemungkinan kegagalan, yang dapat menyebabkan kerugian.

  2. Saluran harga mungkin gagal ketika pasar berfluktuasi dengan keras.

  3. Kurangnya mekanisme stop loss gagal mengontrol kerugian secara efektif.

  4. Aturan perdagangan yang sederhana memiliki risiko overfit.

  5. Tidak mampu beradaptasi dengan lingkungan pasar yang lebih kompleks.

Solusi yang sesuai adalah:

  1. Mengoptimalkan parameter untuk meningkatkan tingkat keberhasilan breakout.

  2. Tambahkan indeks volatilitas untuk menghindari pasar bergolak.

  3. Tambahkan mobil stop loss.

  4. Melakukan tes kompleksitas untuk memeriksa overfitting.

  5. Meningkatkan model pembelajaran mesin untuk meningkatkan kemampuan beradaptasi.

Arahan Optimasi

Arah optimasi utama adalah:

  1. Tambahkan mekanisme stop loss untuk mengontrol risiko dengan lebih baik.

  2. Mengoptimalkan parameter seperti periode saluran, ambang keluar dll. Temukan parameter optimal melalui algoritma genetik, pencarian grid dll.

  3. Tambahkan kondisi penyaringan untuk meningkatkan kepastian breakout. Misalnya, menggabungkan volume perdagangan untuk mengkonfirmasi breakout.

  4. Tambahkan model pembelajaran mesin seperti LSTM untuk meningkatkan kemampuan prediksi dan kemampuan beradaptasi dengan memanfaatkan lebih banyak data.

  5. Melakukan optimasi portofolio, menggabungkan berbagai jenis strategi breakout untuk mencapai orthogonalitas dan mengurangi kesamaan.

Kesimpulan

Kesimpulannya, ini adalah strategi kuantitatif berdasarkan saluran harga untuk menentukan tren dan menemukan sinyal breakout. Ini memiliki keuntungan menilai tren dan mengkonfirmasi breakout, tetapi juga memiliki risiko breakout palsu tertentu. Kita dapat meningkatkan strategi dengan pengoptimalan parameter, stop loss, menambahkan filter dll untuk mengurangi risiko. Sementara itu, memperkenalkan model pembelajaran mesin dapat lebih meningkatkan kemampuan prediktif. Secara keseluruhan, ini adalah pendekatan strategi kuantitatif yang menjanjikan yang layak diteliti dan ditingkatkan.


/*backtest
start: 2023-12-16 00:00:00
end: 2024-01-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Price Channel Strategy v1.0", shorttitle = "Price Channel str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
pch = input(30, defval = 30, minval = 2, maxval = 200, title = "Price Channel")
showcl = input(true, defval = true, title = "Show center-line")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
src = close

//Price channel
lasthigh = highest(src, pch)
lastlow = lowest(src, pch)
center = (lasthigh + lastlow) / 2
col = showcl ? blue : na
plot(center, color = col, linewidth = 2)

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
rbars = sma(bar, 2) == -1
gbars = sma(bar, 2) == 1

//Signals
body = abs(close - open)
abody = sma(body, 10)
up = rbars and close > center and body > abody / 2
dn = gbars and close < center and body > abody / 2
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if exit
    strategy.close_all()

Lebih banyak