Strategi Pelacakan Peluang EMA, Hull dan RSI

Penulis:ChaoZhangTanggal: 2024-01-18 15:46:35
Tag:

img

Gambaran umum

Strategi ini membangun sinyal perdagangan berdasarkan moving average, Hull moving average dan Relative Strength Index (RSI). Ini termasuk dalam strategi pelacakan peluang khas yang dapat secara otomatis mengidentifikasi peluang pasar dan beralih antara posisi panjang dan pendek. Ini cocok untuk perdagangan jangka menengah dan pendek.

Logika Strategi

  1. Menghitung 50-periode Exponential Moving Average (EMA) sebagai indikator untuk menilai tren.
  2. Menghitung 7-hari Hull Moving Average sebagai indikator rata-rata 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 sinyal overbought dan RSI di bawah 45 adalah area oversold.
  4. Ketika overbought terjadi pada saat yang sama dengan penetrasi EMA ke atas, itu adalah sinyal pendek.
  5. Ketika oversold terjadi pada saat yang sama dengan penetrasi ke bawah EMA, itu adalah sinyal panjang.

Keuntungan dari Strategi

  1. Menggunakan kombinasi EMA, Hull dan RSI untuk menilai secara komprehensif tren pasar, momentum dan area overbought/oversold, meningkatkan akurasi sinyal.
  2. EMA menilai tren jangka menengah hingga jangka panjang, Hull memimpin pergerakan jangka pendek, RSI mengidentifikasi tingkat overbought/oversold.
  3. Sinyal masuk harus memenuhi kriteria untuk tren, momentum dan zona overbought/oversold secara bersamaan untuk memicu, secara efektif menyaring sinyal palsu.

Risiko dari Strategi

  1. Hanya menggunakan 3 indikator dapat kehilangan beberapa peluang perdagangan.
  2. Periode EMA dan Hull membutuhkan pengujian dan optimalisasi terus menerus, pemilihan parameter yang tidak tepat dapat mempengaruhi kualitas sinyal.
  3. Parameter RSI juga perlu disesuaikan untuk ekuitas dan mata uang yang berbeda yang mungkin memiliki standar overbought/oversold yang berbeda.

Bidang Peningkatan

  1. Lebih banyak indikator tambahan dapat diperkenalkan, misalnya Bollinger Bands, KC Lines dll untuk menciptakan pengambilan keputusan multi-resonansi.
  2. Parameter dapat dioptimalkan untuk produk yang berbeda.
  3. Analisis jangka waktu yang lebih tinggi dapat dimasukkan untuk menghindari tertipu oleh pemalsuan jangka pendek.
  4. Strategi stop loss dapat diterapkan untuk mengelola risiko.

Ringkasan

Strategi ini menggunakan kombinasi EMA, Hull dan RSI di seluruh kerangka waktu untuk menangkap peluang perdagangan jangka menengah dan pendek. Sinyal masuk harus memenuhi kriteria dalam dimensi tren, momentum dan overbought / oversold secara bersamaan untuk menyaring sinyal palsu. Strategi dapat ditingkatkan lebih lanjut melalui optimasi parameter dan memperkenalkan lebih banyak indikator tambahan untuk meningkatkan stabilitas dan kinerja 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 banyak