Chiến lược này kết hợp trung bình True Range (ATR) trailing stop và Fibonacci retracement lines để thiết kế một chiến lược theo xu hướng với bảo vệ stop loss. Khi giá vượt qua ATR trailing stop line, chiến lược bắt đầu theo xu hướng. Đồng thời, Fibonacci retracement lines được sử dụng để đặt mục tiêu giá, đạt được sự kết hợp hữu cơ của xu hướng theo, stop loss và take profit.
Chiến lược này tích hợp hai phương pháp phân tích kỹ thuật quan trọng
/*backtest start: 2023-02-21 00:00:00 end: 2024-02-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ATR TrailStop with Fib Targets", overlay=true) // Input parameters atrPeriod = input(5, title="ATR Period") ATRFactor = input(3.5, title="ATR Factor") Fib1Level = input(61.8, title="Fib1 Level") Fib2Level = input(78.6, title="Fib2 Level") Fib3Level = input(88.6, title="Fib3 Level") // ATR Calculation atrValue = ta.atr(atrPeriod) // ATR TrailStop Calculation loss = ATRFactor * atrValue trendUp = close[1] > close[2] ? (close - loss > close[1] ? close - loss : close[1]) : close - loss trendDown = close[1] < close[2] ? (close + loss < close[1] ? close + loss : close[1]) : close + loss trend = close > close[2] ? 1 : close < close[2] ? -1 : 0 trailStop = trend == 1 ? trendUp : trendDown // Fibonacci Levels Calculation ex = trend > trend[1] ? high : trend < trend[1] ? low : na fib1 = ex + (trailStop - ex) * Fib1Level / 100 fib2 = ex + (trailStop - ex) * Fib2Level / 100 fib3 = ex + (trailStop - ex) * Fib3Level / 100 // Plotting plot(trailStop, title="TrailStop", color=color.red) plot(fib1, title="Fib1", color=color.white) plot(fib2, title="Fib2", color=color.white) plot(fib3, title="Fib3", color=color.white) // Buy and Sell Signals longCondition = close > trailStop and close[1] <= trailStop shortCondition = close < trailStop and close[1] >= trailStop if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)