Strategi Dagangan Siklus Dua Faktor

Penulis:ChaoZhang, Tarikh: 2023-12-05 17:56:27
Tag:

img

Ringkasan

Strategi perdagangan kitaran faktor dua adalah strategi perdagangan kuantitatif. Ia menggabungkan dua jenis penunjuk teknikal yang berbeza untuk menjana isyarat perdagangan dan mengesan trend pasaran untuk pulangan yang berlebihan.

Kelebihan strategi ini adalah bahawa ia dapat mencari peluang perdagangan dengan menggabungkan faktor yang berbeza dan pengesahan berganda dapat meningkatkan kebolehpercayaan isyarat dan mengurangkan kebarangkalian perdagangan yang salah. Pada masa yang sama, strategi ini memanfaatkan sepenuhnya perdagangan kitaran, iaitu posisi stop loss yang tepat pada masanya dan posisi pembukaan terbalik, yang dapat mengawal risiko dengan berkesan.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian:

  1. 123 Strategi Pembalikan Strategi ini berasal dari buku How I Tripled My Money in the Futures Market oleh Ulf Jensen. Logik dagangnya adalah: apabila harga penutupan lebih tinggi daripada harga penutupan sebelumnya selama dua hari berturut-turut, dan garis K perlahan 9 hari lebih rendah daripada 50, pergi panjang; apabila harga penutupan lebih rendah daripada harga penutupan sebelumnya selama dua hari berturut-turut, dan garis K cepat 9 hari lebih tinggi daripada 50, pergi pendek.

  2. Strategi Pemantauan Kembali Sokongan/Tentang
    Strategi ini menghasilkan isyarat dengan menilai sama ada harga memecahkan tahap sokongan atau rintangan utama. Apabila harga memecahkan harga tertinggi hari dagangan sebelumnya, ia menunjukkan isyarat kenaikan; apabila harga memecahkan di bawah harga terendah hari dagangan sebelumnya, ia menunjukkan isyarat penurunan.

Dengan menggabungkan isyarat dua strategi di atas, posisi terbuka apabila kedua-dua isyarat adalah konsisten, sebaliknya kedudukan yang jelas. mod pembukaan terbalik juga ditetapkan untuk menghentikan kerugian dan membalikkan perdagangan dengan tepat pada masanya apabila pasaran berubah, untuk mencapai operasi kitaran dana.

Analisis Kelebihan

Strategi perdagangan kitaran faktor dua ini mempunyai kelebihan berikut:

  1. Reka bentuk pelbagai faktor memastikan kebolehpercayaan isyarat yang tinggi. Strategi pembalikan 123 dan strategi sokongan / rintangan saling mengesahkan dan dapat mengurangkan isyarat yang salah.

  2. Mekanisme kitaran membolehkan strategi untuk menyesuaikan diri dengan perubahan pasaran dan mengawal kerugian sepihak dengan berkesan.

  3. Penggunaan penunjuk Stochastics 9 hari dapat menapis bunyi pasaran dan membuat isyarat yang lebih jelas.

  4. Ia kurang berisiko daripada strategi faktor tunggal dan mempunyai pengeluaran yang lebih kecil.

Analisis Risiko

Strategi ini juga menimbulkan beberapa risiko:

  1. Adalah sukar untuk menangkap trend dengan baik di pasaran sampingan, dan sering berhenti kerugian dan bukaan terbalik akan meningkatkan kos transaksi.

  2. Tetapan parameter Stochastics akan menjejaskan kualiti isyarat. Parameter yang tidak betul boleh menyebabkan kesalahan isyarat dan kemerosotan kualiti. Parameter perlu diuji dan dioptimumkan berulang kali.

  3. Walaupun reka bentuk faktor dua meningkatkan kualiti isyarat, ia juga meningkatkan kesan pasaran kebisingan pada strategi.

Arahan pengoptimuman

Kita boleh mengoptimumkan lagi strategi ini dari aspek berikut:

  1. Ujian Stokastis panjang kitaran yang berbeza untuk mencari kombinasi parameter optimum untuk menghapuskan bunyi pasaran

  2. Tambah penapis trend untuk menapis pasaran sampingan dan hanya membuka kedudukan dalam trend yang jelas

  3. Mengoptimumkan algoritma tetapan garis stop loss untuk mengurangkan kos transaksi sambil memastikan stop loss yang berkesan

  4. Uji gabungan faktor yang berbeza untuk mencari kombinasi faktor dengan isyarat perdagangan yang lebih jelas dan strategi yang lebih stabil

Ringkasan

Melalui reka bentuk faktor dua, strategi ini telah memperoleh kualiti isyarat yang lebih tinggi dan pulangan yang disesuaikan dengan risiko. Pada masa yang sama, penggunaan dagangan kitaran berkesan mengawal kerugian di pasaran sepihak. Strategi ini telah mencapai keseimbangan yang baik antara risiko dan pulangan.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 13/11/2019
// 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
// Cueing Off Support And Resistance Levels, by Thom Hartle 
// modified by HPotter for trade signals.
// The related article is copyrighted material from Stocks & Commodities.
//
// 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

COSRL(SigVal) =>
    pos = 0.0
    xLow = low
    xHigh = high
    xHighD = security(syminfo.tickerid,"W", high[1])
    xLowD  = security(syminfo.tickerid,"W", low[1])
    sigpre1 = iff(xHigh <= xLowD, -1,
                 iff(xLow >= xHighD, 1, nz(pos[1], 0))) 
    sigpre2 = iff( xHigh <= xHighD, -1,
                 iff(xLow >= xLowD, 1, nz(pos[1], 0))) 
    pos := SigVal ? sigpre1 : sigpre2
    pos

strategy(title="Combo Backtest 123 Reversal & Cueing Off Support And Resistance 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)
//-------------------------
SigVal = input(true, title="To Line \ From Line")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCOSRL = COSRL(SigVal)
pos = iff(posReversal123 == 1 and posCOSRL == 1 , 1,
	   iff(posReversal123 == -1 and posCOSRL == -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 )

Lebih lanjut