
Chiến lược giao dịch cá sấu RSI là một chiến lược giao dịch định lượng sử dụng kết hợp nhiều đường trung bình của chỉ số tương đối mạnh ((RSI) để đánh giá xu hướng thị trường và phát ra tín hiệu giao dịch. Chiến lược này lấy nguyên tắc săn cá sấu, giao dịch khi đường RSI ngắn xuyên qua đường RSI dài.
Chiến lược giao dịch RSI cá mập sử dụng ba đường trung bình RSI cùng lúc vào ngày 5, 13 và 34. Trong đó, đường RSI 5 ngày được gọi là đường răng cưa, đường 13 ngày được gọi là đường răng cưa và đường 34 ngày được gọi là đường răng cưa.
Điều quan trọng trong chiến lược giao dịch là nắm bắt sự giao thoa của đường RSI ngắn hạn với đường RSI dài hạn để đánh giá mối quan hệ giữa xu hướng ngắn hạn và xu hướng dài hạn của thị trường, tìm kiếm cơ hội đảo ngược. Khi đường RSI ngắn hạn giao thoa đường RSI dài hạn, điều này cho thấy giá ngắn hạn đã bị đảo ngược, khi đó chiếm vị trí ngược lại, có thể hưởng lợi từ sự đảo ngược xu hướng dài hạn sắp xảy ra.
Chiến lược giao dịch cá mập RSI có những lợi thế sau:
Chiến lược giao dịch cá mập RSI cũng có những rủi ro sau:
Những rủi ro này có thể được giảm thiểu bằng cách kết hợp các chỉ số khác, các tham số tối ưu hóa và điều chỉnh đúng quy mô nắm giữ.
Chiến lược giao dịch cá mập RSI có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược giao dịch RSI cá mập sử dụng nhiều RSI đồng bằng để nắm bắt cơ hội đảo ngược thị trường. Nó đơn giản và thực tế, phù hợp với giao dịch tự động, nhưng cũng có một số nhược điểm. Bằng cách tối ưu hóa tham số và kết hợp các chỉ số, chiến lược này có thể được tăng cường để trở thành một chiến lược giao dịch thuật toán có lợi nhuận ổn định.
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("RSI Alligator", overlay=false)
jaws = rsi(close, 34)
teeth = rsi(close, 5)
lips = rsi(close, 13)
plot(jaws, color=blue, title="Jaw")
plot(teeth, color=green, title="Teeth")
plot(lips, color=red, title="Lips")
longCondition = crossover(rsi(close, 13), rsi(close, 34)) and (rsi(close, 5) > rsi(close, 34))
longCondition1 = crossover(rsi(close, 5), rsi(close, 34)) and (rsi(close, 13) > rsi(close, 34))
if (longCondition)
strategy.entry("Long", strategy.long)
if (longCondition1)
strategy.entry("Long", strategy.long)
shortCondition = crossunder(rsi(close, 13), rsi(close, 34)) and (rsi(close, 5) < rsi(close, 34))
shortCondition1 = crossunder(rsi(close, 5), rsi(close, 34)) and (rsi(close, 13) < rsi(close, 34))
if (shortCondition)
strategy.entry("Short", strategy.short)
if (shortCondition1)
strategy.entry("Short", strategy.short)
// === BACKTESTING: EXIT strategy ===
sl_inp = input(10, title='Stop Loss %', type=float)/100
tp_inp = input(90, title='Take Profit %', type=float)/100
stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)
strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)