
Chiến lược này dựa trên chỉ số sức mạnh tương đối (RSI) kết hợp với các cơ chế dừng lỗ và hạn chế tổn thất hàng ngày để thực hiện giao dịch thuật toán đối với cổ phiếu Nvidia. Quyết định giao dịch của nó phụ thuộc vào chỉ số RSI để nhận ra tín hiệu mua quá mức và bán quá mức, sau đó thiết lập nhiều vị trí bán tháo. Đồng thời, chiến lược đặt điểm dừng lỗ để hạn chế tổn thất đơn lẻ và quy định tỷ lệ tổn thất tối đa hàng ngày để kiểm soát rủi ro tổng thể.
Khi chỉ số RSI thấp hơn ngưỡng bán tháo 37 thì coi giá cổ phiếu là giá thấp hơn, lúc này làm nhiều; khi RSI cao hơn ngưỡng mua tháo 75 thì coi giá cổ phiếu là giá cao hơn, lúc này làm trần. Khi cổ phiếu giảm vượt quá điểm dừng lỗ được đặt trước, dừng lỗ sẽ rút ra. Nếu lỗ tối đa trong một ngày đạt 3% trong giá trị ròng, dừng lỗ và không mở vị trí.
Chiến lược này chủ yếu dựa vào chỉ số RSI để xác định thời gian mua và bán. RSI dưới 30 là tín hiệu bán quá mức, đại diện cho giá cổ phiếu bị đánh giá thấp; và RSI trên 70 là tín hiệu mua quá mức, có nghĩa là giá cổ phiếu được đánh giá cao. Chiến lược mở vị trí mua bán quá mức và bán quá mức, dựa trên giá cổ phiếu quay lại để kiếm lợi nhuận.
Cơ chế dừng lỗ được sử dụng để kiểm soát tổn thất đơn lẻ. Chiến lược dừng lỗ khi lỗ đạt đến tỷ lệ phần trăm được đặt. Điều này giúp tránh tổn thất lớn. Giới hạn tổn thất hàng ngày được sử dụng để hạn chế tổn thất tổng thể trong ngày.
Chiến lược này kết hợp chỉ số RSI với giới hạn lỗ hổng/ngày có những lợi thế sau:
Chiến lược này cũng có một số rủi ro:
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược dừng lỗ chỉ số cường độ tương đối này tích hợp các ưu điểm của các chỉ số kỹ thuật và cơ chế kiểm soát rủi ro, lọc các cơ hội giao dịch ồn ào, kiểm soát rủi ro giao dịch ở một mức độ nào đó. Chiến lược đơn giản, rõ ràng và dễ thực hiện, có thể được sử dụng như một trong những chiến lược nhập cảnh cho giao dịch định lượng.
//@version=5
strategy("RSI Strategy with Daily Loss Limit", overlay=true)
// Define RSI conditions
rsiValue = ta.rsi(close, 7)
rsiLength = input(15, title="RSI Length")
rsiOverbought = 75
rsiOversold = 37
// Define stop-loss percentage
stopLossPercent = input(1, title="Stop Loss Percentage") / 100
// Enter long (buy) when RSI is below 40 with stop-loss
if (rsiValue < rsiOversold)
strategy.entry("Buy", strategy.long)
// Exit long when RSI is above 80 or when stop-loss is hit
if (rsiValue > rsiOverbought)
strategy.exit("Buy", from_entry="Buy", loss=close * stopLossPercent)
// Enter short (sell) when RSI is above 80 with stop-loss
if (rsiValue > rsiOverbought)
strategy.entry("Sell", strategy.short)
// Exit short when RSI is below 40 or when stop-loss is hit
if (rsiValue < rsiOversold)
strategy.exit("Sell", from_entry="Sell", loss=close * stopLossPercent)
// Track account equity
equityLimit = strategy.equity * 0.97 // Set the daily loss limit to 3%
// Enter long (buy) when RSI is below 40
if (rsiValue < rsiOversold)
strategy.entry("Buy", strategy.long)
// Exit long when RSI is above 80 or when stop-loss is hit
if (rsiValue > rsiOverbought)
strategy.exit("Buy", from_entry="Buy", loss=close * stopLossPercent)
// Enter short (sell) when RSI is above 80
if (rsiValue > rsiOverbought)
strategy.entry("Sell", strategy.short)
// Exit short when RSI is below 40 or when stop-loss is hit
if (rsiValue < rsiOversold)
strategy.exit("Sell", from_entry="Sell", loss=close * stopLossPercent)
// Plot RSI on the chart
plot(rsiValue, title="RSI", color=color.blue)
// Stop trading for the day if the daily loss limit is reached
if (strategy.equity < equityLimit)
strategy.close_all()