Strategi pelarian berasaskan saluran harga


Tarikh penciptaan: 2024-01-16 14:22:57 Akhirnya diubah suai: 2024-01-16 14:22:57
Salin: 0 Bilangan klik: 664
1
fokus pada
1617
Pengikut

Strategi pelarian berasaskan saluran harga

Gambaran keseluruhan

Strategi ini dinamakan sebagai strategi penembusan yang berasaskan saluran harga, idea utamanya adalah menggunakan saluran harga untuk menilai trend dan arah pasaran, dan menetapkan kedudukan apabila harga menembusi saluran. Ia akan mula-mula menggambarkan ruang saluran harga, dan kemudian menilai sama ada garis K muncul dua garis K merah atau hijau berturut-turut. Jika garis K terakhir menembusi lebih dari separuh saluran dan ditutup di luar saluran, ia akan menghasilkan isyarat beli atau jual.

Prinsip Strategi

Strategi ini menggunakan fungsi tertinggi (highest) dan terendah (lowest) untuk mengira harga tertinggi dan terendah dalam tempoh tertentu untuk menentukan aliran naik dan turun dalam saluran harga. Garis tengah saluran ini ditakrifkan sebagai rata-rata aliran naik dan turun. Kemudian, ukuran entiti K baris dikira dan, dengan meluruskan SMA, memutuskan sama ada entiti K baris terakhir lebih besar daripada separuh daripada entiti rata-rata.

Analisis kelebihan

Ini adalah strategi terobosan untuk menilai trend menggunakan saluran harga. Ia mempunyai beberapa kelebihan:

  1. Dengan menggunakan saluran harga untuk menentukan arah trend keseluruhan, anda boleh menyaring bunyi pasaran dengan berkesan.

  2. Dua garis K berturut-turut menyamakan laluan penembusan, menunjukkan kekuatan yang lebih kuat dan kadar kejayaan yang lebih tinggi.

  3. Menganggap entiti K lebih daripada separuh daripada entiti purata, anda boleh mengelakkan penipuan palsu.

  4. Logik strategi mudah difahami dan mudah dilaksanakan.

  5. Parameter yang boleh disesuaikan seperti kitaran saluran, jenis perdagangan, masa perdagangan, dan lain-lain.

Analisis risiko

Strategi ini juga mempunyai risiko yang berpotensi:

  1. Kemungkinan kegagalan penembusan masih wujud dan boleh menyebabkan kerugian.

  2. “Saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa.

  3. Tidak ada mekanisme untuk menghentikan kerugian dan tidak dapat mengawal kerugian secara berkesan.

  4. Peraturan perdagangan yang mudah, risiko terlalu sesuai.

  5. Tidak dapat menyesuaikan diri dengan persekitaran pasaran yang lebih kompleks.

Penyelesaian yang sesuai adalah seperti berikut:

  1. Optimumkan parameter untuk meningkatkan kadar kejayaan penembusan.

  2. Menyertai indeks turun naik untuk mengelakkan kejatuhan.

  3. Menambah tetapan Stop Loss Mobile.

  4. Ujian kompleksiti dilakukan dan kesesuaian diperiksa.

  5. Menambah algoritma pembelajaran mesin untuk meningkatkan kebolehan adaptasi strategi.

Arah pengoptimuman

Strategi ini dioptimumkan untuk:

  1. Menambah mekanisme hentian untuk mengawal risiko dengan lebih baik. Anda boleh menetapkan hentian harga yang kembali, atau anda boleh menggunakan indikator seperti ATR untuk menetapkan hentian bergerak.

  2. Parameter pengoptimuman, seperti kitaran laluan, parameter lebar terobosan dan sebagainya. Parameter optimum boleh dicari melalui algoritma genetik, pencarian grid dan sebagainya.

  3. Menambah syarat penapisan, meningkatkan kepastian penembusan. Sebagai contoh, penembusan boleh disahkan dengan jumlah transaksi.

  4. Menambah model pembelajaran mesin, menggunakan lebih banyak data untuk meningkatkan kemampuan ramalan dan adaptasi strategi. Pembelajaran mendalam seperti LSTM dapat menangkap corak situasi yang lebih kompleks.

  5. Mengoptimumkan kombinasi, menggabungkan pelbagai jenis strategi terobosan, mencapai orthopedics, mengurangkan kesamaan.

ringkaskan

Strategi ini secara keseluruhan adalah strategi kuantitatif berdasarkan trend penilaian saluran harga, mencari isyarat penembusan. Ia mempunyai trend penilaian, mengkonfirmasi kelebihan penembusan, tetapi juga terdapat risiko penembusan palsu. Kita boleh memperbaiki strategi dengan mengoptimumkan parameter, menetapkan stop loss, menambah penapis syarat, dan lain-lain.

Kod sumber strategi
/*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()