Đây là một chiến lược đảo ngược dựa trên chéo trung bình di chuyển đơn giản. Nó sử dụng trung bình di chuyển đơn giản 1 ngày và 5 ngày. Khi SMA ngắn hơn vượt qua trên SMA dài hơn, nó sẽ dài. Khi SMA ngắn hơn vượt qua dưới SMA dài hơn, nó sẽ ngắn. Đây là một chiến lược theo xu hướng điển hình.
Chiến lược tính toán SMA 1 ngày (sma1) và SMA 5 ngày (sma5) của giá đóng cửa. Khi sma1 vượt qua sma5, nó vào vị trí dài. Khi sma1 vượt qua dưới sma5, nó vào vị trí ngắn. Sau khi mở vị trí dài, lệnh dừng lỗ được đặt ở mức 5 USD dưới giá nhập và lấy lợi nhuận ở mức 150 USD trên. Đối với các vị trí ngắn, lệnh dừng lỗ là 5 USD trên mức nhập và lấy lợi nhuận 150 USD dưới.
Chiến lược SMA đôi đơn giản này dễ hiểu và thực hiện để xác minh chiến lược nhanh chóng. Nhưng nó có khả năng chấp nhận rủi ro và lợi nhuận hạn chế. Các tối ưu hóa hơn nữa trong các tham số và bộ lọc là cần thiết để thích nghi với nhiều điều kiện thị trường hơn. Là một chiến lược lượng khởi đầu, nó chứa các khối xây dựng cơ bản để cải thiện lặp lại.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-19 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100) var float lastLongOrderPrice = na var float lastShortOrderPrice = na longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 5)) if (longCondition) strategy.entry("Long Entry", strategy.long) // Enter long shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 5)) if (shortCondition) strategy.entry("Short Entry", strategy.short) // Enter short if (longCondition) lastLongOrderPrice := close if (shortCondition) lastShortOrderPrice := close // Calculate stop loss and take profit based on the last executed order's price stopLossLong = lastLongOrderPrice - 5 // 10 USDT lower than the last long order price takeProfitLong = lastLongOrderPrice + 151 // 100 USDT higher than the last long order price stopLossShort = lastShortOrderPrice + 5 // 10 USDT higher than the last short order price takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price // Apply stop loss and take profit to long positions strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong) // Apply stop loss and take profit to short positions strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)