Strategi RSI Bergerak Multi-EMA

Penulis:ChaoZhang, Tarikh: 2023-09-14 16:28:04
Tag:

Logika Strategi

Strategi ini menggabungkan pelbagai purata bergerak dengan RSI untuk perdagangan. Ia menjadi pendek apabila EMA yang lebih cepat melintasi di bawah EMA yang lebih perlahan, disahkan dengan RSI oversold.

Logikanya ialah:

  1. Mengira 4 EMA tempoh yang berbeza, contohnya 9, 26, 100 dan 55 tempoh

  2. Isyarat pendek diaktifkan apabila EMA 9 tempoh melintasi di bawah EMA 26 tempoh

  3. Mengaktifkan pendek hanya jika RSI di bawah ambang (contohnya 40) untuk mengelakkan pantulan oversold

  4. Selepas masuk pendek, keluar apabila harga melintasi di atas 55 atau 100 EMA

  5. Gabungan EMA yang berbeza boleh ditetapkan untuk pengoptimuman parameter

Strategi ini menggunakan beberapa EMA untuk trend dan menambah RSI untuk pengesahan isyarat, pergi pendek pada tahap oversold.

Kelebihan

  • Pelbagai EMA meningkatkan ketepatan

  • RSI mengelakkan risiko lompatan oversold

  • EMA yang lebih cepat untuk masuk, lebih perlahan untuk hentian kerugian

Risiko

  • Ujian meluas diperlukan untuk mencari parameter optimum

  • Penilaian parameter RSI dengan teliti

  • SEDEKATA sahaja, begitu banyak peluang yang hilang

Ringkasan

Strategi ini menggabungkan kuasa pelbagai EMA dengan pengesahan dan penapisan RSI. Pengoptimuman parameter dan stop loss adalah penting. Tetapi menjadi pendek sahaja adalah batasan utama.


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 3h
basePeriod: 15m
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/
// © YukalMoon

//@version=5
strategy(title="EMA SCALPEUR", overlay=true, initial_capital = 1000)


//// input controls

EMA_L = input.int (title = "EMA_L", defval = 9, minval = 1, maxval = 100, step =1)
EMA_L2 = input.int (title = "EMA_L2", defval = 26, minval = 1, maxval = 100, step =1)
EMA_S = input.int (title = "EMA_S", defval = 100, minval = 1, maxval = 100, step =1)
EMA_S2 = input.int (title = "EMA_S2", defval = 55, minval = 1, maxval = 100, step =1)
RSI1 = input.int (title = "RSI", defval = 5, minval = 1, maxval = 20 , step = 1)

/// mise en place de ema

RSI = ta.rsi(close, RSI1)

shortest = ta.ema(close, 9)
short = ta.ema(close, 26)
longer = ta.ema(close, 100)
longest = ta.ema(close, 55)

plot(shortest, color = color.red)
plot(short, color = color.orange)
plot(longer, color = color.aqua)
plot(longest, color = color.yellow)

plot(close)

//// trading indicators

EMA1 = ta.ema (close,EMA_L)
EMA2 = ta.ema (close,EMA_L2)
EMA3 = ta.ema (close, EMA_S)
EMA4 = ta.ema (close, EMA_S2)


//buy = ta.crossover(EMA1, EMA2) and RSI > 60 and RSI <70
sell = ta.crossunder(EMA1, EMA2) and RSI > 40

//buyexit = ta.crossunder(EMA3, EMA4)
sellexit = ta.crossover(EMA3, EMA4)

/////strategy


strategy.entry ("short", strategy.short, when = sell, comment = "ENTER-SHORT")


///// market exit


strategy.close ("short",  when = sellexit, comment = "EXIT-SHORT")













Lebih lanjut