Стратегия извлечения тренда с помощью полосовой фильтрации


Дата создания: 2024-01-03 15:22:49 Последнее изменение: 2024-01-03 15:22:49
Копировать: 0 Количество просмотров: 641
1
Подписаться
1621
Подписчики

Стратегия извлечения тренда с помощью полосовой фильтрации

Обзор

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

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

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

При прохождении параметра Trigger на xMean на уровне, установленном на уровне, делается многоголовый, а при следующем прохождении делается пустой головой. Можно регулировать чувствительность создания и сохранения хранилища путем регулирования уровня Trigger.

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

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

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

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

Можно улучшить задержку путем соответствующего сокращения параметров Length и настроить чувствительность стратегии управления уровнем триггера.

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

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

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

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

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

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// 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="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
	   iff(xMean < Trigger, -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(xMean, color=red, title="ExTrend")