
Chiến lược này là một hệ thống giao dịch tự điều chỉnh dựa trên chỉ số tương đối mạnh (RSI). Chiến lược này hoạt động trên chu kỳ thời gian M5 để xác định các cơ hội giao dịch tiềm năng bằng cách theo dõi mức độ quá mua quá bán của chỉ số RSI.
Cốt lõi của chiến lược này là sử dụng các đặc điểm biến động của chỉ số RSI trong vòng 14 chu kỳ để giao dịch. Khi RSI thấp hơn mức bán tháo 30 thì hệ thống phát ra nhiều tín hiệu; Khi RSI cao hơn mức mua tháo 70 thì hệ thống phát ra tín hiệu không. Các giao dịch chỉ được thực hiện trong cửa sổ thời gian 6:00-17:00, điều này giúp tránh các giai đoạn có biến động lớn của thị trường. Mỗi giao dịch được thiết lập mức dừng lỗ 1% và mức dừng 2%, lợi nhuận rủi ro không cân xứng này có lợi cho lợi nhuận dài hạn.
Đây là một chiến lược giao dịch được thiết kế hợp lý, logic rõ ràng. Bằng các chỉ số RSI để nắm bắt các cơ hội bán tháo thị trường, kết hợp với kiểm soát rủi ro và quản lý thời gian nghiêm ngặt, có giá trị ứng dụng thực tế tốt. Ưu điểm chính của chiến lược là tính toàn vẹn của hệ thống và tính rõ ràng của hoạt động, nhưng trong giao dịch thực tế, vẫn cần chú ý đến ảnh hưởng của môi trường thị trường đối với hiệu suất chiến lược và tối ưu hóa tham số phù hợp theo tình huống thực tế.
/*backtest
start: 2025-01-20 00:00:00
end: 2025-01-26 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Gold Trading RSI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Input parameters configuration
rsi_length = input.int(14, title="RSI Period") // RSI period
rsi_overbought = input.int(70, title="RSI Overbought Level") // Overbought level
rsi_oversold = input.int(30, title="RSI Oversold Level") // Oversold level
sl_percent = input.float(1.0, title="Stop Loss (%)") / 100 // Stop loss percentage
tp_percent = input.float(2.0, title="Take Profit (%)") / 100 // Take profit percentage
capital = strategy.equity // Current equity
// Calculate RSI on the 5-minute timeframe
rsi_m5 = ta.rsi(close, rsi_length)
// Get the current hour based on the chart's timezone
current_hour = hour(time)
// Limit trading to the hours between 6:00 AM and 5:00 PM
is_trading_time = current_hour >= 6 and current_hour < 17
// Entry conditions
long_condition = is_trading_time and rsi_m5 < rsi_oversold
short_condition = is_trading_time and rsi_m5 > rsi_overbought
// Calculate Stop Loss and Take Profit levels
sl_long = close * (1 - sl_percent)
tp_long = close * (1 + tp_percent)
sl_short = close * (1 + sl_percent)
tp_short = close * (1 - tp_percent)
// Enter trade
if (long_condition)
strategy.entry("Buy", strategy.long)
strategy.exit("Exit Buy", from_entry="Buy", stop=sl_long, limit=tp_long)
if (short_condition)
strategy.entry("Sell", strategy.short)
strategy.exit("Exit Sell", from_entry="Sell", stop=sl_short, limit=tp_short)