Bollinger Bands + RSI + Chiến lược giao dịch đôi EMA

Tác giả:ChaoZhang, Ngày: 2023-12-29 14:46:57
Tags:

img

Tổng quan

Chiến lược này tích hợp Bollinger Bands, Relative Strength Index (RSI) và Exponential Moving Average (EMA) ba chỉ số để thực hiện một chiến lược giao dịch tự động với thời gian giữ dài cho cổ phiếu. Nó tạo ra tín hiệu mua khi RSI nằm dưới đường bán quá mức và giá gần hoặc chạm vào đường ray dưới Bollinger Bands, và tạo ra tín hiệu bán khi giá tăng lên để chạm vào đường ray trên Bollinger Bands, sử dụng Bollinger Bands để xác định xu hướng thị trường và tình trạng mua quá mức / bán quá mức để xác nhận hai lần.

Nguyên tắc chiến lược

Chiến lược này chủ yếu đánh giá dựa trên Bollinger Bands, RSI và EMA ba chỉ số. Đường sắt giữa trong Bollinger Bands là mức trung bình di chuyển đơn giản của giá, và đường sắt trên và dưới là hai phạm vi lệch chuẩn của giá. Bollinger Bands có thể đánh giá tình trạng mua quá mức / bán quá mức của thị trường. Khi giá gần đường sắt dưới, nó chỉ ra tình trạng bán quá mức, và khi giá gần đường sắt trên, nó chỉ ra tình trạng mua quá mức. RSI là một trong những chỉ số quan trọng để đánh giá liệu cổ phiếu có bị mua quá mức hay bán quá mức. RSI dưới 30 chỉ ra tình trạng bán quá mức và RSI trên 70 chỉ ra tình trạng mua quá mức. EMA là mức trung bình di chuyển cân nhắc theo cấp số nhân của giá và có thể xác định xu hướng giá.

Tín hiệu mua cho chiến lược này được tạo ra khi chỉ số RSI nằm dưới đường bán quá mức 30 và đồng thời giá đã tiếp cận hoặc chạm vào đường ray dưới Bollinger Bands trong tình trạng bán quá mức.

Tín hiệu bán được tạo ra khi giá chạm vào đường ray trên của Bollinger Bands trong một xu hướng tăng.

Ưu điểm của Chiến lược

  1. Tích hợp Bollinger Bands và RSI để xác nhận hai lần tình trạng mua quá mức / bán quá mức, tránh các tín hiệu sai.
  2. Sử dụng EMA để xác định hướng xu hướng giá, tránh giao dịch chống lại xu hướng.
  3. Các thông số cho cả RSI và Bollinger Bands có thể được tùy chỉnh cho các cổ phiếu khác nhau.
  4. Đơn giản và rõ ràng chiến lược logic, dễ hiểu và thực hiện.

Rủi ro của chiến lược

  1. Cả Bollinger Bands và RSI đều có thể tạo ra tín hiệu sai, gây ra các mục nhập sai.
  2. Vị trí dừng lỗ cần tối ưu hóa thêm, với rủi ro khôi phục cao hơn.
  3. EMA có thể không xác định hoàn hảo xu hướng với các điểm đảo ngược xu hướng bị bỏ qua.
  4. Các thiết lập tham số không phù hợp có thể dẫn đến giao dịch quá mức hoặc bỏ lỡ các cơ hội giao dịch.

Giải pháp:

  1. Giảm thời gian Bollinger Bands, tối ưu hóa các thông số RSI.
  2. Động lực dừng mất mát.
  3. Kết hợp các chỉ số khác để xác định xu hướng.
  4. Kiểm tra các thiết lập tham số khác nhau để tìm kết hợp tối ưu.

Hướng dẫn tối ưu hóa chiến lược

Chiến lược có thể được tối ưu hóa thêm trong các khía cạnh sau:

  1. Thêm thêm các chỉ số để đánh giá, ví dụ: KD cho tình trạng mua quá mức / bán quá mức.
  2. Thêm các cơ chế dừng lỗ như dừng lỗ di chuyển, dừng lỗ vùng để quản lý rủi ro.
  3. Thêm các quy tắc thoát dựa trên xác định xu hướng EMA trong điều kiện bán hàng.
  4. Tối ưu hóa cài đặt tham số để mở rộng phạm vi lợi nhuận, ví dụ: điều chỉnh chiều rộng của Bollinger Bands.
  5. Thêm các quy tắc nhập để tránh sự đột phá sai, ví dụ như bộ lọc âm lượng.

Kết luận

Chiến lược này tích hợp Bollinger Bands, RSI và EMA cho một chiến lược giao dịch tự động giữ dài với bộ lọc xác nhận kép. Việc xác nhận kép cho tình trạng mua quá mức / bán quá mức tránh được các tín hiệu sai một cách hiệu quả, và sử dụng EMA để xác định xu hướng ngăn chặn giao dịch chống lại xu hướng. Trong khi đó, cài đặt tham số linh hoạt làm cho nó thích nghi với các cổ phiếu khác nhau. Việc cải thiện thêm các khía cạnh của cơ chế dừng lỗ và thoát có thể tăng hiệu quả và quản lý rủi ro của chiến lược. Chiến lược cung cấp một khung tham chiếu có giá trị cho người mới bắt đầu và có ý nghĩa thực tế.


/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by ChartArt) v1.3", shorttitle="rsi 30 min ADJ Buy", overlay=true)

///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = input(30, title="RSI Oversold Level")  // Adjustable RSI oversold level
RSIoverBought = input(80, title="RSI Overbought Level")  // Adjustable RSI overbought level
price = close
vrsi = rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(231, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

///////////// EMA
useEMA = input(true, title="Use EMA?")
emaLength = input(20, title="EMA Period Length")
ema = useEMA ? ema(close, emaLength) : na

source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)

///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(ema, color=color.orange, title="EMA")  // Plot EMA

///////////// RSI + Bollinger Bands Strategy
long = crossover(vrsi, RSIoverSold) and buyEntry
close_long = close >= BBupper

if (not na(vrsi))
    if long
        strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
    else
        strategy.cancel(id="Buy")
        
    if close_long
        strategy.close("Buy")


Thêm nữa