Strategi HistoAlert RSI Pembalikan Ganda

Penulis:ChaoZhang, Tarikh: 2024-01-04 17:17:24
Tag:

img

Ringkasan

Strategi HistoAlert RSI Reversi Dual menghasilkan isyarat perdagangan yang lebih tepat dengan menggabungkan strategi 123 Reversi dan strategi RSI HistoAlert. Strategi 123 Reversi menilai titik pembalikan harga dan strategi RSI HistoAlert menilai titik overbought dan oversold. Isyarat bersepadu dari kedua-dua strategi dapat menghasilkan isyarat perdagangan yang lebih boleh dipercayai.

Logika Strategi

123 Strategi Pembalikan

Strategi 123 Reverssion berdasarkan hipotesis bahawa: isyarat pembalikan harga sering muncul 2 hari sebelum pembalikan harga sebenar.

Peraturan khusus ialah:

  • Isyarat beli: Penutupan sebelumnya < 2 hari yang lalu penutupan AND Penutupan semasa > Penutupan sebelumnya AND garis K perlahan 9 hari di bawah 50
  • Isyarat jual: Penutupan sebelum > penutupan 2 hari lalu DAN Penutupan semasa < Penutupan sebelum DAN garis K pantas 9 hari di atas 50

Ia menggunakan hubungan harga 2 hari sebelum pembalikan untuk menilai titik pembalikan yang berpotensi.

RSI HistoAlert Strategi

Strategi RSI HistoAlert mengubah suai penunjuk RSI:

  • Skala nilai RSI kepada -100 hingga 100
  • Menghasilkan isyarat dagangan apabila RSI melebihi garis amaran beli/jual yang telah ditetapkan

Ia menggunakan nilai RSI mutlak untuk menunjukkan keadaan overbought / oversold dan mencetuskan isyarat.

Kelebihan

Strategi ini menggabungkan dua idea strategi yang berbeza untuk melengkapkan kekuatan dan menjana isyarat yang lebih boleh dipercayai:

  1. 123 Strategi pembalikan adalah baik untuk menangkap titik pembalikan harga. RSI Strategi HistoAlert adalah baik untuk menangkap titik overbought / oversold. Gabungan ini membawa kepada penilaian peluang perdagangan yang lebih komprehensif.
  2. Kedua-dua strategi menggunakan penunjuk input yang berbeza. Ini mengurangkan kemungkinan isyarat palsu dan meningkatkan kebolehpercayaan.
  3. Kedua-dua strategi mempunyai ruang pengoptimuman sendiri. Penambahbaikan prestasi yang lebih lanjut boleh dicapai dengan penyesuaian parameter.

Risiko

Risiko utama ialah:

  1. Pembalikan harga tidak dijamin. Harga mungkin meneruskan trend walaupun peraturan isyarat pembalikan dipenuhi.
  2. Indikator RSI boleh mempunyai kadar isyarat palsu yang tinggi. Melebihi garis amaran tidak selalu mewakili status overbought / oversold.
  3. Kedua-dua strategi boleh memberikan isyarat yang salah pada masa yang sama. Ini menggandakan risiko arah yang salah.

Penyelesaian adalah:

  1. Tunes halus 123 Parameter pembalikan untuk memastikan isyarat hanya pada titik pembalikan kebarangkalian tinggi.
  2. Sesuaikan kedudukan garisan amaran RSI HistoAlert untuk mengurangkan kadar isyarat palsu.
  3. Tambah pengesahan penunjuk lain untuk mengelakkan risiko arah yang salah yang berlebihan.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek:

  1. Uji kombinasi parameter yang berbeza dari kedua-dua strategi untuk mencari nilai optimum.
  2. Memperkenalkan lebih banyak faktor seperti MA, penunjuk turun naik untuk pengesahan pelbagai faktor untuk menapis lebih banyak isyarat palsu.
  3. Uji skim tempoh penahan yang berbeza. Strategi semasa menggunakan penahan momentum. Trend berikut penahan boleh dinilai.
  4. Set parameter yang berasingan untuk jangka panjang dan jangka pendek.

Kesimpulan

Strategi HistoAlert RSI Pembalikan Ganda menggabungkan strategi pembalikan harga dan strategi penilaian overbought / oversold untuk isyarat perdagangan yang lebih boleh dipercayai berbanding dengan penggunaan strategi tunggal. Ia mempunyai kebarangkalian isyarat palsu yang lebih rendah dan penghakiman yang lebih komprehensif.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/06/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 simple indicator modified 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


RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) =>
    pos = 0.0
    xPrice = close
    RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
    pos:= iff(RSIMain > BuyAlertLevel, 1,
    	     iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & RSI HistoAlert", 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, "---- RSI HistoAlert ----")
RSIPeriod = input(13, minval=1)
BuyAlertLevel = input(-10)
SellAlertLevel = input(10)
RSIHistoModify = input(1.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRSI_Hist = RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify)
pos = iff(posReversal123 == 1 and posRSI_Hist == 1 , 1,
	   iff(posReversal123 == -1 and posRSI_Hist == -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 lanjut