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.
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.
Giải pháp:
Chiến lược có thể được tối ưu hóa thêm trong các khía cạnh sau:
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")