
Chiến lược này sử dụng đường trung bình đơn giản và chỉ số sóng thực trung bình để tạo ra tín hiệu mua và bán, thuộc loại chiến lược theo dõi xu hướng. Sử dụng đường trung bình 50 ngày và đường trung bình 100 ngày để đánh giá xu hướng, sử dụng chỉ số ATR để thiết lập điểm dừng để kiểm soát rủi ro.
Có thể thấy rằng chiến lược này phụ thuộc chủ yếu vào khả năng đánh giá xu hướng của đường thẳng và khả năng kiểm soát rủi ro của chỉ số ATR. Các nguyên tắc cơ bản đơn giản, rõ ràng, dễ hiểu và thực hiện.
Phương pháp kiểm soát rủi ro:
Chiến lược này là một trong những chiến lược theo dõi xu hướng điển hình, sử dụng phương pháp định hướng xu hướng bằng phương tiện, thiết lập ATR để kiểm soát rủi ro, nguyên tắc đơn giản, rõ ràng và dễ nắm bắt. Tuy nhiên, có một số rủi ro bị tụt hậu và tín hiệu sai, có thể được cải thiện bằng cách điều chỉnh tham số, tối ưu hóa chỉ số, kết hợp nhiều yếu tố khác nhau để làm cho chiến lược phù hợp hơn với môi trường thị trường thay đổi. Nói chung, chiến lược này phù hợp cho người mới bắt đầu thực hành và tối ưu hóa, nhưng cần thận trọng khi chiến đấu thực tế.
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA and ATR Strategy", overlay=true)
// Step 1. Define strategy settings
lengthSMA1 = input.int(50, title="50 SMA Length")
lengthSMA2 = input.int(100, title="100 SMA Length")
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.int(4, title="ATR Multiplier")
// Step 2. Calculate strategy values
sma1 = ta.sma(close, lengthSMA1)
sma2 = ta.sma(close, lengthSMA2)
atr = ta.atr(atrLength)
// Step 3. Output strategy data
plot(sma1, color=color.blue, title="50 SMA")
plot(sma2, color=color.red, title="100 SMA")
// Step 4. Determine trading conditions
longCondition = ta.crossover(sma1, sma2)
shortCondition = ta.crossunder(sma1, sma2)
longStopLoss = close - (atr * atrMultiplier)
shortStopLoss = close + (atr * atrMultiplier)
// Step 5. Execute trades based on conditions
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Sell", "Buy", stop=longStopLoss)
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Buy", "Sell", stop=shortStopLoss)