Double Momentum Index dan Reversal Hybrid Strategy

Penulis:ChaoZhang, Tanggal: 2024-02-06 12:22:32
Tag:

img

Gambaran umum

Double Momentum Index and Reversal Hybrid Strategy adalah strategi komposit yang menggabungkan strategi reversal dan momentum. Strategi ini mengintegrasikan 123 Reversal Strategy dan Commodity Selection Index (CSI) sebagai sub-strategi untuk menentukan sinyal masuk berdasarkan konfirmasi ganda.

Logika Strategi

Strategi ini terdiri dari dua sub-strategi:

  1. 123 Reversal Strategy. Ini akan panjang ketika harga penutupan naik selama dua hari berturut-turut dan Stoch berada di bawah 50; akan pendek ketika harga penutupan turun selama dua hari berturut-turut dan Stoch berada di atas 50.

  2. Strategi CSI. Ini menggabungkan Average True Range (ATR) dan Average Directional Movement Index (ADX). ATR mencerminkan volatilitas pasar dan ADX mencerminkan kekuatan tren.

Strategi ini menggunakan strategi 123 Reversal sebagai badan utama dan CSI sebagai konfirmasi asisten. Sinyal perdagangan hanya dihasilkan ketika sinyal dari kedua strategi konsisten. Ini akan panjang ketika harga penutupan naik selama dua hari berturut-turut dan Stoch berada di bawah 50, dan pada saat yang sama ketika CSI melintasi di atas rata-rata bergerak; itu akan pendek ketika harga penutupan turun selama dua hari berturut-turut dan Stoch berada di atas 50, dan pada saat yang sama ketika CSI melintasi di bawah rata-rata bergerak.

Ini memastikan atribut pembalikan sinyal perdagangan, sementara menambahkan CSI ke filter dapat mengurangi sinyal palsu.

Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Menggabungkan pembalikan dan momentum meningkatkan akurasi sinyal. 123 Reversal sebagai sinyal utama dapat menangkap pembalikan tiba-tiba dan kekerasan. CSI sebagai konfirmasi dapat menyaring beberapa kebisingan.

  2. Mengadopsi penyaringan komposit dapat sangat mengurangi posisi bersih. Bahkan jika sub-strategi itu sendiri memiliki beberapa sinyal palsu, sinyal akhir harus dua kali dikonfirmasi, yang dapat menyaring sebagian besar sinyal palsu dan meminimalkan pembukaan dan penutupan posisi yang tidak perlu.

  3. Parameter dari sub-strategi dapat dioptimalkan secara terpisah tanpa gangguan satu sama lain. Hal ini memudahkan menemukan kombinasi parameter yang optimal.

  4. Strategi ini mendukung hanya menggunakan 123 Reversal atau CSI untuk trading saja. Ini memberikan fleksibilitas.

Analisis Risiko

Meskipun strategi ini secara signifikan mengurangi sinyal palsu melalui penyaringan komposit, masih ada risiko utama berikut:

  1. Frekuensi generasi sinyal strategi relatif rendah. Dengan mengadopsi konfirmasi ganda, proporsi peluang perdagangan tertentu pasti akan disaring. Ini adalah biaya yang tak terelakkan untuk mencapai tingkat kemenangan yang tinggi.

  2. Jika parameter dari dua sub-strategi tidak tepat, itu dapat mengakibatkan sinyal yang jarang atau bahkan tidak ada. pengujian ketat dan pengoptimalan parameter diperlukan untuk menemukan kombinasi parameter yang optimal.

  3. 123 Reversal adalah bagian dari counter-trend operations. Dalam kasus terjadinya terobosan harga satu arah yang berturut-turut dan kekerasan, strategi akan menghadapi risiko yang lebih besar.

Arah Optimalisasi

Kemungkinan optimalisasi utama dari strategi ini adalah di bidang-bidang berikut:

  1. Mengoptimalkan parameter intrinsik dari setiap sub-strategi untuk menemukan kombinasi parameter yang optimal, termasuk parameter Stoch, CSI, dll.

  2. Uji penjumlahan dalam filter kondisi pasar yang berbeda, seperti menggunakan CSI hanya ketika tren berlaku, menggunakan 123 Reversal hanya di pasar yang terikat rentang, dll. Ini dapat mengatasi kelemahan sub-strategi sampai batas tertentu.

  3. Mengembangkan modul penyesuaian parameter sendiri dan optimasi dinamis, yang memungkinkan strategi untuk menyesuaikan parameter secara otomatis dan melacak kombinasi parameter optimal sesuai dengan kondisi pasar dan statistik secara real time.

  4. Uji mekanisme stop loss yang berbeda. Stop loss yang tepat dapat secara efektif mengendalikan risiko dan mengurangi pembukaan dan penutupan posisi yang tidak perlu.

Ringkasan

Double Momentum Index and Reversal Hybrid Strategy memanfaatkan gagasan konfirmasi dan kombinasi multi-sinyal, memanfaatkan dengan baik kekuatan masing-masing strategi pembalikan dan momentum, sambil mengatasi kekurangan mereka dengan saling menyaring, untuk mencapai efisiensi dan stabilitas yang tinggi.


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/10/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
// The Commodity Selection Index ("CSI") is a momentum indicator. It was 
// developed by Welles Wilder and is presented in his book New Concepts in 
// Technical Trading Systems. The name of the index reflects its primary purpose. 
// That is, to help select commodities suitable for short-term trading.
// A high CSI rating indicates that the commodity has strong trending and volatility 
// characteristics. The trending characteristics are brought out by the Directional 
// Movement factor in the calculation--the volatility characteristic by the Average 
// True Range factor.
// Wilder's approach is to trade commodities with high CSI values (relative to other 
// commodities). Because these commodities are highly volatile, they have the potential 
// to make the "most money in the shortest period of time." High CSI values imply 
// trending characteristics which make it easier to trade the security.
// The Commodity Selection Index is designed for short-term traders who can handle 
// the risks associated with highly volatile markets.
//
// 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

fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

CSI(Length, Commission, Margin, PointValue) =>
    pos = 0.0
    K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission)))
    xATR = atr(Length)
    xADX = fADX(Length)
    nADXR = (xADX + xADX[Length]) * 0.5
    xCSI = K * xATR * nADXR
    xMACSI = sma(xCSI, Length)
    pos := iff(xCSI < xMACSI, 1,
    	     iff(xCSI > xMACSI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & Commodity Selection Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PointValue = input(50)
Margin = input(3000)
Commission = input(10)
LengthCSI = input(14)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCSI = CSI(LengthCSI, Commission, Margin, PointValue)
pos = iff(posReversal123 == 1 and posCSI == 1 , 1,
	   iff(posReversal123 == -1 and posCSI == -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