
Chiến lược này sử dụng sự kết hợp giữa các đường trung bình di chuyển của hai chỉ số và các chỉ số tương đối mạnh để xác định các cơ hội giao dịch tiềm năng trong thị trường. Nó phù hợp cho các nhà giao dịch theo dõi các động thái và biến động giá lớn hơn.
Ý tưởng cốt lõi là mua khi chỉ số di chuyển 9 tuần nhanh lên vượt qua chỉ số di chuyển 21 tuần chậm hơn, vì điều này cho thấy xu hướng thị trường có thể đang trở nên mạnh hơn. Sau đó, nếu RSI lớn hơn 50, hãy xác nhận tín hiệu mua, vì điều này có nghĩa là giá đang tăng mạnh.
Cụ thể, khi 9 tuần EMA vượt qua 21 tuần EMA, và 14 tuần RSI lớn hơn 50, một tín hiệu mua được phát ra. Sau đó sử dụng 2% rủi ro tài khoản để mở vị trí, 5% dừng lỗ, 10% dừng lỗ. Và 3% theo dõi dừng lỗ để khóa lợi nhuận.
Tín hiệu bán dựa trên logic ngược lại: nếu 9 tuần EMA đi xuống 21 tuần EMA hoặc RSI thấp hơn 50, điều này cho thấy xu hướng ngắn hạn đã thay đổi hướng đi xuống.
Có thể tối ưu hóa bằng cách kiểm tra một cách có hệ thống các kết hợp của các tham số này. Ngoài ra, có thể thêm bộ lọc vào logic điều kiện để giảm giao dịch tiếng ồn.
Chiến lược này sử dụng sức mạnh của EMA và RSI để xác định các cơ hội tiềm năng trong các xu hướng trung và dài hạn. Nó cung cấp các quy tắc quản lý rủi ro rõ ràng, có thể kiểm soát hiệu quả rủi ro của mỗi giao dịch.
/*backtest
start: 2023-12-22 00:00:00
end: 2024-01-21 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Weekly Swing Trading Strategy", overlay=true)
// Entry Indicators
shortEma = ema(close, 9)
longEma = ema(close, 21)
rsiValue = rsi(close, 14)
// Entry Condition
longCondition = crossover(shortEma, longEma) and rsiValue > 50
if (longCondition)
strategy.entry("Long", strategy.long)
// Position Sizing (2% risk per trade)
riskPerTrade = 0.02
stopLossPercent = 0.05 // 5% stop loss
stopLossPrice = close * (1 - stopLossPercent)
strategy.exit("Stop Loss", "Long", stop=stopLossPrice)
// Profit Target and Trailing Stop
profitTargetPercent = 0.10 // 10% profit target
profitTargetPrice = close * (1 + profitTargetPercent)
trailStopPercent = 0.03 // 3% trailing stop
strategy.exit("Take Profit", "Long", limit=profitTargetPrice, trail_price=trailStopPercent, trail_offset=trailStopPercent)
// Exit Strategy
exitCondition = crossunder(shortEma, longEma) or rsiValue < 50 // Exit when EMAs cross or RSI drops below 50
strategy.close("Long", when=exitCondition)
plot(shortEma, color=color.red)
plot(longEma, color=color.blue)
hline(50, "RSI 50", color=color.purple)