Sumber dimuat naik... memuat...

Strategi silang EMA dan RSI

Penulis:ChaoZhang, Tarikh: 2024-06-03 11:08:30
Tag:EMARSIATR

EMA与RSI交叉策略

Ringkasan

EMA dan RSI merentasi strategi untuk mengenal pasti isyarat membeli atau menjual yang berpotensi dengan menggabungkan dua petunjuk teknikal iaitu EMA dan RSI. Apabila EMA dan RSI berlainan, ini menunjukkan bahawa momentum pasaran mungkin berubah. Sebagai contoh, apabila EMA pada tempoh yang lebih pendek melintasi jangka masa yang lebih lama dan RSI melintasi satu ambang, ini menunjukkan kemungkinan trend menaik, yang dikenali sebagai runcit runcit. Sebaliknya, apabila EMA pada tempoh yang lebih pendek melintasi jangka masa yang lebih lama dan RSI melintasi jangka masa yang lebih pendek, ini menunjukkan kemungkinan trend menurun, yang dikenali sebagai runcit runcit.

Prinsip-prinsip strategi

  1. Mengira nilai penunjuk RSI untuk kitaran tertentu dan menggambarkannya pada carta.
  2. Mengira nilai penunjuk EMA bagi tempoh tertentu dan menggambarkannya pada carta.
  3. Apabila harga di bawah EMA dan RSI kurang daripada 20, ia dianggap sebagai isyarat beli; apabila harga di atas EMA dan RSI lebih daripada 80, ia dianggap isyarat jual.
  4. Apabila isyarat beli muncul dan harga penutupan mata rantai semasa lebih tinggi daripada mata rantai sebelumnya, buka lebih banyak; apabila isyarat jual muncul dan harga penutupan mata rantai semasa lebih rendah daripada mata rantai sebelumnya, buka kosong.
  5. Menggunakan lebar pergerakan sebenar purata (ATR) untuk mengira stop loss dan stop loss harga. Stop loss harga dikurangkan daripada harga pembukaan (ATR + panjang entiti garisan) dan stop loss harga ditambahkan kepada harga pembukaan (ATR + panjang entiti garisan).

Kelebihan Strategik

  1. Dengan menggabungkan indikator trend tracker EMA dan indikator momentum RSI, anda dapat menilai pergerakan pasaran dengan lebih menyeluruh.
  2. Sinyal dagangan boleh dikeluarkan pada peringkat awal pembentukan trend, membantu untuk merebut peluang trend seawal mungkin.
  3. Dengan menggunakan ATR untuk menyesuaikan jarak stop loss dan stop loss secara dinamik, anda boleh menyesuaikan diri dengan lebih baik dengan pergerakan pasaran.
  4. Perbandingan kedudukan harga dengan indikator dan bentuk garis silinder juga dipertimbangkan, meningkatkan kebolehpercayaan isyarat.

Risiko Strategik

  1. Kedua-dua indikator EMA dan RSI mempunyai keterlambatan tertentu, yang mungkin berlaku apabila indikator bersilang dan harga tidak berbalik dengan serta-merta, menyebabkan isyarat palsu.
  2. Indikator RSI sering menghasilkan isyarat silang dalam pasaran yang goyah, yang boleh menyebabkan perdagangan berlebihan.
  3. RSI yang ditetapkan mungkin tidak berlaku untuk semua keadaan pasaran dan perlu disesuaikan mengikut ciri pasaran.
  4. Strategi ini sangat bergantung kepada ATR untuk mengira stop loss dan stop loss, tetapi nilai ATR mungkin tidak benar kerana dipengaruhi oleh turun naik harga secara tiba-tiba.

Arah optimum strategi

  1. Mengoptimumkan parameter EMA dan RSI untuk mencari kombinasi parameter yang paling sesuai dengan pasaran semasa.
  2. Dalam pasaran yang goyah, syarat penapisan lain, seperti perubahan jumlah dagangan, kadar turun naik, dan lain-lain, ditambah untuk menapis isyarat palsu yang kerap berlaku.
  3. RSI disesuaikan secara adaptif untuk keadaan pasaran yang berbeza.
  4. Menggunakan pelbagai kaedah stop loss dan stop loss, seperti stop loss stop loss berdasarkan tempat rintangan yang menyokong, atau stop loss bergerak yang digabungkan dengan arah trend, untuk meningkatkan kawalan risiko.
  5. Menggabungkan modul pengurusan kedudukan untuk menyesuaikan saiz kedudukan setiap dagangan secara dinamik mengikut turun naik pasaran dan keadaan risiko akaun.

Ringkasan

Strategi silang EMA dan RSI adalah strategi pengesanan trend yang mudah digunakan dan mudah digunakan untuk menilai arah pasaran dengan lebih menyeluruh dengan menggabungkan dua dimensi trend dan momentum. Pada masa yang sama, strategi ini menggunakan beberapa syarat penapisan dan kaedah penghentian kerugian dinamik untuk meningkatkan kualiti isyarat dan kawalan risiko. Walau bagaimanapun, strategi ini juga mempunyai beberapa batasan, seperti masalah penundaan indikator, perdagangan yang kerap. Oleh itu, dalam aplikasi praktikal, strategi ini perlu dioptimumkan dan disempurnakan lagi mengikut ciri pasaran tertentu dan pilihan risiko individu.


/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pritom980

//@version=5
strategy("EMA RSI Cross", overlay=true, margin_long=100, margin_short=100)

// add RSI

rsi_period = input.int(7,"RSI Period")
rsi_val =  ta.rsi(close[1],rsi_period)
plot(rsi_val, color=color.blue, linewidth=2, title="RSI")

buyRsiFlag = rsi_val < 20
sellRsiFlag = rsi_val > 80

// add EMA
ema = ta.ema(close, 50)
plot(ema, color=color.red, linewidth=2, title="EMA")


// check buy

// buy when the price is below ema 
buyFlag = ema > close ? true : false

// sell when the price is above ema
sellFlag = ema < close ? true : false


bgcolor(buyFlag and buyRsiFlag ? color.green : na )
bgcolor(sellFlag and sellRsiFlag ? color.red : na )




// Check if current candle's body is bigger than previous candle's body and of opposite color
is_body_bigger_long = math.abs(close - open) > math.abs(close[1] - open[1]) and close > open != close[1] > open[1]


greenCandle = close > close[1]
redCandle = close < close[1]
// Mark the candle
bgcolor(is_body_bigger_long and greenCandle and buyFlag  ? color.blue : na, transp=70)


// ENTRY ---------------------

// Input for ATR period
atr_length = input(14, title="ATR Length")

// Calculate ATR
atr_value = ta.atr(atr_length)

// Calculate stop loss and take profit levels
candleBody = math.abs(close-open)
slDist = atr_value + candleBody

stop_loss_long = close - slDist
take_profit_long = close + (1.2 * slDist) 


stop_loss_short = high + slDist
take_profit_short = high - (1.2 * slDist)

// Entry and exit conditions
if (buyFlag and buyRsiFlag  and strategy.opentrades >= 0 and greenCandle)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss_long, limit=take_profit_long)

// Entry and exit conditions
if (sellFlag and sellRsiFlag   and strategy.opentrades <= 0 and redCandle)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Short", stop=stop_loss_short, limit=take_profit_short)

Kandungan berkaitan

Lebih lanjut