Strategi corak candlestick gabungan berbilang model


Tarikh penciptaan: 2023-10-17 15:53:06 Akhirnya diubah suai: 2023-10-17 15:53:06
Salin: 0 Bilangan klik: 671
1
fokus pada
1617
Pengikut

Strategi corak candlestick gabungan berbilang model

Gambaran keseluruhan

Strategi ini digunakan untuk berdagang saham dengan menggunakan pelbagai model bentuk kerucut. Ia menggabungkan model garis bungkus, model kerucut kosong dan model bintang salib untuk menangkap peluang perdagangan dalam keadaan pasaran yang berbeza.

Prinsip

Logik utama strategi ini adalah untuk membina beberapa peraturan untuk membuat keputusan mengenai bentuk kerucut, dan kemudian menggabungkannya untuk menghasilkan isyarat perdagangan.

Pertama, ia mentakrifkan beberapa pembolehubah asas untuk menggambarkan sifat-sifat garisan, seperti saiz badan entiti garisan, harga bukaan, harga tutup, dan sebagainya.

Kemudian, ia menentukan 3 jenis bar dagangan berdasarkan hubungan harga penutupan dan harga pembukaan mata wang kripto: 1 untuk mata wang kripto, -1 untuk mata wang kripto jatuh, dan 0 untuk mata wang kripto tidak jatuh.

Berdasarkan ini, tiga peraturan penghakiman bentuk ketuhar telah dibina:

  1. Pattern Engulfing: K-line semasa mengelilingi K-line teratas, menghasilkan isyarat membeli atau menjual.

  2. Pattern Harami: K yang teratas mengelilingi K semasa, menghasilkan isyarat beli atau jual.

  3. Harami Cross Pattern: Kombinasi tiub kosong dengan bintang salib menghasilkan isyarat beli atau jual.

Mengikut peraturan ini, anda boleh menentukan masa untuk membeli dan menjual. Dengan syarat tambahan, seperti sekatan jangka masa perdagangan, anda boleh menapis isyarat perdagangan yang tidak sesuai.

Dalam bahagian perdagangan, kedudukan akan dinilai terlebih dahulu, dan jika ia bertentangan dengan arah isyarat, ia akan ditutup terlebih dahulu, dan kemudian dibuka mengikut arah isyarat.

Kelebihan

  • Gabungan pelbagai bentuk, kestabilan yang kuat. Bentuk tunggal mungkin lebih dipengaruhi oleh keadaan pasaran tertentu, bentuk gabungan dapat meningkatkan kestabilan.

  • Pengesahan bentuk dalam arah yang sama, penilaian komprehensif, mengelakkan kesalahan. Model bentuk yang berbeza menilai trend dari sudut yang berbeza, dan dapat saling mengesahkan isyarat.

  • Parameter boleh disesuaikan, beradaptasi kuat. Pengguna boleh bebas menggabungkan pilihan model bentuk yang berbeza, menyesuaikan parameter seperti jangka masa perdagangan, dan fleksibel untuk menghadapi perubahan pasaran.

  • Logik dagangan yang sempurna. Dalam kombinasi dengan keputusan pegangan dan logik keluar dari kerugian, risiko dapat dikawal dengan berkesan.

Risiko

  • Kombinasi berbilang parameter menambah kerumitan. Ia perlu menguji kesesuaian kombinasi setiap parameter, dan kombinasi parameter yang tidak betul boleh mengurangkan keberkesanan.

  • Tetapan parameter shape bergantung kepada pengalaman. Parameter bentuk seperti saiz entiti yang sesuai memerlukan pengalaman yang terkumpul untuk menyesuaikan.

  • Risiko yang dibawa oleh memegang kedudukan satu sisi. Hanya melakukan lebih banyak atau hanya melakukan short akan mengehadkan ruang keuntungan. Anda boleh melakukan lebih banyak short pada masa yang sama melalui parameter yang ditetapkan.

  • Mungkin terlepas titik pembalikan trend. Strategi ini bertumpu pada pengenalan bentuk, tidak dapat menilai pembalikan trend dengan berkesan. Masa boleh dikombinasikan dengan petunjuk lain.

Pengoptimuman

  • Meningkatkan strategi hentikan kerugian untuk mengurangkan risiko yang mungkin timbul daripada memegang kedudukan tunggal.

  • Berkongsi dengan petunjuk teknikal lain untuk menentukan arah trend besar, dan mengelakkan perdagangan berlawanan seperti MACD, Bollinger Band dan sebagainya.

  • Uji keutamaan parameter untuk pelbagai jenis, membina gabungan bentuk yang sesuai untuk pelbagai jenis.

  • Menambah algoritma pembelajaran mesin untuk membantu optimasi parameter dan pengenalan bentuk melalui AI.

ringkaskan

Strategi ini membina sistem perdagangan garis pendek yang agak stabil dan boleh dipercayai dengan menggunakan keunggulan pelbagai bentuk gelung secara komprehensif. Namun, beberapa parameter dan kawalan risiko masih perlu dioptimumkan lebih lanjut untuk menyesuaikan diri dengan persekitaran pasaran yang lebih kompleks. Secara keseluruhan, strategi ini masuk akal, berdasarkan pengalaman dan data yang cukup, pengoptimuman pintar melalui pembelajaran mesin dan sebagainya, prospeknya luas.

Kod sumber strategi
/*backtest
start: 2022-10-10 00:00:00
end: 2023-10-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's CandleModels Tests", shorttitle = "CandleModels tests", 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")

eng = input(true, defval = true, title = "Model Engulfing")
har = input(true, defval = true, title = "Model Harami")
harc = input(true, defval = true, title = "Model Harami Cross")

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")
rev = input(false, defval = false, title = "Reversive trading")

//Body
body = abs(close - open)
abody = sma(body, 10)

//MinMax Bars
min = min(close, open)
max = max(close, open)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
doji = body < abody / 10
up1 = eng and bar == 1 and bar[1] == -1 and min <= min[1] and max >= max[1]
dn1 = eng and bar == -1 and bar[1] == 1 and min <= min[1] and max >= max[1]
up2 = har and bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1]
dn2 = har and bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1]
up3 = harc and doji and bar[1] == -1 and low >= min[1] and high <= max[1]
dn3 = harc and doji and bar[1] == 1 and low >= min[1] and high <= max[1]
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body > abody / 2 and rev == false

//Trading
if up1 or up2 or up3
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1 or dn2 or dn3
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()