Chiến lược này sử dụng đường chéo trung bình di chuyển đơn giản và chỉ số phạm vi thực tế trung bình để tạo ra tín hiệu mua và bán. Nó thuộc về các chiến lược theo xu hướng. Nó chủ yếu sử dụng đường chéo trung bình di chuyển 50 ngày và 100 ngày để xác định xu hướng và thiết lập dừng lỗ dựa trên ATR để kiểm soát rủi ro.
Có thể thấy rằng chiến lược này chủ yếu dựa trên khả năng đánh giá xu hướng của các đường trung bình động và khả năng kiểm soát rủi ro của ATR. Logic đơn giản và dễ hiểu và thực hiện.
Quản lý rủi ro:
Đây là một chiến lược theo xu hướng điển hình, sử dụng đường trung bình động để xác định hướng xu hướng và ATR dừng lỗ để kiểm soát rủi ro. Logic đơn giản và dễ hiểu. Nhưng nó có một số rủi ro chậm trễ và tín hiệu sai. Có thể cải thiện thông qua điều chỉnh tham số, tối ưu hóa chỉ số, kết hợp nhiều yếu tố hơn v.v. để làm cho chiến lược thích nghi hơn. Nhìn chung chiến lược này phù hợp cho thực hành và tối ưu hóa người mới bắt đầu, nhưng cần phải cẩn thận khi áp dụng nó trong giao dịch 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)