Reversal Momentum Komposisi Strategi

Penulis:ChaoZhang, Tanggal: 2024-01-05 14:06:21
Tag:

img

Gambaran umum

Strategi Reversal Momentum Compound menggabungkan strategi pembalikan dan strategi momentum. Dengan memanfaatkan sinyal pembalikan harga dan sinyal indikator momentum, ia menangkap titik balik pasar dengan lebih tepat dan masuk ke pasar secara tepat waktu saat harga mulai membalik.

Logika Strategi

Strategi ini terdiri dari dua bagian:

  1. 123 Strategi pembalikan: Pergi panjang ketika close lebih tinggi dari close sebelumnya selama 2 hari berturut-turut setelah 2 hari close yang lebih rendah, dan garis K lambat 9 hari di bawah 50; Pergi pendek ketika close lebih rendah dari close sebelumnya selama 2 hari berturut-turut setelah 2 hari close yang lebih tinggi dan garis K cepat 9 hari di atas 50.

  2. DAPD Momentum Breakout Strategy: DAPD adalah perbedaan rata-rata antara 21 hari tertinggi dan 21 hari terendah.

Sinyal masuk dihasilkan ketika dua strategi memberikan sinyal yang sejajar.

Keuntungan

Strategi ini menggabungkan keuntungan dari strategi pembalikan dan momentum, menangkap titik balik dengan lebih tepat.

  1. Filter ganda meningkatkan keandalan sinyal.

  2. 123 pola mengurangi risiko whipsaws.

  3. DAPD momentum cocok untuk tren produk.

Risiko

  1. Sinyal dari dua strategi mungkin tidak selaras dengan sempurna.

  2. Sulit untuk mengoptimalkan dua set parameter bersama.

  3. Risiko biaya transaksi berlipat ganda.

Optimalisasi

  1. Mengoptimalkan penyelarasan sinyal dari dua strategi.

  2. Efektivitas pengujian dari set parameter yang berbeda pada produk yang berbeda.

  3. Hanya mengambil sinyal yang kuat untuk menyaring yang lemah.

Kesimpulan

Strategi reversal momentum compound menangkap harga reversing tepat waktu dengan menggabungkan manfaat dari strategi reversal dan momentum. filter ganda meningkatkan tingkat keberhasilan. peningkatan kinerja lebih lanjut dapat dicapai dengan mengoptimalkan keselarasan sinyal. strategi ini cocok untuk investor dengan modal dan keahlian perdagangan yang cukup.


/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/12/2019
// 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
// This indicator is similar to Bollinger Bands. It based on DAPD - Daily
// Average Price Delta. DAPD is based upon a summation for each of the
// highs (hod) for the 21 days prior to today minus the summation for
// each of the lows (lod) for the last 21 days prior to today. The result
// of this calculation would then be divided by 21.
// It will be buy when high above previos DAPD high and sell if low below previos DAPD low
//
// 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

DAPD(Length) =>
    pos = 0.0
    xHighSMA = sma(high, Length)
    xLowSMA = sma(low, Length)        
    nDAPD = xHighSMA - xLowSMA
    nTop = high + nDAPD
    nBottom = low - nDAPD
    pos :=  iff(high > nTop[1], 1,
    	     iff(low < nBottom[1], -1, nz(pos[1], 0)))    
    pos

strategy(title="Combo Backtest 123 Reversal & DAPD", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDAPD = input(21, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDAPD = DAPD(LengthDAPD)
pos = iff(posReversal123 == 1 and posDAPD == 1 , 1,
	   iff(posReversal123 == -1 and posDAPD == -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