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

Автор:Чао Чжан, Дата: 2023-12-12 10:40:52
Тэги:

img

Обзор

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

Логика стратегии

Стратегия сначала рассчитывает простую скользящую среднюю (X-day MA) цены. Затем она вычисляет самое высокое и самое низкое значение этой скользящей средней в последние Y дней, чтобы получить диапазон колебаний. Наконец, сравнивая этот Y-дневный диапазон с ценой, она преобразуется в стандартизированный индикатор от 0 до 1, а именно Индекс анализа тренда. Принимая длинную позицию, когда индекс выше порога, и короткую позицию, когда ниже другого порога.

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

Преимущества этой стратегии:

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

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

Существуют также некоторые риски:

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

Решения:

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

Руководство по оптимизации

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

  1. Объедините другие индикаторы, такие как BOLL, чтобы сделать сигналы более надежными
  2. Добавить стоп-потеря для контроля одиночных потерь
  3. Оптимизировать дни MA для соответствия характеристикам в разные временные рамки
  4. Оптимальные пороговые параметры поезда
  5. Добавление модели ML для вероятности тренда для поддержки торговли

Заключение

В целом, это средне- и долгосрочная стратегия, основанная на склонности скользящей средней. Она может эффективно улавливать тенденции, но также имеет некоторые риски ложного сигнала. Объединяясь с другими индикаторами, добавляя стоп-лосс, оптимизацию параметров и т. Д., Стратегия может быть более надежной. По сути, это все еще простая стратегия отслеживания тренда.


//@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")


Больше