Strategi perdagangan reversal dengan konfirmasi ganda

Penulis:ChaoZhang, Tanggal: 2023-11-14 13:42:47
Tag:

img

Gambaran umum

Strategi perdagangan reversal dua konfirmasi menggabungkan pola reversal 123 dengan indikator RSI Stochastic untuk menciptakan sistem reversal rata-rata yang kuat.

Logika Strategi

Strategi ini terdiri dari dua komponen:

  1. 123 Pembalikan

Ini menggunakan pola 123 untuk mengidentifikasi potensi pembalikan.

  • Long jika close < previous close dan current close > previous close dan 9-day Slow Stochastic < 50

  • Short jika close > close sebelumnya dan current close < close sebelumnya dan 9-day Fast Stochastic > 50

Ini memberikan sinyal awal untuk pembalikan harga.

  1. RSI Stochastic

Ini menerapkan indikator Stochastic pada RSI untuk konfirmasi tambahan:

  • Menghitung RSI dengan panjang 14

  • Menghitung Stochastic dari RSI, dengan panjang 14, untuk mendapatkan K

  • Ambil SMA 3 hari dari K untuk mendapatkan D

  • Jika K melintasi di atas 80, itu menunjukkan panjang. Jika K melintasi di bawah 20, itu menunjukkan pendek.

Pertukaran hanya bisa dilakukan jika kedua belah pihak setuju.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah konfirmasi ganda, yang meningkatkan akurasi dan mengurangi whipsaws.

  1. 123 pembalikan memberikan deteksi awal pembalikan tren

  2. Stochastic RSI mengkonfirmasi sinyal pembalikan

  3. Kombinasi meningkatkan tingkat kemenangan dan mengurangi sinyal palsu

  4. Parameter dapat dioptimalkan untuk pasar yang berbeda

  5. Implementasi sederhana dan bersih untuk perdagangan langsung

Analisis Risiko

Beberapa risiko yang perlu dipertimbangkan untuk strategi ini:

  1. Risiko pembalikan gagal. pembalikan palsu dapat menyebabkan kerugian.

  2. Risiko optimasi parameter. parameter yang buruk menyebabkan kinerja yang buruk.

  3. Risiko yang berlebihan, optimasi yang berlebihan terhadap data historis.

  4. Risiko frekuensi perdagangan tinggi. Lebih banyak sinyal dapat meningkatkan biaya.

  5. Risiko kesalahan pengkodean, bug dalam logika implementasi.

Solusi yang mungkin:

  1. Gunakan ukuran posisi yang bijaksana untuk membatasi kerugian.

  2. Gunakan metode optimasi berjalan ke depan.

  3. Fokus pada stabilitas parameter, bukan pengembalian yang tinggi.

  4. Siapkan kondisi untuk mengurangi frekuensi perdagangan.

  5. Uji secara menyeluruh logika kode.

Peluang Peningkatan

Strategi ini dapat ditingkatkan di bidang berikut:

  1. Pengaturan parameter untuk pasar tertentu.

  2. Menambahkan filter untuk menghindari pembalikan yang terburu-buru.

  3. Menggabungkan mekanisme stop loss.

  4. Mengurangi frekuensi perdagangan dengan filter tambahan.

  5. Menerapkan ukuran posisi dinamis.

  6. Pengaturan untuk biaya transaksi.

Kesimpulan

Strategi pembalikan konfirmasi ganda adalah sistem yang stabil dan praktis untuk pembalikan rata-rata jangka pendek. Ini menyeimbangkan sensitivitas untuk menangkap pembalikan dan akurasi dari konfirmasi ganda. Dengan optimasi dan modifikasi yang tepat, ini dapat secara efektif melengkapi portofolio strategi kuantitatif.


/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/08/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
// This strategy used to calculate the Stochastic RSI
//
// 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


SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand) =>
    pos = 0.0
    Source = close
    rsi1 = rsi(Source, lengthRSI)
    k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
    d = sma(k, smoothD)
    d_cross_80 = cross(d,TopBand) 
    pos := iff(k > TopBand, 1,
              iff(k < LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Stochastic RSI", 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, "---- Stochastic RSI ----")
TopBand = input(80, step=0.01)
LowBand = input(20, step=0.01)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSRSI = SRSI(lengthRSI,lengthStoch,smoothK,smoothD, TopBand,LowBand)
pos = iff(posReversal123 == 1 and posSRSI == 1 , 1,
	   iff(posReversal123 == -1 and posSRSI == -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