123 Strategi Envelope Purata Bergerak Peralihan

Penulis:ChaoZhang, Tarikh: 2023-10-20 16:05:43
Tag:

img

Ringkasan

Strategi Envelope Purata Bergerak Pembalikan 123 adalah strategi perdagangan kuantitatif yang menggabungkan teknik perdagangan pembalikan 123 dan penunjuk envelope purata bergerak.

Logika Strategi

Strategi ini terdiri daripada dua bahagian:

Bahagian pertama adalah strategi pembalikan 123. Isyarat dagangnya berasal dari osilator KDJ. Khususnya, jika harga penutupan lebih rendah daripada penutupan sebelumnya selama dua hari perdagangan berturut-turut, dan garis K perlahan 9 hari di bawah 50, isyarat beli dihasilkan; jika harga penutupan lebih tinggi daripada penutupan sebelumnya selama dua hari perdagangan berturut-turut, dan garis K cepat 9 hari di atas 50, isyarat jual dihasilkan.

Bahagian kedua adalah strategi sampul purata bergerak. Ia menggunakan purata bergerak dan garis sampul di atas dan di bawah purata bergerak untuk menentukan trend. Khususnya, jika harga penutupan lebih tinggi daripada band atas, isyarat beli dihasilkan; jika harga penutupan lebih rendah daripada band bawah, isyarat jual dihasilkan.

Strategi ini menggabungkan dua jenis isyarat perdagangan di atas. Ia hanya akan membuka kedudukan panjang apabila 123 pembalikan dan sampul purata bergerak kedua-duanya memberi isyarat beli; ia hanya akan membuka kedudukan pendek apabila kedua-duanya memberi isyarat jual. Ini menapis beberapa isyarat yang tidak sah dan mengurangkan kekerapan perdagangan sambil meningkatkan keuntungan.

Analisis Kelebihan

  • Menggabungkan pembalikan dan trend untuk meningkatkan keuntungan

    Strategi pembalikan 123 cemerlang dalam menangkap peluang pembalikan berhampiran tahap sokongan dan rintangan utama. Strategi sampul purata bergerak menentukan arah trend dengan tepat. Menggunakan kedua-duanya meningkatkan kebarangkalian menangkap pembalikan pada tahap harga yang berkemungkinan tinggi.

  • Penapis berganda mengurangkan kekerapan dagangan

    Perdagangan hanya diambil apabila kedua-dua penunjuk memberikan isyarat.Ini mengelakkan gangguan daripada isyarat yang tidak sah yang berlebihan dari satu penunjuk dan dengan itu mengurangkan kekerapan perdagangan dan kos.

  • Parameter yang boleh disesuaikan memberikan fleksibiliti

    Parameter yang boleh diselaraskan membolehkan pengguna menyesuaikan strategi dengan keadaan pasaran dan pilihan peribadi untuk peningkatan kesesuaian.

  • Perdagangan satu sisi memudahkan operasi

    Strategi ini hanya pergi panjang atau pendek, tanpa kedudukan terbalik.

Analisis Risiko

  • Kembalikan perjuangan dalam trend berterusan

    Strategi ini bergantung terutamanya pada pembalikan keuntungan. Semasa tempoh trend yang panjang, ia mungkin menghasilkan kerugian berterusan.

  • Pengoptimuman parameter adalah sukar

    Banyak parameter yang boleh diselaraskan menimbulkan cabaran pengoptimuman. Gabungan parameter yang tidak betul boleh merosot prestasi.

  • Pertukaran yang tinggi meningkatkan risiko perdagangan

    Perubahan kedudukan yang kerap membolehkan kunci dalam keuntungan kecil tetapi juga meningkatkan kos dan risiko dari overtrading.

  • Tiada had pengambilan

    Keadaan Black Swan boleh menyebabkan kerugian yang teruk.

Arahan pengoptimuman

  • Tambah stop loss

    Melaksanakan pergerakan atau penangguhan stop loss untuk mengehadkan pengeluaran.

  • Mengoptimumkan parameter

    Ujian ke belakang dan ke hadapan untuk mencari parameter optimum untuk kestabilan yang lebih tinggi.

  • Tambah penapis isyarat

    Menambah penapis seperti MACD dan Bollinger Bands boleh mengesahkan isyarat dan meningkatkan kualiti sambil mengurangkan perdagangan yang tidak diingini.

  • Mengurangkan kekerapan perdagangan

    Keadaan pembalikan yang sederhana dan menyesuaikan tetapan purata bergerak untuk turunkan perolehan boleh mengurangkan kos dan risiko.

Kesimpulan

Strategi Envelope Purata Bergerak 123 menggabungkan kekuatan perdagangan pembalikan dan trend berikut untuk prestasi yang lebih baik yang disesuaikan dengan risiko yang stabil. Pengoptimuman lanjut dapat meningkatkan ketahanan parameter untuk hasil yang lebih baik. Sintesisnya yang berkesan dari pelbagai jenis isyarat menjadikannya sesuai untuk trend dan julat, dan berbaloi untuk dipelajari dan dilaksanakan oleh peniaga kuant.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/03/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
// Moving Average Envelopes are percentage-based envelopes set above and 
// below a moving average. The moving average, which forms the base for 
// this indicator, can be a simple or exponential moving average. Each 
// envelope is then set the same percentage above or below the moving average. 
// This creates parallel bands that follow price action. With a moving average 
// as the base, Moving Average Envelopes can be used as a trend following indicator. 
// However, this indicator is not limited to just trend following. The envelopes 
// can also be used to identify overbought and oversold levels when the trend is 
// relatively flat. 
//
// 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


MAE(Length,PercentShift) =>
    pos = 0.0
    xSMA = sma(close, Length)
    xHighBand = xSMA + (xSMA * PercentShift / 100)
    xLowBand = xSMA - (xSMA * PercentShift / 100)
    pos := iff(close > xHighBand, 1,
             iff(close <xLowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Moving Average Envelopes", 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, "---- MA Envelope ----")
LengthMA = input(18, minval=1)
PercentShift = input(0.2, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMAE = MAE(LengthMA,PercentShift)
pos = iff(posReversal123 == 1 and posMAE == 1 , 1,
	   iff(posReversal123 == -1 and posMAE == -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