Strategi Pelacakan Pembalikan dengan Mekanisme Ganda

Penulis:ChaoZhang, Tanggal: 2024-01-05 15:09:19
Tag:

img

Gambaran umum

Strategi ini menggabungkan kekuatan indikator mekanisme ganda dengan menggunakan pola 123 untuk menentukan sinyal pembalikan, dan dibantu oleh Indeks Volume Harga untuk menentukan sinyal momentum, untuk menangkap tren pembalikan jangka pendek.

Logika Strategi

  1. 123 pola untuk sinyal pembalikan

    • Dibangun dengan 9 hari Stoch jalur cepat dan jalur lambat

    • Ketika harga penutupan turun selama 2 hari berturut-turut dan naik pada hari ke-3, dan garis cepat Stoch di bawah 50, sinyal beli dihasilkan

    • Ketika harga tutup naik selama 2 hari berturut-turut dan jatuh pada hari ke-3, dan garis cepat Stoch di atas 50, sinyal jual dihasilkan

  2. Indeks Volume Harga untuk sinyal momentum

    • PVI menilai momentum dengan membandingkan perubahan volume antara hari sebelumnya dan hari saat ini

    • Ketika PVI melintasi di atas rata-rata bergerak N-hari, momentum diperkuat dan sinyal beli dihasilkan

    • Ketika PVI melintasi di bawah rata-rata bergerak N-hari, momentum menurun dan sinyal jual dihasilkan

  3. Kombinasi sinyal ganda

    • Sinyal perdagangan hanya dihasilkan ketika 123 reversal dan PVI momentum sinyal setuju

Singkatnya, strategi ini memanfaatkan keuntungan dari indikator mekanisme ganda untuk secara efektif mengidentifikasi peluang pembalikan harga-volume jangka pendek.

Analisis Keuntungan

  1. 123 pola menangkap titik pembalikan jangka pendek utama

  2. PVI momentum menilai tindakan harga-volume terkoordinasi untuk menghindari false breakouts

  3. Parameter dioptimalkan Stoch menyaring sebagian besar sinyal kebisingan di zona turbulen

  4. Keandalan sinyal ganda lebih tinggi daripada sinyal tunggal

  5. Desain intraday menghindari risiko overnight yang cocok untuk perdagangan jangka pendek

Analisis Risiko

  1. Risiko pembalikan gagal

    • 123 sinyal pembalikan pola tidak selalu berhasil dengan risiko kegagalan pola
  2. Risiko kegagalan indikator

    • Saham, PVI dan indikator lainnya dapat gagal di pasar anomali tertentu
  3. Risiko kesalahan sinyal ganda

    • Kriteria sinyal ganda yang relatif ketat dapat kehilangan beberapa peluang sinyal tunggal
  4. Risiko frekuensi perdagangan yang tinggi

    • Pemantauan ketat ukuran posisi dan pengendalian risiko diperlukan untuk strategi frekuensi tinggi

Arah Optimalisasi

  1. Ruang pengoptimalan parameter besar

    • Jendela, siklus Stoch, PVI dll memiliki ruang optimasi
  2. Dapat menggabungkan strategi stop loss

    • Stop loss mobile dapat memastikan tingkat kemenangan
  3. Pertimbangkan untuk menambahkan kondisi filter

    • Tes dapat menambahkan rata-rata bergerak, filter volatilitas dll.
  4. Mengoptimalkan portofolio sinyal ganda

    • Kombinasi uji strategi indikator ganda

Ringkasan

Strategi ini membentuk sistem pembalikan harga volume jangka pendek yang sangat andal melalui kombinasi indikator Stoch dan PVI. Dibandingkan dengan indikator tunggal, ia memiliki tingkat kemenangan yang lebih tinggi dan harapan positif. Rasio Sharpe dapat ditingkatkan lebih lanjut melalui optimasi dan pengendalian risiko. Kesimpulannya, strategi ini memanfaatkan kekuatan indikator mekanisme ganda untuk secara efektif menangkap peluang pembalikan jangka pendek di pasar, dan layak diuji dan dioptimalkan langsung.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/04/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


PVI(EMA_Len) =>
    pos = 0.0
    xROC = roc(close, 1)
    nRes = 0.0
    nResEMA = 0.0
    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 Reversal & Positive 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, "---- Positive Volume Index ----")
EMA_Len = input(255, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPVI = PVI(EMA_Len)
pos = iff(posReversal123 == 1 and posPVI == 1 , 1,
	   iff(posReversal123 == -1 and posPVI == -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