Strategi Indeks Momentum Ganda dan Komposit Pembalikan


Tanggal Pembuatan: 2024-02-06 12:22:32 Akhirnya memodifikasi: 2024-02-06 12:22:32
menyalin: 0 Jumlah klik: 658
1
fokus pada
1617
Pengikut

Strategi Indeks Momentum Ganda dan Komposit Pembalikan

Ringkasan

Strategi gabungan indeks dinamis ganda dan reversal adalah strategi gabungan antara strategi reversal dan strategi dinamis. Strategi ini menggunakan dua substrategi 123 reversal dan indeks pilihan komoditas (CSI) secara komprehensif untuk menentukan waktu masuk berdasarkan sinyal ganda. Strategi ini bertujuan untuk meningkatkan akurasi sinyal perdagangan.

Prinsip Strategi

Strategi ini terdiri dari dua substrategi:

  1. 123 Strategi berbalik. Ini adalah strategi berbalik yang dilakukan ketika harga tutup dua hari berturut-turut naik dan indikator stoch di bawah 50. Ini adalah strategi berbalik.

  2. Indeks Pilihan Komoditas (CSI) adalah strategi yang menggabungkan indikator rentang harga rata-rata yang sebenarnya (ATR) dengan indikator pergerakan arah rata-rata (ADX). ATR mencerminkan volatilitas pasar, ADX mencerminkan kekuatan tren. Nilai CSI yang lebih tinggi, menunjukkan tren dan volatilitas pasar yang lebih kuat.

Strategi keseluruhan didasarkan pada strategi 123 reversal, dengan strategi CSI sebagai konfirmasi tambahan. Hanya sinyal perdagangan yang dikirimkan ketika kedua sinyal tersebut sesuai. Ketika dilakukan secara berlebihan, harga penutupan naik dua hari berturut-turut dan stoch di bawah 50, sementara di CSI melewati rata-rata bergeraknya. Ketika dilakukan secara kosong, harga penutupan turun dua hari berturut-turut dan stoch di atas 50, sementara di CSI melewati rata-rata bergeraknya.

Hal ini memastikan bahwa sinyal transaksi dapat dibalik, dan menambahkan filter indikator CSI dapat mengurangi sinyal palsu.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Kombinasi reversal dengan momentum, meningkatkan akurasi sinyal. Strategi 123 reversal sebagai sinyal utama, dapat menangkap reversal tren yang tiba-tiba. Indikator CSI sebagai konfirmasi tambahan, dapat menyaring sebagian dari kebisingan.

  2. Penggunaan filter komposit dapat secara signifikan mengurangi net holding. Bahkan jika ada proporsi sinyal palsu tertentu dalam substrategi itu sendiri, namun sinyal akhir harus konsisten dua kali, sebagian besar sinyal palsu dapat disaring, sehingga meminimalkan pembukaan posisi yang tidak perlu berulang.

  3. Parameter kebijakan anak dapat dioptimalkan secara individual. Parameter masing-masing dari kebijakan 123 reverse dan CSI dapat diuji dan dioptimalkan secara terpisah, tanpa saling mengganggu. Ini memberikan kemudahan untuk menemukan kombinasi parameter terbaik.

  4. Strategi anak dapat diaktifkan secara terpisah. Strategi ini mendukung perdagangan hanya dengan strategi 123 reverse atau strategi CSI secara terpisah. Ini memberikan fleksibilitas pada strategi.

Analisis risiko

Meskipun strategi ini secara signifikan mengurangi sinyal palsu melalui kombinasi penyaringan, risiko utama yang masih ada adalah:

  1. Sinyal strategi menghasilkan frekuensi yang relatif rendah. Menggunakan metode double confirmation, pasti akan menyaring sebagian besar peluang perdagangan. Ini adalah pembayaran yang diperlukan untuk mencapai tingkat kemenangan yang tinggi.

  2. Jika dua parameter substrategi tidak benar, dapat menyebabkan sinyal langka atau bahkan tidak ada sinyal. Parameter harus diuji dan dioptimalkan secara ketat untuk menemukan kombinasi parameter terbaik.

  3. 123 reversal adalah operasi pasar yang berbalik. Strategi ini akan menghadapi risiko yang lebih besar jika terjadi penembusan harga unilateral yang berkelanjutan dan tajam.

Arah optimasi

Ada beberapa ruang untuk optimasi utama dalam strategi ini:

  1. Optimalkan parameter yang ada dalam setiap substrategi untuk menemukan kombinasi parameter terbaik.

  2. Uji penambahan filter kondisi pasar yang berbeda. Misalnya, menggunakan strategi CSI hanya saat tren berlaku, menggunakan strategi 123 reversal hanya saat pasar bergoyang. Ini dapat mengatasi kelemahan substrategi hingga batas tertentu.

  3. Modul optimasi otomatis dan dinamis untuk mengembangkan parameter. Hal ini memungkinkan strategi untuk menyesuaikan parameter secara otomatis berdasarkan kondisi pasar dan statistik real-time, dan untuk melacak kombinasi parameter optimal secara real-time.

  4. Uji coba berbagai mekanisme penutupan kerugian. Penutupan yang tepat dapat mengontrol risiko secara efektif dan mengurangi penutupan posisi yang tidak perlu.

Meringkaskan

Indeks dinamis ganda dengan strategi reverse overlap menggunakan pengakuan dan kombinasi multi-sinyal, memanfaatkan keuntungan dari strategi reverse dan strategi dinamis masing-masing, dan dengan saling memfilter meringankan kerugian dari kedua belah pihak, mencapai efisiensi tinggi dan stabilitas tinggi. Ini adalah salah satu strategi kuantitatif khas yang dapat dipilih.

Kode Sumber Strategi
/*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 )