Chiến lược RSI chuyển động đa EMA

Tác giả:ChaoZhang, Ngày: 2023-09-14 16:28:04
Tags:

Chiến lược logic

Chiến lược này kết hợp nhiều đường trung bình động với chỉ số RSI cho các giao dịch.

Lý do là:

  1. Tính toán 4 EMA của các giai đoạn khác nhau, ví dụ 9, 26, 100 và 55 giai đoạn

  2. Một tín hiệu ngắn được kích hoạt khi EMA 9 giai đoạn vượt dưới EMA 26 giai đoạn

  3. Chỉ kích hoạt ngắn nếu RSI dưới ngưỡng (ví dụ 40) để tránh tăng giá quá cao

  4. Sau khi bước vào ngắn, bước ra khi giá vượt trên 55 hoặc 100 EMA

  5. Các kết hợp EMA khác nhau có thể được thiết lập cho tối ưu hóa tham số

Chiến lược sử dụng nhiều EMA cho xu hướng và thêm RSI để xác nhận tín hiệu, đi ngắn ở mức bán quá mức.

Ưu điểm

  • Nhiều EMA cải thiện độ chính xác

  • RSI tránh rủi ro bị bán quá mức

  • EMA nhanh hơn cho entry, chậm hơn cho stop loss

Rủi ro

  • Cần thử nghiệm rộng rãi để tìm các thông số tối ưu

  • Đánh giá cẩn thận các thông số RSI

  • Chỉ ngắn, rất lâu cơ hội bị bỏ lỡ

Tóm lại

Chiến lược này kết hợp sức mạnh của nhiều EMA với xác nhận và lọc RSI. Tối ưu hóa tham số và dừng lỗ là rất quan trọng.


/*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")













Thêm nữa