
Chiến lược này là một hệ thống giao dịch định lượng dựa trên các đường chéo trung bình di chuyển chỉ số 5 chu kỳ và 15 chu kỳ (EMA). Bằng cách thiết lập các mức dừng và dừng hợp lý, theo đuổi lợi nhuận ổn định trong khi bảo vệ an toàn tài chính. Chiến lược sử dụng tín hiệu chéo đường chéo cổ điển để xác định sự thay đổi của xu hướng thị trường và kết hợp với cơ chế quản lý rủi ro để kiểm soát tỷ lệ lợi nhuận trên mỗi giao dịch.
Cốt lõi của chiến lược là giám sát sự giao thoa giữa đường trung bình di chuyển nhanh (EMA 5 chu kỳ) và đường trung bình di chuyển chậm (EMA 15 chu kỳ). Khi EMA 5 chu kỳ đi lên vượt qua EMA 15 chu kỳ, hệ thống tạo ra tín hiệu nhiều; Khi EMA 5 chu kỳ đi xuống vượt qua EMA 15 chu kỳ, hệ thống tạo ra tín hiệu dừng. Đối với mỗi tín hiệu giao dịch, hệ thống sẽ tự động thiết lập điểm dừng lỗ 1,5% và điểm dừng 3%, điều này đảm bảo tỷ lệ lợi nhuận rủi ro tốt.
Đây là một chiến lược giao dịch định lượng có cấu trúc, logic rõ ràng. Kiểm soát rủi ro bằng cách nắm bắt các điểm biến động xu hướng bằng cách chéo ngang, kết hợp với các điểm dừng lỗ cố định. Chiến lược đơn giản, dễ sử dụng, phù hợp với người mới bắt đầu và cung cấp cơ sở tốt cho việc tối ưu hóa hơn nữa.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true)
// Define EMAs
ema5 = ta.ema(close, 5)
ema15 = ta.ema(close, 15)
// Plot EMAs on the chart
plot(ema5, title="5 EMA", color=color.blue)
plot(ema15, title="15 EMA", color=color.red)
// Crossover conditions
longCondition = ta.crossover(ema5, ema15)
shortCondition = ta.crossunder(ema5, ema15)
// Stop-loss and take-profit percentage
stopLossPercent = 1.5 // Stop-loss at 1.5%
takeProfitPercent = 3.0 // Take-profit at 3%
// Calculate stop-loss and take-profit levels for long and short positions
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100)
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100)
shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100)
// Enter long position with stop-loss and take-profit
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit)
// Enter short position with stop-loss and take-profit
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit)
// Plot stop-loss and take-profit levels
plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)
plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr)
plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)