Strategi Selektif Tumpukan Pembalikan Berganda

Penulis:ChaoZhang, Tarikh: 2023-10-26 16:56:56
Tag:

img

Ringkasan

Strategi Selektif Tumpukan Pembalikan Berganda menggabungkan strategi perdagangan pembalikan dengan penapis terlalu banyak beli untuk mencapai peruntukan aset dan perdagangan masa. Ia bertujuan untuk mengambil kedudukan panjang dan pendek pada titik pembalikan trend sambil mengelakkan perdagangan yang tidak perlu di zon lanjutan yang tidak rasional menggunakan penunjuk terlalu banyak beli.

Logika Strategi

Strategi ini terdiri daripada dua sub-strategi yang bertindih:

  1. 123 Strategi Pembalikan

Strategi ini menggunakan isyarat pembalikan berdasarkan dua hari berturut-turut pembalikan harga penutupan. Khususnya, ia panjang jika harga penutupan meningkat dalam dua hari terakhir dan stokastik perlahan 9 hari di bawah 50, dan pendek jika harga penutupan jatuh dalam dua hari terakhir dan stokastik cepat 9 hari di atas 50. Strategi pembalikan ini bertujuan untuk menangkap pembalikan trend jangka pendek.

  1. Strategi pengayun DSS

Strategi ini menggunakan pengayun DSS untuk analisis overbought-oversold. Ia pergi panjang jika MA 5 hari di bawah MA 10 hari dan tahap oversold 20, dan pergi pendek jika MA 5 hari di atas MA 10 hari dan tahap overbought 80. Strategi overbought-oversold ini membantu mengelakkan perdagangan yang tidak perlu di zon yang tidak rasional.

Isyarat akhir dihasilkan hanya apabila kedua-dua strategi bersetuju. ini meningkatkan keuntungan dengan menggabungkan kekuatan kedua-dua jenis strategi.

Analisis Kelebihan

  1. Menggabungkan kelebihan strategi pembalikan dan overbought-oversold - menangkap pembalikan jangka pendek sambil mengelakkan perdagangan zon yang tidak rasional.

  2. Logik yang mudah dan beberapa parameter menjadikan pembalikan 123 mudah dilaksanakan.

  3. Gabungan meningkatkan kebolehpercayaan isyarat dengan mengurangkan isyarat palsu.

  4. Penyesuaian parameter yang fleksibel menyesuaikan strategi dengan pasaran yang berbeza.

Analisis Risiko

  1. Strategi pembalikan mempunyai picking up pennies risiko dan whipsaw di pasaran pelbagai.

  2. Pengoptimuman DSS adalah sukar dan sensitif kepada parameter.

  3. Isyarat yang berlainan mungkin kehilangan peluang perdagangan.

  4. Penunjuk harga mudah mengehadkan keuntungan.

Penyelesaian:

  1. Memendekkan tempoh tahan untuk mengurangkan risiko whipsaw.

  2. Penyesuaian parameter yang teliti berdasarkan contoh yang berjaya.

  3. Tambah penapis untuk meningkatkan strategi.

  4. Mengoptimumkan masa kemasukan atau saiz kedudukan.

Arahan Peningkatan

  1. Uji penunjuk pembalikan lain untuk meningkatkan ketepatan isyarat.

  2. Terokai penunjuk alternatif overbought-oversold seperti RSI.

  3. Tambah stop loss untuk mengunci keuntungan dan had kerugian.

  4. Mengoptimumkan parameter untuk pasaran yang berbeza.

  5. Pertimbangkan penyesuaian parameter dinamik.

  6. Membina model pembelajaran mesin untuk menjana isyarat.

Kesimpulan

Strategi Selektif Tumpukan Pembalikan Berganda menyediakan kedua-dua peruntukan aset dan fungsi perdagangan masa melalui menggabungkan strategi pembalikan dan overbought-oversold. Ia mempunyai kelebihan seperti parameter yang fleksibel, logik yang mudah, dan pelaksanaan yang mudah, dengan berkesan menapis perdagangan bising di zon yang tidak rasional. Tetapi terdapat batasan seperti risiko pembalikan dan kesukaran pengoptimuman parameter. Peningkatan masa depan boleh datang dari penambahan stop loss, pengoptimuman parameter, penggabungan pembelajaran mesin dll. Secara keseluruhan, ia menyediakan penyelesaian perdagangan kuantitatif yang mantap.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/03/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
// Double Smoothed Stochastics (DSS) is designed by William Blaw. 
// It attempts to combine moving average methods with oscillator principles. 
//
// 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

DSSB(PDS, EMAlen,TriggerLen,Overbought,Oversold) =>
    pos = 0
    xPreCalc = ema(stoch(close, high, low, PDS), EMAlen)
    xDSS = ema(stoch(xPreCalc, xPreCalc, xPreCalc, PDS), EMAlen)
    xTrigger = ema(xDSS, TriggerLen)
    pos := iff(xTrigger < xDSS and xTrigger < Oversold, -1,
	         iff(xTrigger > xDSS and xTrigger > Overbought, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & DSS Bressert", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PDS = input(10, minval=1)
EMAlen = input(9, minval=1)
TriggerLen = input(5, minval=1)
Overbought = input(80, minval=1)
Oversold = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDSS = DSSB(PDS, EMAlen,TriggerLen,Overbought,Oversold)
pos = iff(posReversal123 == 1 and posDSS == 1 , 1,
	   iff(posReversal123 == -1 and posDSS == -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