На основе динамической стратегии следования тренду


Дата создания: 2024-02-22 17:54:26 Последнее изменение: 2024-02-22 17:54:26
Копировать: 1 Количество просмотров: 604
1
Подписаться
1617
Подписчики

На основе динамической стратегии следования тренду

Обзор

Эта стратегия, основанная на идеях, изложенных в статье Эндрю Абрахама “Тренды отслеживания криптовалют”, опубликованной в сентябре 1998 года в техническом аналитическом журнале криптовалют, была разработана для динамического отслеживания тенденций цен на акции и создания торговых сигналов.

Стратегический принцип

Эта стратегия сначала рассчитывает средний реальный диапазон колебаний за последние 21 день в качестве референтного порога, а затем рассчитывает максимальные и минимальные цены за последние 21 день, и на основе этого устанавливает верхний и нижний пределы канала, верхний предел которых составляет максимальный уровень колебаний за последние 21 день минус средний реальный диапазон колебаний в 3 раза, а нижний предел - минимальный уровень колебаний за последние 21 день плюс средний реальный диапазон колебаний в 3 раза. Когда цена на открытом диске превышает верхний предел канала, она подает сигнал давления; когда цена на открытом диске превышает нижний предел канала, она подает сигнал поглощения.

Анализ преимуществ

Наибольшее преимущество этой стратегии заключается в том, что она может динамически отслеживать ценовые тенденции и генерировать торговые сигналы. Она лучше улавливает тенденции изменения цен по сравнению с движущейся средней стратегией с фиксированными параметрами. Кроме того, создание канала в сочетании с реальными колебаниями позволяет избежать недостатков, связанных с ограничением канала только на основе минимальной цены.

Анализ рисков

Риски, связанные с этой стратегией, заключаются в двух аспектах: первое - это риск чрезмерной торговли, связанный с увеличением количества торговых сигналов; второе - риск, связанный с возможной неправильной настройкой параметров. Из-за того, что эта стратегия использует динамические параметры, торговые сигналы будут чаще, чем традиционная стратегия движущихся средних, и это может привести к определенной степени риска чрезмерной торговли. Кроме того, если параметры будут установлены неправильно, например, слишком короткий временной период или слишком маленькое число канальных ограничений, это также увеличит количество ложных сигналов, что увеличит риск.

Для управления риском можно соответствующим образом скорректировать параметры, выбрать более длительный период времени и надлежащим образом ослабить ограничения верхнего и нижнего рубежа канала. Кроме того, можно рассмотреть возможность включения стратегии остановки убытков для контроля одиночных убытков.

Направление оптимизации

Для этой стратегии существует большой простор для оптимизации. Например, можно рассмотреть возможность комбинирования других фильтрующих показателей, таких как RSI, KD и т. Д., чтобы избежать ложных прорывов. Можно также попробовать автоматически оптимизировать параметры с помощью методов машинного обучения. Кроме того, оптимальные значения параметров могут варьироваться в зависимости от различных акций и рыночных условий.

Подвести итог

Эта стратегия в целом является очень практичной стратегией отслеживания тенденций. По сравнению с традиционной стратегией движущихся средних, она более гибкая и интеллектуальная, способная динамически улавливать тенденции изменения цен. При правильном регулировании параметров ее торговый сигнал имеет высокое качество и может получить хорошую отдачу.

Исходный код стратегии
/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/10/2018
// This is plots the indicator developed by Andrew Abraham 
// in the Trading the Trend article of TASC September 1998  
// It was modified, result values wass averages.
////////////////////////////////////////////////////////////
strategy(title="Trend Trader AVR Backtest", overlay = true)
Length = input(21, minval=1),
LengthMA = 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 = 0.0
ret :=  iff(close > hiLimit and close > loLimit, hiLimit,
         iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
nResMA = ema(ret, LengthMA)        
pos = 0
pos := iff(close < nResMA, -1,
       iff(close > nResMA, 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(nResMA, color= blue , title="Trend Trader AVR")