Ý tưởng cốt lõi của chiến lược này là kết hợp chỉ số RSI và trung bình động để tìm cơ hội đảo ngược giá cổ phiếu và đạt được mua thấp và bán cao. Khi chỉ số RSI cho thấy cổ phiếu bị bán quá mức và trung bình động ngắn hạn vượt qua dưới giá, nó phục vụ như một tín hiệu mua. Sau khi thiết lập stop loss và lấy lợi nhuận, chờ giá đảo ngược lên.
Chỉ số RSI là một chỉ số chứng khoán được sử dụng để đánh giá giá giá của một cổ phiếu. Chỉ số này sử dụng chỉ số RSI để đánh giá các điều kiện bán quá mức và mua quá mức, và đường chéo vàng và đường chéo chết của đường trung bình động để xác định xu hướng giá. Cụ thể, chỉ số RSI có thể đánh giá hiệu quả liệu một cổ phiếu có bán quá mức hoặc mua quá mức hay không. Khi chỉ số RSI dưới 30, nó nằm trong phạm vi bán quá mức. Và khi đường trung bình di chuyển ngắn hạn (được đặt thành 9 ngày trong chiến lược này) vượt qua dưới giá, điều đó có nghĩa là giá đang giảm.
Vì vậy, khi chỉ số RSI dưới 40, gần trạng thái bán quá mức, và trung bình động 9 ngày vượt qua dưới giá, nó có thể được đánh giá là thời điểm có thể cho giá cổ phiếu đảo ngược, mua dài.
Chiến lược này kết hợp chỉ số RSI và đường trung bình động, có thể xác định hiệu quả thời điểm mua. So với một phán quyết duy nhất về bán quá mức, phán quyết điều kiện bổ sung của đường trung bình động tránh biến động trong khu vực bán quá mức. Việc thiết lập dừng lỗ và lấy lợi nhuận là linh hoạt và có thể khác nhau từ người này sang người khác.
Chiến lược này dựa trên các thiết lập tham số như ngưỡng phán đoán RSI, cửa sổ thời gian trung bình động, v.v. Các tham số khác nhau có thể dẫn đến kết quả khác nhau. Và trong điều kiện thị trường nhất định, dừng lỗ vẫn có thể.
Ngoài ra, phí giao dịch cũng sẽ có tác động nhất định đến lợi nhuận.
Xem xét điều chỉnh động các thông số trung bình động, chọn các thông số khác nhau cho chu kỳ khác nhau; hoặc giới thiệu các chỉ số khác để đánh giá, chẳng hạn như KDJ, MACD, v.v., để hình thành một đánh giá toàn diện dựa trên nhiều điều kiện.
Cũng có thể thiết lập khối lượng giao dịch hoặc mô-đun quản lý vốn để kiểm soát tỷ lệ vốn được chiếm bởi một giao dịch duy nhất và giảm tác động của một lỗ duy nhất.
Nói chung, chiến lược này sử dụng các chỉ số RSI và trung bình động để xác định thời gian mua và có thể xác định hiệu quả sự đảo ngược giá. Mua quá mức bán và khóa lợi nhuận với dừng lỗ và lấy lợi nhuận có thể mang lại kết quả tốt. Đối với tối ưu hóa trong tương lai, nên xem xét kết hợp nhiều chỉ số hơn hoặc thêm các mô-đun quản lý giao dịch / quỹ bổ sung để làm cho chiến lược mạnh mẽ hơn.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-24 23:59:59 period: 30m 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/ // © Coinrule //@version=4 strategy(shorttitle='MARSI',title='Moving Average', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true //MA inputs and calculations inshort=input(9, title='MA short period') MAshort= sma(close, inshort) // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="long", long = true, when = MAshort<close and RSI<40 and window()) //Exit longLossPerc = input(title="Long Stop Loss (%)", type=input.float, minval=0.0, step=0.1, defval=1.5) * 0.01 longTakePerc = input(title="Long Take Profit (%)", type=input.float, minval=0.0, step=0.1, defval=3) * 0.01 longSL = strategy.position_avg_price * (1 - longLossPerc) longTP = strategy.position_avg_price * (1 + longTakePerc) if (strategy.position_size > 0 and window()) strategy.exit(id="TP/SL", stop=longSL, limit=longTP) bgcolor(color = showDate and window() ? color.gray : na, transp = 90) plot(MAshort, color=color.purple, linewidth=4)