Strategi kuantitatif terobosan tinggi dan rendah


Tarikh penciptaan: 2023-11-10 11:09:28 Akhirnya diubah suai: 2023-11-10 11:09:28
Salin: 0 Bilangan klik: 589
1
fokus pada
1617
Pengikut

Strategi kuantitatif terobosan tinggi dan rendah

Gambaran keseluruhan

Strategi penggabungan adalah strategi perdagangan kuantitatif yang menggabungkan strategi pembalikan bentuk 123 dengan strategi penembusan rendah dan tinggi. Strategi ini menggunakan penilaian komprehensif terhadap isyarat indikator pada tempoh masa yang berbeza, untuk mencapai gabungan kelebihan dana dalam tempoh masa yang berbilang, dengan tujuan untuk mendapatkan keuntungan tambahan pada garis panjang dan tengah.

Prinsip Strategi

Strategi penggabungan terdiri daripada dua bahagian:

  1. 123 Strategi berbalik
    Strategi ini berasal dari Ulf Jensen’s How to get three times as much in the futures market P183. Ia menghasilkan isyarat beli dan jual dengan menilai hubungan harga 2 hari berturut-turut dengan harga penutupan hari sebelumnya. Ia menghasilkan isyarat beli dan jual apabila harga 2 hari berturut-turut meningkat berbanding harga penutupan hari sebelumnya dan isyarat Stochastic Slow turun di bawah 50 dan isyarat jual apabila harga 2 hari berturut-turut turun berbanding harga penutupan hari sebelumnya dan isyarat Stochastic Fast naik di atas 50.

  2. Strategi penembusan rendah dan tinggi
    Strategi ini menentukan isyarat perdagangan dengan menilai sama ada harga telah menembusi tahap tinggi atau rendah dari pelbagai kitaran. Ia mengira harga tertinggi dan terendah dari kitaran semasa dan kitaran sebelumnya, menghasilkan isyarat beli apabila harga menembusi tahap tertinggi, menghasilkan isyarat jual apabila ia menembusi tahap terendah.

Strategi penggabungan menggabungkan kedua-dua strategi di atas, menghasilkan isyarat perdagangan sebenar apabila arah isyarat kedua-dua strategi sama. Ini dapat menyaring beberapa isyarat tidak sah yang dihasilkan oleh kesalahan penilaian strategi tunggal, meningkatkan kebolehpercayaan isyarat.

Kelebihan Strategik

  1. Penghakiman komprehensif pelbagai kitaran masa untuk meningkatkan ketepatan isyarat
    Strategi ini menggabungkan ciri-ciri morfologi garis matahari dan tempoh masa yang lebih tinggi, yang dapat meningkatkan ketepatan keputusan isyarat perdagangan dan mengelakkan penipuan oleh turun naik jangka pendek di pasaran.

  2. Mengambil kesempatan daripada penilaian Stochastic untuk membeli dan menjual
    Penggunaan penunjuk StochasticSlow mengelakkan tergesa-gesa untuk membeli di kawasan yang terlalu banyak dibeli, dan penggunaan penunjuk StochasticFast mengelakkan tergesa-gesa untuk menjual di kawasan yang terlalu banyak dijual, mengurangkan kerugian yang tidak perlu.

  3. Menerima ciri-ciri trend tepat pada masanya, mengurangkan kemungkinan kehilangan peluang
    Strategi penembusan rendah dan tinggi dapat mengenal pasti kawasan kritikal untuk penembusan harga dalam kitaran garis yang lebih panjang, memasuki trend lebih awal, dan mengurangkan kebarangkalian peluang yang terlewat.

  4. Kombinasi pelbagai strategi yang boleh dioptimumkan secara fleksibel
    Strategi terdiri daripada beberapa sub-strategi, ruang untuk pengoptimuman yang besar, boleh dengan menyesuaikan parameter sub-strategi atau memperkenalkan sub-strategi baru untuk mengoptimumkan, menjadikan strategi lebih stabil dan boleh dipercayai.

  5. Logik strategi jelas dan mudah difahami
    Struktur dasar mudah difahami, mudah diubah suai, dan mudah dikekalkan.

