Strategi Kombo Perdagangan Reversal Multi-Faktor

Penulis:ChaoZhang, Tanggal: 2023-09-20 15:13:58
Tag:

Gambaran umum

Strategi ini menggabungkan beberapa indikator pembalikan untuk mengambil posisi berlawanan arah ketika sinyal pembalikan harga muncul.

Logika Strategi

  1. Pertama, sistem pembalikan 123 digunakan untuk mengidentifikasi sinyal pembalikan harga, berdasarkan aksi harga dua bar berturut-turut dan indikator Stochastic.

  2. Kedua, indikator Fast and Slow Kurtosis (FSK) menilai pembalikan sentimen berdasarkan percepatan momentum.

  3. Sistem pembalikan 123 dan indikator pembalikan FSK dikombinasikan sebagai kombinasi. Posisi kontra arah diambil ketika keduanya menghasilkan sinyal pembalikan.

  4. Perdagangan terbalik dapat diaktifkan, mengambil pendek ketika sinyal asli panjang, dan sebaliknya.

Analisis Keuntungan

  1. Menggabungkan beberapa faktor dapat meningkatkan akurasi sinyal dan menghindari sinyal palsu.

  2. Sistem 123 dan indikator FSK saling melengkapi dalam menangkap pembalikan dalam jangka waktu.

  3. Perdagangan terbalik memungkinkan keuntungan dari pembalikan tajam.

  4. Menggunakan beberapa faktor pembalikan meningkatkan kekuatan strategi.

  5. Mudah dimengerti dan diterapkan, cocok untuk pemula perdagangan kuant.

Analisis Risiko

  1. Sinyal pembalikan dapat menghasilkan sinyal palsu yang mengakibatkan kerugian.

  2. Waktu yang buruk untuk membalikkan bisa menyebabkan mengejar puncak dan bawah.

  3. Perdagangan terbalik dapat menghasilkan kerugian dalam tren yang bertahan.

  4. Optimasi parameter yang tidak benar menyebabkan overfit.

  5. Frekuensi perdagangan yang tinggi dapat menimbulkan biaya transaksi yang lebih tinggi.

Arahan Optimasi

  1. Uji menambahkan faktor pembalikan lain seperti RSI, KD untuk memperkaya kombinasi.

  2. Mengoptimalkan parameter untuk sensitivitas indikator yang lebih baik.

  3. Tambahkan filter tren untuk menghindari perdagangan kontra-tren.

  4. Menggunakan ukuran posisi dinamis untuk mengoptimalkan efisiensi modal.

  5. Optimalkan stop loss untuk membatasi kerugian per perdagangan.

  6. Mengevaluasi dampak biaya transaksi untuk menghindari perdagangan yang berlebihan.

Kesimpulan

Strategi ini menggabungkan sistem pembalikan 123 dan indikator FSK untuk melakukan pembalikan harga ke arah yang berlawanan. Ini dapat menyaring sinyal palsu dan meningkatkan akurasi. Tetapi strategi pembalikan menghadapi risiko pembalikan yang tidak pasti. Penyesuaian parameter terus-menerus, ukuran posisi dan kontrol frekuensi perdagangan diperlukan untuk mengurangi risiko dan meningkatkan ketahanan.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/10/2020
// 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 plots the Fast & Slow Kurtosis. The Kurtosis is a market
// sentiment indicator. The Kurtosis is constructed from three different parts.
// The Kurtosis, the Fast Kurtosis(FK), and the Fast/Slow Kurtosis(FSK).
//
// 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

FSK(Triger) =>
    pos = 0.0
    xMOM_R = mom(mom(close, 3), 1)
    xMOM_RAvr = ema(xMOM_R, 65)
    xMOM_RWAvr = wma(xMOM_RAvr, 3)
    pos := iff(xMOM_RAvr > Triger and xMOM_RWAvr > Triger, 1,-1) 
    pos

strategy(title="Combo Backtest 123 Reversal & FSK (Fast and Slow Kurtosis)", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Triger = input(0, minval=0.001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFSK = FSK(Triger)
pos = iff(posReversal123 == 1 and posFSK == 1 , 1,
	   iff(posReversal123 == -1 and posFSK == -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