Strategi Peralihan Indeks Kuantitatif Mengintegrasikan Isyarat Trend Dual

Penulis:ChaoZhang, Tarikh: 2023-12-26 15:47:36
Tag:

img

Ringkasan

Strategi ini dinamakan Quantitative Reversal Index Strategy Integrating Dual Trend Signals. Ia mengintegrasikan isyarat dari dua strategi yang berbeza - isyarat pembalikan jangka pendek berdasarkan penunjuk Stochastic dan isyarat trend jangka panjang berdasarkan jumlah, menggabungkannya menjadi isyarat kemasukan yang stabil.

Prinsip-prinsip

Strategi ini terdiri daripada dua bahagian. Bahagian pertama menggunakan Stoch 9 hari untuk menjana isyarat pembalikan jangka pendek. Khususnya, ia pergi lama apabila penutupan lebih tinggi daripada penutupan sebelumnya dan garis pantas Stoch 9 hari berada di bawah 50 sementara garis perlahan berada di atas 50; ia pergi pendek apabila penutupan lebih rendah daripada penutupan sebelumnya dan garis pantas Stoch 9 hari berada di atas 50 sementara garis perlahan berada di bawah 50.

Bahagian kedua menggunakan Indeks Volume Negatif (NVI) untuk membentuk isyarat trend jangka panjang. Rumus pengiraan NVI adalah bahawa jika jumlah hari kurang daripada hari sebelumnya, kadar perubahan harga penutupan hari dikumpulkan; jika jumlah hari lebih besar daripada atau sama dengan hari sebelumnya, nilai hari sebelumnya tetap tidak berubah. Isyarat trend jangka panjang dibentuk melalui purata bergerak penunjuk NVI.

Akhirnya, strategi menggabungkan kedua-dua jenis isyarat. Hanya apabila isyarat pembalikan jangka pendek dan isyarat trend jangka panjang berada dalam arah yang sama isyarat masuk akan dibentuk. Ini membantu menapis isyarat palsu dan meningkatkan kestabilan.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah kestabilan isyarat. Isyarat pembalikan jangka pendek menangkap penyesuaian pasaran jangka pendek, sementara isyarat trend jangka panjang memastikan trend besar tidak berubah. Gabungan kedua-duanya sangat meningkatkan kestabilan isyarat dan dapat menapis isyarat palsu yang mempunyai kadar yang lebih tinggi dari yang jangka pendek.

Di samping itu, strategi ini mempunyai beberapa parameter dan mudah dioptimumkan. Pengguna hanya perlu menyesuaikan parameter NVI untuk menyesuaikan diri dengan ciri-ciri pasaran yang berbeza.

Analisis Risiko

Risiko terbesar dari strategi ini adalah bahawa mungkin terdapat kelewatan masa antara kedua-dua jenis isyarat. Mungkin ada beberapa kelewatan antara isyarat pembalikan jangka pendek dan isyarat trend jangka panjang, yang akan menyebabkan isyarat yang tidak konsisten untuk tempoh masa, tidak dapat membentuk isyarat kemasukan yang stabil.

Di samping itu, penunjuk NVI juga sensitif terhadap lonjakan yang tidak normal dalam jumlah dagangan, yang boleh membawa kepada penilaian yang salah mengenai trend jangka panjang.

Untuk mengurangkan risiko ini, parameter penunjuk NVI boleh diselaraskan dengan sewajarnya, atau stop loss boleh ditambahkan untuk mengawal kerugian setiap perdagangan.

Pengoptimuman

Aspek utama untuk mengoptimumkan strategi ini termasuk:

  1. Mengoptimumkan parameter penunjuk Stoch untuk meningkatkan keupayaan menangkap pembalikan.

  2. Mengoptimumkan tempoh kitaran penunjuk NVI untuk meningkatkan keupayaan pengenalan trend jangka panjang.

  3. Tambah penapis jumlah dagangan untuk menghapuskan isyarat palsu daripada jumlah dagangan yang tidak normal.

  4. Tambah strategi stop loss untuk mengawal kerugian setiap perdagangan.

Kesimpulan

Strategi ini direka dengan mekanisme kemasukan yang stabil berdasarkan idea pembalikan jangka pendek dan trend jangka panjang untuk mengawal kadar positif palsu dengan berkesan dan meningkatkan kestabilan isyarat.


/*backtest
start: 2023-12-18 00:00:00
end: 2023-12-21 05:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 29/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
// The theory behind the indexes is as follows: On days of increasing 
// volume, you can expect prices to increase, and on days of decreasing 
// volume, you can expect prices to decrease. This goes with the idea of 
// the market being in-gear and out-of-gear. Both PVI and NVI work in similar 
// fashions: Both are a running cumulative of values, which means you either 
// keep adding or subtracting price rate of change each day to the previous day`s 
// sum. In the case of PVI, if today`s volume is less than yesterday`s, don`t add 
// anything; if today`s volume is greater, then add today`s price rate of change. 
// For NVI, add today`s price rate of change only if today`s volume is less than 
// yesterday`s.
//
// 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


NVI(EMA_Len) =>
    pos = 0.0
    nRes = 0.0
    xROC = roc(close, EMA_Len)
    nRes := iff(volume < volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0))
    nResEMA = ema(nRes, EMA_Len)
    pos := iff(nRes > nResEMA, 1,
    	     iff(nRes < nResEMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Negative Volume Index", 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, "---- Negative Volume Index ----")
EMA_Len = input(50, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNVI = NVI(EMA_Len)
pos = iff(posReversal123 == 1 and posNVI == 1 , 1,
	   iff(posReversal123 == -1 and posNVI == -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