Strategi gabungan dari 123 Reversal dan Smoothed RSI

Penulis:ChaoZhang, Tanggal: 2023-10-16 16:27:32
Tag:

img

Gambaran umum

Strategi ini menggabungkan pola pembalikan 123 dan indikator RSI halus untuk menangkap titik pembalikan tren dengan lebih akurat untuk tingkat kemenangan yang lebih tinggi.

Logika Strategi

  1. Identifikasi pola pembalikan: Sinyal pembalikan bawah ketika harga penutupan dua hari sebelumnya membentuk titik tinggi-rendah dan penutupan hari ketiga lebih tinggi daripada hari sebelumnya. Sinyal pembalikan atas ketika harga penutupan dua hari sebelumnya membentuk titik tinggi rendah dan penutupan hari ketiga lebih rendah dari hari sebelumnya.

  2. Indikator RSI halus: RSI halus mengurangi keterlambatan RSI normal dengan menggunakan rata-rata bergerak tertimbang. RSI yang melintasi ambang batas tinggi adalah sinyal beli. RSI yang melintasi ambang batas rendah adalah sinyal jual.

  3. Sinyal strategi: Sinyal perdagangan hanya dihasilkan ketika pola pembalikan 123 dan sinyal RSI halus setuju. Beli ketika pembalikan 123 menunjukkan bawah dan RSI melintasi tingkat tinggi. Jual ketika pembalikan 123 membentuk atas dan RSI melintasi tingkat rendah.

Keuntungan

  1. Menggabungkan indikator tren RSI dan pola pembalikan dapat secara akurat mengidentifikasi titik pembalikan tren.

  2. RSI yang halus mengurangi masalah RSI normal yang tertinggal.

  3. Pola pembalikan sederhana dan mudah diidentifikasi.

  4. Parameter fleksibel dapat disesuaikan untuk instrumen dan kerangka waktu yang berbeda.

  5. Mudah dioptimalkan dan ditingkatkan dengan ekstensibilitas tinggi.

Risiko

  1. 123 pembalikan sederhana dapat menyebabkan sinyal palsu selama penarikan kecil.

  2. Optimasi RSI yang halus tidak cukup dan rentan terhadap overfit.

  3. Konfirmasi ganda mengarah pada lebih sedikit sinyal perdagangan.

  4. Biaya perdagangan diabaikan yang dapat mencegah akun kecil dari keuntungan.

  5. Tidak ada mekanisme stop loss untuk membatasi downside.

Peningkatan

  1. Optimalkan parameter RSI yang halus untuk menemukan kombinasi terbaik.

  2. Tambahkan indikator atau pola lain untuk penyaringan sinyal.

  3. Mengimplementasikan stop loss untuk mengendalikan kerugian perdagangan tunggal.

  4. Pertimbangkan biaya perdagangan, menyesuaikan parameter untuk ukuran modal yang berbeda.

  5. Parameter pengujian di instrumen dan kerangka waktu yang berbeda untuk parameter optimal.

  6. Tambahkan fungsi untuk optimasi parameter otomatis.

Ringkasan

Strategi ini memiliki logika yang jelas dan sederhana, menggunakan pola pembalikan dikombinasikan dengan indikator tren untuk mengidentifikasi pembalikan tren potensial. Strategi ini memiliki keuntungan penerapan luas dan pengoptimalan yang mudah, tetapi juga memiliki beberapa risiko untuk dicatat dan ditingkatkan. Secara keseluruhan, ini adalah strategi perdagangan pembalikan jangka pendek yang serbaguna dan praktis yang layak untuk penelitian dan aplikasi lebih lanjut.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/07/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 is new version of RSI oscillator indicator, developed by John Ehlers. 
// The main advantage of his way of enhancing the RSI indicator is smoothing 
// with minimum of lag penalty. 
//
// 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(Length, TopBand,LowBand) =>
    pos = 0.0
    xValue = (close + 2 * close[1] + 2 * close[2] + close[3] ) / 6
    CU23 = sum(iff(xValue > xValue[1], xValue - xValue[1], 0), Length)
    CD23 = sum(iff(xValue < xValue[1], xValue[1] - xValue, 0), Length)
    nRes = iff(CU23 + CD23 != 0, CU23/(CU23 + CD23), 0)
    pos:= iff(nRes > TopBand, 1,
    	   iff(nRes < LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Smoothed 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, "---- Smoothed RSI ----")
LengthRSI = input(10, minval=1)
TopBand = input(0.8, step=0.01)
LowBand = input(0.2, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSRSI = SRSI(LengthRSI, 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