Strategi gabungan pembalikan momentum pelbagai faktor


Tarikh penciptaan: 2023-11-21 11:20:31 Akhirnya diubah suai: 2023-11-21 11:20:31
Salin: 1 Bilangan klik: 600
1
fokus pada
1617
Pengikut

Strategi gabungan pembalikan momentum pelbagai faktor

Gambaran keseluruhan

Strategi ini adalah strategi kombinasi pelbagai faktor, digabungkan dengan penggunaan faktor pembalikan dan faktor momentum, yang bertujuan untuk mencari peluang pembalikan di pasaran. Strategi ini menggunakan faktor pembalikan negatif lama untuk mengenal pasti peluang pembalikan selepas penurunan, dan kemudian menggunakan indikator momentum untuk menyaring kedua, menyaring isyarat pembalikan palsu di bawah trend besar, dan dengan itu mengunci peluang pembiayaan pembalikan garis pendek.

Prinsip Strategi

Strategi ini terdiri daripada dua bahagian:

  1. 123 faktor pembalikan

Bahagian ini menggunakan pemikiran pembalikan dalam hari untuk menilai hubungan harga penutupan hari sebelumnya dengan harga penutupan dua hari sebelumnya, dengan pengiktirafan peluang pembalikan K line perlahan. Logik khusus adalah:

  • isyarat beli: isyarat beli dihasilkan apabila harga penutupan meningkat selepas dua hari berturut-turut harga penutupan jatuh, dan sembilan hari garis K perlahan di bawah 50;

  • Sinyal jual: Sinyal jual dihasilkan apabila dua hari berturut-turut harga penutupan naik dan harga penutupan jatuh pada hari itu, dan sembilan hari K Line pantas lebih tinggi daripada 50.

  1. Indeks Gempa Bergerak Elgidik (ETSI)

Bahagian ini menggunakan tiga EMA untuk membina indikator dinamika. Formula indikator adalah seperti berikut:

   xPrice1 = close - close[1]  
   xPrice2 = abs(close - close[1])
   xSMA_R = EMA(EMA(EMA(xPrice1,r), s), u) 
   xSMA_aR = EMA(EMA(EMA(xPrice2, r), s), u)
   xTSI = xSMA_R / xSMA_aR * 100
   xEMA_TSI = EMA(xTSI, N)

Di antaranya, xSMA_R adalah EMA smoothed nilai pergerakan harga, xSMA_aR adalah EMA smoothed nilai kadar turun naik harga, xTSI adalah penunjuk dinamik yang terdiri daripada nisbah kedua-dua, xEMA_TSI adalah lagi EMA smoothed xTSI. Penunjuk ini menilai hubungan antara xTSI dan xEMA_TSI, sebagai isyarat perdagangan.

Akhirnya, strategi menjalankan operasi AND pada kedua-dua bahagian isyarat, dan hanya menghasilkan arahan perdagangan sebenar apabila kedua-dua bahagian faktor menghantar isyarat.

Kelebihan Strategik

Kelebihan utama strategi ini adalah reka bentuk pelbagai faktor yang dapat menyaring isyarat palsu dan mencari peluang perdagangan berkualiti tinggi. Secara khusus, terdapat tiga perkara utama:

  1. 123 faktor pembalikan dapat mengenal pasti titik rebound jangka pendek selepas penurunan.

  2. Penunjuk dinamik Elgdic dapat menentukan arah trend besar dengan berkesan, mengelakkan isyarat pembalikan berlaku di bawah trend besar, dan dengan itu menyaring isyarat palsu.

  3. Dua bahagian isyarat menggunakan operasi AND, yang dapat meningkatkan kualiti isyarat dan meningkatkan kestabilan strategi.

Risiko Strategik

Walaupun strategi ini menggunakan reka bentuk pelbagai faktor untuk mengawal risiko, risiko utama adalah:

  1. Tanda-tanda pembalikan mungkin berlaku dalam trend bergolak dan tidak dapat menghasilkan keuntungan.

  2. Penetapan parameter antara kedua-dua faktor adalah subjektif dan mungkin terlalu sesuai untuk jenis tertentu.

  3. Ia boleh meningkatkan risiko kerugian apabila harga kembali ke arah yang sama selepas berbalik.

Risiko ini dapat dikurangkan dengan mengoptimumkan parameter untuk menyesuaikan diri dengan lebih banyak jenis, mengawal masa pemegang pasca-balik, pemantauan hubungan indikator yang berubah dalam masa nyata dan sebagainya.

Pengoptimuman Strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Sesuaikan parameter dua faktor untuk mencari sampel data yang lebih sesuai.

  2. Tambah strategi hentikan kerugian dan kawal kerugian tunggal.

  3. Kombinasi parameter yang berbeza digunakan untuk varieti trend dan varieti getaran.

  4. Meningkatkan mekanisme penimbangan faktor untuk memberi penimbangan kepada faktor yang lebih baik.

  5. Menambah algoritma pembelajaran mesin untuk mengoptimumkan dan mengemas kini parameter secara automatik.

ringkaskan

Strategi ini berjaya menggabungkan faktor pembalikan dan metrik momentum untuk mencapai reka bentuk pengoptimuman pelbagai faktor. Ia dapat mengenal pasti peluang pembalikan jangka pendek dengan berkesan, dan menggunakan metrik momentum untuk mengesahkan kedua isyarat, sehingga meningkatkan peluang kemenangan strategi. Walaupun strategi masih mempunyai ruang untuk penambahbaikan, pemikiran terasnya memberikan rujukan yang baik untuk reka bentuk strategi kuantitatif.

Kod sumber strategi
/*backtest
start: 2023-10-21 00:00:00
end: 2023-11-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/07/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
// r - Length of first EMA smoothing of 1 day momentum        4
// s - Length of second EMA smoothing of 1 day smoothing      8    
// u- Length of third EMA smoothing of 1 day momentum         6  
// Length of EMA signal line                                  3
// Source of Ergotic TSI                                      Close
//
// This is one of the techniques described by William Blau in his book "Momentum,
// Direction and Divergence" (1995). If you like to learn more, we advise you to 
// read this book. His book focuses on three key aspects of trading: momentum, 
// direction and divergence. Blau, who was an electrical engineer before becoming 
// a trader, thoroughly examines the relationship between price and momentum in 
// step-by-step examples. From this grounding, he then looks at the deficiencies 
// in other oscillators and introduces some innovative techniques, including a 
// fresh twist on Stochastics. On directional issues, he analyzes the intricacies 
// of ADX and offers a unique approach to help define trending and non-trending periods.  
//
// 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


ETSI(r,s,u,SmthLen) =>
    pos = 0
    xPrice = close
    xPrice1 = xPrice - xPrice[1]
    xPrice2 = abs(xPrice - xPrice[1])
    xSMA_R = ema(ema(ema(xPrice1,r), s),u)
    xSMA_aR = ema(ema(ema(xPrice2, r), s),u)
    Val1 = 100 * xSMA_R
    Val2 = xSMA_aR
    xTSI = iff (Val2 != 0, Val1 / Val2, 0)
    xEMA_TSI = ema(xTSI, SmthLen)
    pos:= iff(xTSI > xEMA_TSI, 1,
    	   iff(xTSI < xEMA_TSI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic TSI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(4, minval=1)
s = input(8, minval=1)
u = input(6, minval=1)
SmthLen = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posETSI = ETSI(r,s,u,SmthLen)
pos = iff(posReversal123 == 1 and posETSI == 1 , 1,
	   iff(posReversal123 == -1 and posETSI == -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 )