Простая стратегия следования за трендом


Дата создания: 2024-01-05 13:09:37 Последнее изменение: 2024-01-05 13:09:37
Копировать: 0 Количество просмотров: 657
1
Подписаться
1621
Подписчики

Простая стратегия следования за трендом

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

Обзор стратегии

Стратегия одновременно использует 21-дневные, 50-дневные, 100-дневные и 200-дневные простые движущиеся средние. Когда цены прорывают эти средние линии, они генерируют сигналы покупки и продажи. Кроме того, стратегия также использует Donchian channel, чтобы генерировать торговые сигналы, когда цены прорывают 20-е и 55-е дни.

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

Основным принципом является использование нескольких средних временных рамок для определения направления тенденции. В частности, стратегия использует 4 простых скользящих средних различных временных длин: 21-дневная, 50-дневная, 100-дневная и 200-дневная.

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

Кроме того, стратегия также использует канал Donchian для дополнения торговых сигналов. То есть, когда цена пробивает 20-й или 55-й максимум / минимум, она также вызывает сигнал покупки / продажи, блокируя трендовую прибыль.

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

Стратегические преимущества

  1. Дизайн с несколькими временными рамками позволяет эффективно отслеживать тенденции.
  2. При этом используются равнолинейные и донхианские каналы, сигналы более надежные.
  3. Простая практика для новичков в количественной торговле

Стратегический риск

  1. Риск ложного прорыва. Цены могут сильно колебаться в течение некоторого времени, что приводит к ошибочному сигналу средней линии или Дончианского канала
  2. Стойкость к убыткам в условиях шока. Эта стратегия лучше подходит для рыночных условий с четкой тенденцией
  3. Ограниченное пространство для оптимизации параметров. Движущиеся средние и донхианские каналы затрудняют эффективную корректировку параметров

Решения, связанные с риском:

  1. Добавление условий фильтрации, чтобы избежать ложных прорывов. Например, увеличение условий объема сделки
  2. Сокращение стоп-лосса в случае возникновения потрясения
  3. Попытка внедрения алгоритмов машинного обучения для автоматической оптимизации параметров

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

  1. Добавление фильтров на основе объема сделок, чтобы избежать ошибочных сигналов при резких колебаниях цен
  2. Попытка заменить движущиеся средние показателями, которые лучше сглаживают цены, например, Кауфман адаптируется к движущимся средним
  3. Применение алгоритмов машинного обучения для автоматической оптимизации параметров стратегии в соответствии с текущими рыночными условиями
  4. Сильная тенденция в сочетании с показателями волатильности, чтобы избежать арбитража в шокирующих ситуациях

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

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

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

//@version=3
strategy("Trend Following", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10)

maxIdLossPcnt = input(1, "Max Intraday Loss(%)", type=float)
entryLong = false
entryShort = false

// strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

if (close > highest(high[1], 20))
    strategy.entry("Long fast", strategy.long)
    entryLong = true
    

if (close < lowest(low[1], 20))
    strategy.entry("Short fast", strategy.short)
    entryShort = true
    
if (close > highest(high[1], 55))
    strategy.entry("Long slow", strategy.long)
    entryLong = true

if (close < lowest(low[1], 55))
    strategy.entry("Short slow", strategy.short)
    entryShort = true

len1 = input(21, minval=1, title="21 SMA")
src1 = input(close, title="21 SMA")
out1 = sma(src1, len1)
plot(out1, title="21 SMA", color= white)

len2 = input(50, minval=1, title="50 SMA")
src2 = input(close, title="50 SMA")
out2 = sma(src2, len2)
plot(out2, title="50 SMA", color= blue)

len3 = input(100, minval=1, title="100 SMA")
src3 = input(close, title="100 SMA")
out3 = sma(src3, len3)
plot(out3, title="100 SMA", color= orange)

len4 = input(200, minval=1, title="200 SMA")
src4 = input(close, title="200 SMA")
out4 = sma(src4, len4)
plot(out4, title="200 SMA", color= green)