Risiko Strategik

  1. Penurunan isyarat gabungan pelbagai kitaran masa
    Walaupun penilaian komprehensif pelbagai kitaran masa dapat meningkatkan ketepatan isyarat, ia juga akan meningkatkan keterlambatan isyarat dan mungkin kehilangan peluang perdagangan garis pendek.

  2. 123 bentuk tidak dapat mengenal pasti lebih panjang trend berbalik
    123 Strategi pembalikan hanya berdasarkan pada beberapa hari kebelakangan ini dan tidak dapat mengenal pasti titik pembalikan trend utama dalam tempoh masa yang lebih lama.

  3. Peraturan parameter kitaran yang tidak betul boleh menyebabkan isyarat palsu
    Penetapan parameter kitaran Stochastic dan High Low Breakout yang tidak betul boleh menyebabkan terlalu banyak isyarat perdagangan palsu.

  4. Kurang adaptasi kepada keadaan khusus berdasarkan petunjuk teknikal sahaja
    Strategi ini hanya berdasarkan kepada petunjuk teknikal dan tidak mengambil kira maklumat asas, dan kurang sesuai untuk peristiwa Black Swan yang besar.

Penyelesaian untuk menghadapi risiko:

  1. Mempercepatkan kitaran pengiraan untuk mengurangkan kelewatan isyarat.

  2. Cuba memperkenalkan indikator atau bentuk yang lebih lama sebagai penapis.

  3. Pengaturan parameter yang dioptimumkan untuk menguji kestabilan parameter dalam pengukuran semula.

  4. Pertimbangkan untuk memfilterkan isyarat dengan menggabungkan faktor asas.

Arah pengoptimuman strategi

  1. Uji dan mengoptimumkan parameter setiap substrategi untuk menjadikannya lebih mantap.

  2. Menambah logik keputusan tambahan, seperti asas, aliran dana, dan lain-lain.

  3. Memperkenalkan strategi hentikan kerugian untuk mengawal kerugian maksimum dalam satu transaksi.

  4. Meningkatkan parameter untuk varieti tertentu, meningkatkan kesesuaian strategi untuk varieti tersebut.

  5. Menambah model pembelajaran mesin untuk membantu membuat keputusan.

ringkaskan

Secara keseluruhannya, strategi penggabungan mengintegrasikan kelebihan indikator teknikal dari pelbagai skala masa, bertujuan untuk meningkatkan ketepatan dan ketepatan masa penghakiman isyarat. Berbanding dengan strategi indikator teknikal tunggal, ia mempunyai keupayaan penghakiman trend yang lebih tajam dan penjanaan isyarat yang lebih stabil. Tetapi strategi ini juga mempunyai beberapa keterbelakangan, dan adaptasi yang lemah terhadap keadaan khusus.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This script shows a high and low period value.
//    Width - width of lines
//    SelectPeriod - Day or Week or Month and etc.
//    LookBack - Shift levels 0 - current period, 1 - previous and etc. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

    
HLL(LookBack, SelectPeriod) =>
    pos = 0.0
    xHigh  = security(syminfo.tickerid, SelectPeriod, high[LookBack])
    xLow   = security(syminfo.tickerid, SelectPeriod, low[LookBack])
    vS1 = xHigh
    vR1 = xLow
    pos := iff(close > vR1, 1,
             iff(close < vS1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High and Low Levels", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SelectPeriod = input(title="Resolution", type=input.resolution, defval="D")
LookBack = input(1,  minval=0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLL = HLL(LookBack, SelectPeriod)
pos = iff(posReversal123 == 1 and posHLL == 1 , 1,
	   iff(posReversal123 == -1 and posHLL == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )