Стратегия отслеживания трендов была предложена Эндрю Абрахамом в статье под названием "Торговля трендом", опубликованной в журнале Technical Analysis of Stocks & Commodities в сентябре 1998 года.
Стратегия сначала рассчитывает 21-дневный средний истинный диапазон avgTR. Затем она рассчитывает 21-дневную самую высокую цену highestC и самую низкую цену lowestC. Далее она рассчитывает верхний рельс hiLimit, который является самой высокой ценой минус 3 раза avgTR; и нижний рельс loLimit, который является самой низкой ценой плюс 3 раза avgTR. Когда цена закрытия превышает верхние и нижние рельсы, их значения принимаются в качестве базовой цены ret, соответственно. Когда цена закрытия выше, чем базовая цена, выходите на длинный курс; когда ниже, выходите на короткий.
Основными преимуществами этой стратегии являются:
Эта стратегия также сопряжена с некоторыми рисками:
Некоторые способы улучшения этой стратегии:
В целом, стратегия отслеживания трендов - это простая и практичная стратегия торговли трендами. Она использует ценовые каналы для определения направления тренда и избежания попадания в ловушку колеблющихся рынков. Но все еще есть некоторые риски, и для улучшения стабильности необходимы дальнейшие оптимизации.
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 12/01/2017 // This is plots the indicator developed by Andrew Abraham // in the Trading the Trend article of TASC September 1998 // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="Trend Trader Strategy", overlay = true) Length = input(21, minval=1), Multiplier = input(3, minval=1) reverse = input(false, title="Trade reverse") avgTR = wma(atr(1), Length) highestC = highest(Length) lowestC = lowest(Length) hiLimit = highestC[1]-(avgTR[1] * Multiplier) loLimit = lowestC[1]+(avgTR[1] * Multiplier) ret = iff(close > hiLimit and close > loLimit, hiLimit, iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0))) pos = iff(close > ret, 1, iff(close < ret, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(ret, color= blue , title="Trend Trader Strategy")