Kombinasi strategi rata-rata pergerakan ganda dan indikator stokastik


Tanggal Pembuatan: 2024-01-12 11:16:52 Akhirnya memodifikasi: 2024-01-12 11:16:52
menyalin: 0 Jumlah klik: 567
1
fokus pada
1617
Pengikut

Kombinasi strategi rata-rata pergerakan ganda dan indikator stokastik

Ringkasan

Artikel ini membahas tentang strategi perdagangan kuantitatif yang menggunakan kombinasi strategi garis rata ganda dan indikator acak. Strategi ini memanfaatkan kemampuan pelacakan tren garis rata bergerak dan karakteristik overbought dan oversold dari indikator acak untuk membentuk sinyal perdagangan.

Prinsip Strategi

Strategi ini terdiri dari dua bagian:

  1. Strategi Dua Jalur

Dengan menggunakan garis rata-rata bergerak cepat dan garis rata-rata bergerak lambat untuk membentuk sinyal jual beli dan sinyal jual beli. Garis rata-rata bergerak cepat lebih cepat menangkap tren perubahan harga, dan garis rata-rata bergerak lambat memfilter sinyal palsu.

  1. Indikator acak

Menggunakan karakteristik getaran indikator acak untuk mengidentifikasi overbought dan oversold. Ketika indikator acak lebih tinggi dari garis lurus, itu adalah sinyal overbought, dan ketika indikator acak lebih rendah dari garis lurus, itu adalah sinyal oversold.

Setelah dua bagian sinyal terintegrasi, sinyal perdagangan akhir terbentuk. Strategi Garis Garis Ganda melacak tren utama, dan indikator acak membantu menghindari situasi yang tidak menguntungkan.

Analisis Keunggulan Strategi

  • Keuntungan dari indikator gabungan dua rata-rata dan acak, lebih stabil.
  • Pemantauan tren rata-rata, pengesahan indikator acak, efektif.
  • Parameter yang dapat disesuaikan, sesuai dengan kondisi pasar yang berbeda.

Analisis Risiko Strategi

  • Garis dua rata mudah menimbulkan sinyal yang salah.
  • Pengaturan parameter indikator acak yang tidak tepat dapat melewatkan tren.
  • Parameter perlu disesuaikan dengan perubahan situasi.

Anda dapat mengurangi risiko dengan mengoptimalkan kombinasi parameter, atau menambahkan stop loss untuk mengendalikan kerugian.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dengan:

  1. Uji pengaruh dari parameter rata-rata yang berbeda terhadap efektivitas strategi.
  2. Uji pengaruh parameter indikator acak yang berbeda terhadap stabilitas strategi.
  3. Menambahkan indikator penyaringan tren meningkatkan strategi kemenangan.
  4. Menciptakan mekanisme tracking stop loss yang dinamis untuk mengendalikan kerugian.

Meringkaskan

Strategi ini menggunakan kombinasi strategi dua garis lurus dan keunggulan indikator acak. Mengikuti tren utama pasar sambil menghindari pembalikan tren yang tidak menguntungkan. Efek strategi yang lebih baik dapat diperoleh dengan mengoptimalkan kombinasi parameter.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/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
// As the name suggests, High low bands are two bands surrounding the underlying’s 
// price. These bands are generated from the triangular moving averages calculated 
// from the underlying’s price. The triangular moving average is, in turn, shifted 
// up and down by a fixed percentage. The bands, thus formed, are termed as High 
// low bands. The main theme and concept of High low bands is based upon the triangular 
// moving average. 
//
// 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

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

strategy(title="Combo Backtest 123 Reversal & High Low Bands", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HLB = input(14, minval=1)
PercentShift = input(1, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLB = HLB(Length_HLB, PercentShift)
pos = iff(posReversal123 == 1 and posHLB == 1 , 1,
	   iff(posReversal123 == -1 and posHLB == -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 )