Strategi Katapel Double K


Tarikh penciptaan: 2023-10-18 11:19:07 Akhirnya diubah suai: 2023-10-18 11:19:07
Salin: 0 Bilangan klik: 656
1
fokus pada
1617
Pengikut

Strategi Katapel Double K

Ringkasan: Strategi K-bouncing adalah strategi gabungan yang menggabungkan 123 strategi pembalikan dan Martin Pringle K strategi kelebihan. Strategi ini bertujuan untuk memanfaatkan kelebihan strategi pembalikan dan strategi penunjuk pusingan untuk mendapatkan isyarat membeli dan menjual yang lebih tepat.

Prinsip-prinsip strategi:

Strategi K-Bow terdiri daripada dua bahagian:

  1. Strategi 123 berbalik: Strategi ini berdasarkan ciri-ciri harga penutupan saham berbalik 2 hari berturut-turut, digabungkan dengan penunjuk rawak untuk menentukan masa pembelian dan penjualan. Apabila harga penutupan lebih tinggi daripada hari sebelumnya dan penunjuk rawak lebih rendah daripada 50, dianggap berada dalam tahap penutupan, menghasilkan isyarat membeli; apabila harga penutupan lebih rendah daripada hari sebelumnya dan penunjuk rawak lebih tinggi daripada 50, dianggap berada dalam tahap peruntukan, menghasilkan isyarat jual.

  2. Strategi Martin Pringter K: Strategi ini menggunakan susunan kurva harga kuantiti berkala yang berbeza untuk membentuk satu indikator kitaran komprehensif. Apabila indikator itu melintasi purata bergeraknya, ia menghasilkan isyarat beli; apabila ia melintasi purata bergeraknya, ia menghasilkan isyarat jual.

Strategi peluru dua K menggunakan gabungan dua isyarat strategi, iaitu kedua-dua strategi perlu menghantar isyarat membeli / menjual pada masa yang sama, sebelum perdagangan sebenar. Dengan cara ini, kedua-dua strategi dapat menggunakan kelebihan masa pertimbangan masing-masing, dan mengelakkan salah satu strategi menghasilkan isyarat yang salah.

Analisis kelebihan:

  • Menggabungkan kedua-dua penilaian strategi, menjadikan isyarat beli dan jual lebih dipercayai, dan mengelakkan perdagangan yang salah.

  • Strategi pembalikan 123 dapat menangkap peluang pembalikan jangka pendek, strategi Martin Pringle K dapat menilai trend jangka panjang, kedua-duanya digabungkan untuk mempertimbangkan jangka pendek dan jangka panjang.

  • Menggunakan kurva kuantiti dan harga pelbagai kitaran, mempunyai kefahaman yang tajam mengenai irama pasaran kitaran besar.

  • Parameter penunjuk rawak boleh dioptimumkan untuk menyesuaikan diri dengan ciri-ciri saham yang berbeza.

Analisis risiko:

  • Ia mungkin terlepas beberapa titik jual beli semasa isyarat penggabungan, dan tidak dapat mengesan sepenuhnya pasaran jangka pendek.

  • Dalam keadaan luar sampel, kedua-dua isyarat strategi mungkin tidak selaras dan perlu disahkan dengan tepat arah pilihan.

  • Parameter yang memerlukan pemantauan dan pengoptimuman kedua-dua strategi pada masa yang sama adalah lebih sukar untuk dioptimumkan.

  • Optimasi parameter penunjuk jangka panjang dan pendek yang tidak betul mungkin terlepas titik peralihan kitaran.

Arah untuk dioptimumkan:

  • Uji kesan parameter yang berbeza terhadap kesan strategi untuk mencari kombinasi parameter yang optimum.

  • Menambah modul stop loss untuk mengelakkan kerugian daripada berkembang.

  • Tambah modul pengoptimuman jumlah kedudukan terbuka dan sesuaikan kedudukan mengikut keadaan pasaran.

  • Menggabungkan kaedah pembelajaran mesin, untuk melatih model isyarat beli dan jual yang lebih kuat.

  • Tambah modul pengoptimuman parameter penyesuaian untuk membolehkan parameter strategi mengikuti kadar pasaran secara dinamik.

Kesimpulannya:

Strategi double K bouncing bow berjaya menggabungkan kelebihan strategi pembalikan dan strategi penunjuk pusingan, sambil memastikan kualiti isyarat, menyemak peluang keuntungan jangka pendek dan jangka panjang. Strategi ini baru, layak untuk diuji dan dioptimumkan lebih lanjut, dan berpotensi menjadi strategi kestabilan. Tetapi masih perlu memberi perhatian kepada kawalan risiko dan pengoptimuman parameter untuk memperoleh keuntungan yang stabil di pasaran yang berubah-ubah yang kompleks.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/02/2021
// 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
// Pring's Special K is a cyclical indicator created by Martin Pring. 
// His method combines short-term, intermediate and long-term velocity 
// into one complete series. Useful tool for Long Term Investors
// Modified for any source.
//
// 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


MPSK(a, sources) =>
    pos = 0.0
    roc1 = (sma(roc(sources,10),10)*1)
    roc2 = (sma(roc(sources,15),10)*2)
    roc3 = (sma(roc(sources,20),10)*3)
    roc4 = (sma(roc(sources,30),15)*4)
    roc5 = (sma(roc(sources,40),50)*1)
    roc6 = (sma(roc(sources,65),65)*2)
    roc7 = (sma(roc(sources,75),75)*3)
    roc8 = (sma(roc(sources,100),100)*4)
    roc9 = (sma(roc(sources,195),130)*1)
    roc10 = (sma(roc(sources,265),130)*2)
    roc11 = (sma(roc(sources,390),130)*3)
    roc12 = (sma(roc(sources,530),195)*4)
    osc = roc1+roc2+roc3+roc4+roc5+roc6+roc7+roc8+roc9+roc10+roc11+roc12
    oscsmt = sma(osc,a)
    pos := iff(osc > oscsmt, 1,
    	     iff(osc < oscsmt, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Martin Pring's Special K", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Martin Pring`s ----")
a = input(10, title = "Smooth" )
sources = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMPSK = MPSK(a,sources)
pos = iff(posReversal123 == 1 and posMPSK == 1 , 1,
	   iff(posReversal123 == -1 and posMPSK == -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 )