Chiến lược sử dụng chỉ số SuperTrend để xác định hướng xu hướng và kết hợp chỉ số ATR để thiết lập dừng lỗ và lấy lợi nhuận để đạt được xu hướng rủi ro thấp.
Chỉ số cốt lõi của chiến lược này là SuperTrend. Chỉ số SuperTrend kết hợp ATR để đánh giá hướng xu hướng dựa trên sự đột phá giá. Phương pháp tính toán cụ thể là như sau:
Phạm vi trên: Phạm vi trên = Giá hiện tại - (ATR x Multiplier) Phạm vi dưới: Phạm vi dưới = Giá hiện tại + (ATR x nhân)
Khi giá cao hơn dải trên, đó là xu hướng tăng; khi giá thấp hơn dải dưới, đó là xu hướng giảm.
Chiến lược xác định hướng xu hướng dựa trên chỉ số SuperTrend, đi dài trong xu hướng tăng và đi ngắn trong xu hướng giảm.
Phương pháp giảm thiểu rủi ro:
Tóm lại, chiến lược này sử dụng chỉ số SuperTrend để xác định hướng xu hướng và thiết lập stop loss và take profit với chỉ số ATR để đạt được xu hướng rủi ro thấp sau khi giao dịch. Ý tưởng chiến lược rõ ràng và dễ hiểu. Các tham số có thể được điều chỉnh theo sở thích rủi ro cá nhân. Đây là một chiến lược theo dõi xu hướng linh hoạt. Tuy nhiên, chính chiến lược không thể đánh giá chất lượng của xu hướng, vì vậy nó được khuyến cáo sử dụng với các chỉ số hoặc mô hình khác để giảm nguy cơ hoạt động sai.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Advanced Trend Strategy", overlay=true) // Input parameters length = input(14, title="ATR Length") multiplier = input(1.5, title="Multiplier") src = close // Calculate ATR atr_value = ta.atr(length) // Calculate Supertrend upst = src - multiplier * atr_value downst = src + multiplier * atr_value var float supertrend = na var float trend_direction = na if (na(supertrend)) supertrend := upst if (src > supertrend) supertrend := upst if (src < supertrend) supertrend := downst // Buy and Sell conditions buyCondition = ta.crossover(src, supertrend) sellCondition = ta.crossunder(src, supertrend) // Execute Buy and Sell orders if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Close the long position if (sellCondition) strategy.entry("Sell", strategy.short) if (buyCondition) strategy.close("Sell") // Close the short position // Plot Supertrend plot(supertrend, color=color.blue, title="Supertrend") // Highlight bars based on trend direction bgcolor(src > supertrend ? color.new(color.green, 95) : src < supertrend ? color.new(color.red, 95) : na) // Plot ATR for reference plot(atr_value, color=color.gray, title="ATR", linewidth=2) // Plot arrows for buy and sell signals plotshape(buyCondition, color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, title="Buy Signal") plotshape(sellCondition, color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, title="Sell Signal")