EMA, Hull dan RSI Strategi Pengesanan Peluang

Penulis:ChaoZhang, Tarikh: 2024-01-18 15:46:35
Tag:

img

Ringkasan

Strategi ini membina isyarat perdagangan berdasarkan purata bergerak, purata bergerak Hull dan Indeks Kekuatan Relatif (RSI). Ia adalah sebahagian daripada strategi penjejakan peluang biasa yang secara automatik dapat mengenal pasti peluang pasaran dan beralih antara kedudukan panjang dan pendek. Ia sesuai untuk perdagangan jangka sederhana dan pendek.

Logika Strategi

  1. Mengira purata bergerak eksponen 50 tempoh (EMA) sebagai penunjuk untuk menilai trend.
  2. Mengira purata bergerak Hull 7 hari sebagai penunjuk purata yang lebih sensitif dan terkemuka, melintasi EMA untuk membentuk salib emas dan salib mati.
  3. Tetapkan garis overbought dan oversold untuk RSI pada 60 dan 45 masing-masing. RSI di atas 60 adalah isyarat overbought dan RSI di bawah 45 adalah kawasan oversold.
  4. Apabila overbought berlaku pada masa yang sama dengan penembusan ke atas EMA, ia adalah isyarat pendek.
  5. Apabila oversold berlaku pada masa yang sama dengan penembusan ke bawah EMA, ia adalah isyarat panjang.

Kelebihan Strategi

  1. Menggunakan gabungan EMA, Hull dan RSI untuk menilai secara komprehensif trend pasaran, momentum dan kawasan overbought / oversold, meningkatkan ketepatan isyarat.
  2. EMA menilai trend jangka pertengahan hingga panjang, Hull memimpin pergerakan jangka pendek, RSI mengenal pasti tahap overbought / oversold.
  3. Isyarat kemasukan mesti memenuhi kriteria untuk trend, momentum dan zon overbought/oversold secara serentak untuk mencetuskan, dengan berkesan menapis isyarat palsu.

Risiko Strategi

  1. Hanya menggunakan 3 penunjuk boleh kehilangan beberapa peluang perdagangan.
  2. Tempoh EMA dan Hull memerlukan ujian dan pengoptimuman berterusan, pemilihan parameter yang tidak betul boleh menjejaskan kualiti isyarat.
  3. Parameter RSI juga perlu diselaraskan untuk ekuiti dan mata wang yang berbeza yang mungkin mempunyai standard overbought / oversold yang berbeza.

Kawasan Peningkatan

  1. Lebih banyak penunjuk tambahan boleh diperkenalkan, contohnya Bollinger Bands, KC Lines dll untuk mewujudkan pengambilan keputusan multi-resonansi.
  2. Parameter boleh dioptimumkan untuk produk yang berbeza.
  3. Analisis jangka masa yang lebih tinggi boleh dimasukkan untuk mengelakkan ditipu oleh pemalsuan jangka pendek.
  4. Strategi stop loss boleh dilaksanakan untuk menguruskan risiko.

Ringkasan

Strategi ini menggunakan gabungan EMA, Hull dan RSI merentasi jangka masa untuk menangkap peluang perdagangan jangka sederhana dan pendek. Isyarat kemasukan mesti memenuhi kriteria dalam dimensi trend, momentum dan overbought / oversold secara serentak untuk menapis isyarat palsu. Strategi ini boleh ditingkatkan lagi melalui pengoptimuman parameter dan memperkenalkan lebih banyak penunjuk tambahan untuk meningkatkan kestabilan dan prestasi perdagangan.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bitduke

//@version=4
strategy(shorttitle="EHR", title="Simple EMA_Hull_RSI", overlay=false, 
     calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash, 
     default_qty_value=1000, currency=currency.USD, initial_capital=1000,
     commission_type=strategy.commission.percent, commission_value=0.075)

// EMA
len = input(minval=1, title="EMA Length", defval=50)
src = input(close, title="EMA Source")
final_ema = ema(src, len)
plot(final_ema, color=color.red, title="EMA")

overbought = input(60, title="overbought value")
oversold = input(45, title="oversold value")

overbought_signal = rsi(close, 14) > overbought
oversold_signal = rsi(close, 14) < oversold
barcolor(overbought_signal ? color.black : na)
barcolor(oversold_signal ? color.blue : na)
// Hull MA
n = input(title="Hull Length", defval=7)
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))

n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))

n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?color.green:color.red
ma=plot(n1,color=c)

// Strategy Logic
longCondition =  overbought_signal and crossover(n1,final_ema) 
shortCondition = oversold_signal and crossover(final_ema,n1) 

strategy.entry("EHR_Long", strategy.long, when=longCondition)
strategy.entry("EHR_Short", strategy.short, when=shortCondition)


Lebih lanjut