Membalikkan Strategi Sampul Purata Bergerak


Tarikh penciptaan: 2023-10-20 16:05:43 Akhirnya diubah suai: 2023-10-20 16:05:43
Salin: 0 Bilangan klik: 766
1
fokus pada
1617
Pengikut

Membalikkan Strategi Sampul Purata Bergerak

Gambaran keseluruhan

Strategi rantaian rantaian berbalik adalah strategi perdagangan kuantitatif yang menggunakan kedua-dua petunjuk teknikal perdagangan berbalik dan rantaian rantaian rata. Ia menggabungkan kelebihan strategi rantaian berbalik untuk menangkap peluang pembalikan pasaran dan rantaian rantaian rata untuk menentukan arah trend, untuk mencapai keuntungan yang stabil.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian:

Bahagian pertama adalah strategi 123 berbalik. Sinyal dagangan yang berasal dari penunjuk rawak KDJ. Logik khusus adalah: jika harga penutupan dua hari berturut-turut lebih rendah daripada harga penutupan hari sebelumnya, dan pada hari ke-9 garis perlahan rawak lebih rendah daripada 50, menghasilkan isyarat beli; jika harga penutupan dua hari berturut-turut lebih tinggi daripada harga penutupan hari sebelumnya, dan pada hari ke-9 garis pantas lebih tinggi daripada 50, menghasilkan isyarat jual.

Bahagian kedua adalah strategi rangkaian rapat rata. Ia menggunakan garis rata dan dua rangkaian rangkaian bawah garis rata untuk menentukan trend. Logik khusus adalah: jika harga penutupan lebih tinggi daripada trek atas, menghasilkan isyarat beli; jika harga penutupan lebih rendah daripada trek bawah, menghasilkan isyarat jual.

Strategi ini menggunakan gabungan kedua-dua isyarat perdagangan di atas, apabila 123 reverse dan even line closing network menghantar isyarat beli pada masa yang sama, strategi akan membuka kedudukan lebih banyak; apabila kedua-duanya menghantar isyarat menjual pada masa yang sama, strategi akan membuka kedudukan kosong. Ini dapat menyaring beberapa isyarat tidak berkesan, mengurangkan frekuensi perdagangan dan meningkatkan kebarangkalian keuntungan.

Analisis kelebihan

  • Meningkatkan peluang keuntungan dengan membalikkan trend

123 strategi pembalikan yang mahir dalam menangkap peluang pembalikan berhampiran dengan rintangan sokongan utama. Strategi rangkaian pengikat linear dapat menentukan arah trend dengan tepat. Kedua-duanya digunakan bersama-sama untuk menangkap pembalikan di lokasi yang berkemungkinan tinggi.

  • Penapisan berganda mengurangkan kekerapan transaksi

Strategi ini hanya berlaku apabila kedua-dua indikator memberi isyarat pada masa yang sama. Ini mengelakkan gangguan oleh terlalu banyak isyarat tidak sah yang dihasilkan oleh satu indikator, yang mengurangkan frekuensi perdagangan dan membantu mengurangkan kos perdagangan.

  • parametrizable parameters memberikan fleksibiliti kepada strategi

Parameter penunjuk dalam strategi boleh disesuaikan, pengguna boleh memilih kombinasi parameter yang sesuai mengikut keadaan pasaran dan keutamaan peribadi, menjadikan strategi lebih sesuai.

  • Perdagangan unilateral memudahkan operasi

Strategi ini hanya melakukan perdagangan satu sisi berganda atau kosong, tanpa membuka posisi terbalik. Ini menyederhanakan logik operasi strategi dan mengurangkan risiko durasi.

Analisis risiko

  • Perdagangan berbalik sukar untuk menangkap trend

Strategi ini bergantung kepada keuntungan perdagangan terbalik. Strategi ini mungkin menghasilkan kerugian berturut-turut apabila berlaku trend unilateral jangka panjang.

  • Kesukaran mengoptimumkan parameter

Strategi mengandungi beberapa parameter yang boleh disesuaikan, yang menyebabkan kesukaran untuk mengoptimumkan parameter. Kombinasi parameter yang tidak betul boleh mempengaruhi prestasi strategi.

  • Kadar pertukaran yang tinggi meningkatkan risiko dagangan

Strategi yang direka untuk menukarkan kedudukan dengan kerap, walaupun boleh mengunci keuntungan kecil, tetapi terlalu kerap perdagangan juga akan meningkatkan kos perdagangan dan risiko kejutan.

  • Tiada had pengeluaran maksimum

Strategi tidak mempunyai titik berhenti rugi dan tidak dapat mengawal pengunduran maksimum dengan berkesan. Strategi mungkin menghadapi kerugian yang besar jika berlaku peristiwa Black Swan yang besar.

Arah pengoptimuman

  • Meningkatkan strategi hentikan kerugian

Penutupan bergerak atau penutupan pengesanan boleh ditetapkan untuk mengehadkan pengeluaran maksimum. Penutupan tepat pada masanya dapat melindungi dana apabila pasaran berubah secara tidak normal.

  • Kombinasi parameter pengoptimuman

Optimasi parameter, menentukan kombinasi parameter terbaik, meningkatkan kestabilan strategi melalui pengesanan balik dan simulasi perdagangan. Anda juga boleh merancang mekanisme pengoptimuman parameter dinamik, menjadikan strategi lebih mudah menyesuaikan diri.

  • Gabungan dengan petunjuk lain untuk penapisan isyarat

Menambah petunjuk seperti MACD, Brinband dan lain-lain untuk mengesahkan isyarat perdagangan dapat meningkatkan kualiti isyarat dan mengurangkan perdagangan yang tidak sah.

  • Menurunkan frekuensi transaksi

Melepaskan syarat-syarat pembalikan dan menyesuaikan parameter garis rata-rata, mengurangkan kekerapan pertukaran kedudukan, membantu mengurangkan kos perdagangan dan risiko kejutan.

ringkaskan

Strategi rangkaian rantaian rantaian rantaian rantaian menggunakan kelebihan perdagangan berbalik dan pengesanan trend, dengan syarat mengawal risiko, untuk mencapai keuntungan tambahan yang stabil. Strategi ini dapat dioptimumkan lebih jauh, menjadikan kombinasi parameternya lebih saintifik, sehingga menghasilkan prestasi perdagangan yang lebih baik. Ia menyediakan strategi strategi yang berkesan yang menggabungkan pelbagai isyarat perdagangan, sesuai untuk keadaan trend dan pasaran keseluruhan, yang bernilai belajar dan digunakan oleh pedagang kuantitatif.

Kod sumber strategi
/*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 )