Strategi Reversasi Indeks Kuantitatif Mengintegrasikan Sinyal Tren Dual

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

img

Gambaran umum

Strategi ini disebut Quantitative Reversal Index Strategy Integrating Dual Trend Signals. Strategi ini mengintegrasikan sinyal dari dua strategi yang berbeda - sinyal pembalikan jangka pendek berdasarkan indikator Stochastic dan sinyal tren jangka panjang berdasarkan volume, menggabungkannya menjadi sinyal masuk yang stabil.

Prinsip-prinsip

Strategi ini terdiri dari dua bagian. Bagian pertama menggunakan Stoch 9 hari untuk menghasilkan sinyal pembalikan jangka pendek. Secara khusus, itu pergi panjang ketika penutupan lebih tinggi dari penutupan sebelumnya dan garis cepat Stoch 9 hari di bawah 50 sementara garis lambat di atas 50; itu pergi pendek ketika penutupan lebih rendah dari penutupan sebelumnya dan garis cepat Stoch 9 hari di atas 50 sementara garis lambat di bawah 50. Dengan cara ini, salib emas dan salib kematian Stoch membentuk sinyal pembalikan jangka pendek.

Bagian kedua menggunakan Indeks Volume Negatif (NVI) untuk membentuk sinyal tren jangka panjang. Rumus perhitungan NVI adalah bahwa jika volume hari kurang dari hari sebelumnya, tingkat perubahan harga penutupan hari dikumpulkan; jika volume hari lebih besar dari atau sama dengan hari sebelumnya, nilai hari sebelumnya tetap tidak berubah.

Akhirnya, strategi menggabungkan kedua jenis sinyal. Hanya ketika sinyal pembalikan jangka pendek dan sinyal tren jangka panjang berada di arah yang sama, sinyal masuk akan terbentuk. Ini membantu menyaring sinyal palsu dan meningkatkan stabilitas.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah stabilitas sinyal. Sinyal pembalikan jangka pendek menangkap penyesuaian pasar jangka pendek, sementara sinyal tren jangka panjang memastikan tren besar tetap tidak berubah. Kombinasi keduanya sangat meningkatkan stabilitas sinyal dan dapat secara efektif menyaring sinyal palsu yang memiliki tingkat yang lebih tinggi dari yang jangka pendek.

Selain itu, strategi ini memiliki beberapa parameter dan mudah dioptimalkan. pengguna hanya perlu menyesuaikan parameter NVI untuk menyesuaikan dengan karakteristik pasar yang berbeda.

Analisis Risiko

Risiko terbesar dari strategi ini adalah bahwa mungkin ada keterlambatan waktu antara kedua jenis sinyal. Mungkin ada beberapa keterlambatan antara sinyal pembalikan jangka pendek dan sinyal tren jangka panjang, yang akan menyebabkan sinyal yang tidak konsisten untuk jangka waktu tertentu, tidak dapat membentuk sinyal masuk yang stabil.

Selain itu, indikator NVI juga sensitif terhadap lonjakan volume perdagangan yang tidak normal, yang dapat menyebabkan penilaian yang salah tentang tren jangka panjang.

Untuk mengurangi risiko ini, parameter indikator NVI dapat disesuaikan sesuai, atau stop loss dapat ditambahkan untuk mengendalikan kerugian per perdagangan.

Optimalisasi

Aspek utama untuk mengoptimalkan strategi ini meliputi:

  1. Mengoptimalkan parameter indikator Stoch untuk meningkatkan kemampuan menangkap pembalikan.

  2. Mengoptimalkan panjang siklus indikator NVI untuk meningkatkan kemampuan identifikasi tren jangka panjang.

  3. Tambahkan filter volume perdagangan untuk menghilangkan sinyal palsu dari volume perdagangan yang tidak normal.

  4. Tambahkan strategi stop loss untuk mengendalikan kerugian per perdagangan.

Kesimpulan

Strategi ini dirancang dengan mekanisme masuk yang stabil berdasarkan gagasan pembalikan jangka pendek dan tren jangka panjang untuk secara efektif mengendalikan tingkat positif palsu dan meningkatkan stabilitas sinyal.


/*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 banyak