
Chiến lược này là một chiến lược đảo ngược đường trung bình dựa trên đường trung bình di chuyển đơn giản. Nó sử dụng đường trung bình di chuyển đơn giản có chiều dài 1 và chiều dài 5.
Chiến lược này tính toán trung bình di chuyển đơn giản 1 ngày sma1 và trung bình di chuyển đơn giản 5 ngày sma5 của giá đóng cửa, mua nhiều khi mua sma5 trên sma1 và mua bán khi mua sma5 dưới sma1. Thiết lập dừng lỗ sau khi mua là 5 đô la dưới giá mua, dừng lỗ là 150 đô la trên giá mua; thiết lập dừng lỗ sau khi mua là 5 đô la trên giá mua, dừng lỗ là 150 đô la dưới giá mua.
Định hướng tối ưu hóa:
Chiến lược này là một chiến lược đơn giản hai chiều bằng nhau, có tính năng hoạt động đơn giản, dễ thực hiện, có thể xác minh ý tưởng chiến lược một cách nhanh chóng. Tuy nhiên, khả năng chịu đựng và lợi nhuận của nó là hạn chế, cần phải tối ưu hóa các tham số và điều kiện lọc để thích ứng với nhiều môi trường thị trường hơn. Là chiến lược định lượng đầu tiên của người mới học, nó chứa các thành phần cơ bản, có thể được cải tiến lặp đi lặp lại như một khuôn khổ đơn giản.
/*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)