Стратегия обратного движения воротниковой тенденции

Автор:Чао Чжан, Дата: 2024-02-26 16:45:21
Тэги:

img

Обзор

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

Принципы

  1. Индикатор вихря- оценивать направление и силу тренда путем анализа положительных и отрицательных движений цен.

  2. Экспоненциальная скользящая средняя- упрощение ценообразования на закрытие рынка с целью более гибкого показателя тренда; более длительные периоды скользящих средних приводят к более стабильным оценкам тренда.

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

Преимущества

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

Риски

  • Системные риски сбоя показателей из-за событий черного лебедя
  • Возможное увеличение числа ошибочных сигналов на различных рынках
  • Чрезмерно агрессивное или консервативное поведение с неправильными параметрами
  • Отдельные проигрышные сделки необходимо контролировать с помощью соответствующего стоп-лосса

Дополнительные фильтры, перекрестная проверка между показателями, оптимизация параметров и надлежащее внедрение стоп-лосса могут помочь устранить вышеуказанные риски.

Возможности для расширения

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

Заключение

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © AstroHub

//@version=5
strategy("Vortex Strategy [AstroHub]", shorttitle="VS [AstroHub]", overlay=true)

// Vortex Indicator Settings
length = input(14, title="Length", group ="AstroHub Vortex Strategy", tooltip="Number of bars used in the Vortex Indicator calculation. Higher values may result in smoother but slower responses to price changes.")
mult = input(1.0, title="Multiplier", group ="AstroHub Vortex Strategy", tooltip="Multiplier for the Vortex Indicator calculation. Adjust to fine-tune the sensitivity of the indicator to price movements.")
threshold = input(0.5, title="Threshold",group ="AstroHub Vortex Strategy",  tooltip="Threshold level for determining the trend. Higher values increase the likelihood of a trend change being identified.")
emaLength = input(20, title="EMA Length", group ="AstroHub Vortex Strategy", tooltip="Length of the Exponential Moving Average (EMA) used in the strategy. A longer EMA may provide a smoother trend indication.")

// Calculate Vortex Indicator components
a = math.abs(close - close[1])
b = close - ta.sma(close, length)
shl = ta.ema(b, length)
svl = ta.ema(a, length)

// Determine trend direction
upTrend = shl > svl
downTrend = shl < svl

// Define Buy and Sell signals
buySignal = ta.crossover(shl, svl) and close > ta.ema(close, emaLength) and (upTrend != upTrend[1])
sellSignal = ta.crossunder(shl, svl) and close < ta.ema(close, emaLength) and (downTrend != downTrend[1])

// Execute strategy based on signals
strategy.entry("Sell", strategy.short, when=buySignal)
strategy.entry("Buy", strategy.long, when=sellSignal)

// Background color based on the trend
bgcolor(downTrend ? color.new(color.green, 90) : upTrend ? color.new(color.red, 90) : na)

// Plot Buy and Sell signals with different shapes and colors
buySignal1 = ta.crossover(shl, svl) and close > ta.ema(close, emaLength)
sellSignal1 = ta.crossunder(shl, svl) and close < ta.ema(close, emaLength) 

plotshape(buySignal1, style=shape.square, color=color.new(color.green, 10), size=size.tiny, location=location.belowbar, title="Buy Signal")
plotshape(sellSignal1, style=shape.square, color=color.new(color.red, 10), size=size.tiny, location=location.abovebar, title="Sell Signal")
plotshape(buySignal1, style=shape.square, color=color.new(color.green, 90), size=size.small, location=location.belowbar, title="Buy Signal")
plotshape(sellSignal1, style=shape.square, color=color.new(color.red, 90), size=size.small, location=location.abovebar, title="Sell Signal")



Больше