Chiến lược giao dịch kép Bollinger Bands + RSI + EMA


Ngày tạo: 2023-12-29 14:46:57 sửa đổi lần cuối: 2023-12-29 14:46:57
sao chép: 2 Số nhấp chuột: 1097
1
tập trung vào
1621
Người theo dõi

Chiến lược giao dịch kép Bollinger Bands + RSI + EMA

Tổng quan

Chiến lược này tích hợp ba chỉ số Brin, chỉ số tương đối mạnh (RSI) và chỉ số trung bình di chuyển (EMA) để thực hiện một chiến lược giao dịch tự động cổ phiếu được nắm giữ dài. Lưu ý rằng RSI tạo ra tín hiệu mua khi nó thấp hơn đường bán và giá gần hoặc chạm đường Brin xuống; tạo ra tín hiệu bán khi giá lên chạm đường Brin, sử dụng Brin để xác định xu hướng thị trường và lọc kép mua quá bán.

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

Chiến lược này chủ yếu dựa trên ba chỉ số Brin, RSI và EMA. Đường đường trung tâm trong vùng Brin là đường trung bình di chuyển đơn giản của giá, đường đường trên và dưới là khoảng cách hai lần so với giá chuẩn. Dải Brin có thể xác định sự quá mua quá bán của thị trường, giá gần đường dưới là quá bán, khi gần đường trên là quá mua. Chỉ số RSI là một trong những chỉ số quan trọng để xác định xem cổ phiếu có quá mua hay không, RSI thấp hơn 30 là quá bán, cao hơn 70 là quá mua.

Điều kiện mua của chiến lược này là: Một tín hiệu mua được tạo ra khi đường bán tháo của chỉ số RSI thấp hơn 30, và cần phải đáp ứng đồng thời với tình trạng bán tháo của giá đã gần hoặc chạm vào đường đi xuống của Brin, để tránh tín hiệu sai.

Điều kiện bán của chiến lược này là: Trong thời gian giá tăng, khi chạm vào dây thừng Brin tạo ra tín hiệu bán, comboBox1 ⋅ Như vậy, sử dụng dây thừng Brin để đánh giá tình trạng mua quá mức, thực hiện bán dừng ⋅

Lợi thế chiến lược

  1. Tích hợp các chỉ số Brin và RSI, lọc kép để đánh giá tình trạng quá mua quá bán, tránh tín hiệu giả.
  2. Sử dụng EMA để đánh giá xu hướng giá, tránh giao dịch ngược.
  3. Các tham số RSI và tham số Blink có thể được tùy chỉnh cho các cổ phiếu khác nhau.
  4. Lập luận của chiến lược đơn giản, rõ ràng và dễ hiểu.

Rủi ro chiến lược

  1. Cả BRI và RSI đều có thể tạo ra tín hiệu sai, dẫn đến việc mua sai.
  2. Cài đặt vị trí dừng lỗ cần được tối ưu hóa, rủi ro rút lui cao hơn.
  3. EMA không thể đánh giá được xu hướng một cách hoàn hảo và có thể đã bỏ lỡ điểm đảo ngược.
  4. Thiết lập tham số không đúng có thể dẫn đến giao dịch quá thường xuyên hoặc bỏ lỡ cơ hội giao dịch.

Phương pháp giải quyết rủi ro:

  1. Giảm chu kỳ vòng đai Brin một cách thích hợp, tối ưu hóa tham số RSI.
  2. Động thái theo dõi mất mát.
  3. Kết hợp các chỉ số khác để đánh giá xu hướng.
  4. Kiểm tra các thiết lập tham số khác nhau để tìm kiếm sự kết hợp tham số tối ưu.

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

Chiến lược này có thể được tối ưu hóa theo một số hướng sau:

  1. Thêm một số chỉ số khác, chẳng hạn như chỉ số KD cho biết quá mua quá bán.
  2. Quản lý rủi ro bằng cách tăng các chiến lược dừng lỗ, chẳng hạn như dừng di chuyển, dừng khoảng.
  3. Thêm chiến lược thoát ra trong điều kiện bán hàng, như thoát ra theo xu hướng theo đánh giá của EMA.
  4. Tối ưu hóa thiết lập tham số, cải thiện không gian lợi nhuận, chẳng hạn như điều chỉnh băng thông Brin.
  5. Thêm quy tắc mở kho để tránh phá vỡ giả, lọc càng nhiều càng tốt.

Tóm tắt

Chiến lược này tích hợp ba chỉ số Bollinger Bands, RSI và EMA, thực hiện một chiến lược giao dịch tự động giữ dây dài với phán đoán lọc kép. Cơ chế lọc kép để đánh giá trạng thái quá mua quá bán có thể tránh hiệu quả các tín hiệu sai, sử dụng EMA để đánh giá xu hướng có thể tránh giao dịch ngược. Trong khi đó, các tham số chiến lược có thể được thiết lập linh hoạt, áp dụng cho các cổ phiếu khác nhau, một chiến lược giao dịch định lượng thực tế đơn giản.

Mã nguồn chiến lược
/*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")