Количественная торговая стратегия, основанная на индексе анализа тренда


Дата создания: 2023-12-12 10:40:52 Последнее изменение: 2023-12-12 10:40:52
Копировать: 0 Количество просмотров: 595
1
Подписаться
1621
Подписчики

Количественная торговая стратегия, основанная на индексе анализа тренда

Обзор

Основная идея этой стратегии заключается в том, чтобы использовать скольжение скользящих средних для определения рыночных тенденций и создания индекса анализа тенденций (Trend Analysis Index, TAI) в качестве торгового сигнала. Когда цены движутся в тренде, скольжение скользящих средних увеличивается; когда цены колеблются в пределах, где нет четкой тенденции, скольжение скользящих средних уменьшается.

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

Эта стратегия сначала рассчитывает простую скользящую среднюю цены (X-дневную скользящую среднюю). Затем рассчитывает высокие и низкие значения скользящей средней за прошедшие Y-днев. С помощью этих двух экстремальных значений вычисляет колебания скользящей средней за прошедшие Y-днев.

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

Эта стратегия имеет следующие преимущества:

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

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

Однако эта стратегия также несет в себе определенные риски:

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

Решение проблемы:

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

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

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. В сочетании с другими индикаторами, такими как BOLL-канал, для более надежного использования торговых сигналов
  2. Добавление стратегии стоп-лосса для контроля одиночных потерь
  3. Оптимизация параметров числа дней для скользящих средних, чтобы они соответствовали характеристикам рынка в разные периоды
  4. Обучение наилучшим параметрам стандартизации и нахождение наилучших пороговых значений параметров
  5. Добавление моделей машинного обучения для прогнозирования вероятности тренда, ассистирующая торговля

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

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

Исходный код стратегии
//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/12/2017
// In essence, it is simply the standard deviation of the last x bars of a 
// y-bar moving average. Thus, the TAI is a simple trend indicator when prices 
// trend with authority, the slope of the moving average increases, and when 
// prices meander in a trendless range, the slope of the moving average decreases.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Trend Analysis Index", shorttitle="TAI")
AvgLen = input(28, minval=1)
TAILen = input(5, minval=1)
TopBand = input(0.11, step=0.01)
LowBand = input(0.02, step=0.01)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xPrice = close
xSMA = sma(xPrice, AvgLen)
xHH = highest(xSMA, TAILen)
xLL = lowest(xSMA, TAILen)
nRes = (xHH - xLL) * 100 / xPrice
pos = iff(nRes > TopBand, 1,
       iff(nRes < LowBand, -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(nRes, color=blue, title="TAI")