A estratégia de inversão de tendência do vórtice utiliza o indicador de vórtice para identificar potenciais inversões de tendência e capturar movimentos favoráveis do mercado.
Indicador de vórtice- Julgar a direcção e a força da tendência através da análise dos movimentos positivos e negativos dos preços.
Média móvel exponencial- suavização dos preços de fechamento para uma indicação de tendência mais fluida; períodos médios móveis mais longos conduzem a julgamentos de tendência mais estáveis.
Esta estratégia utiliza o indicador de vórtice para determinar a direção da tendência principal. Os sinais de negociação são gerados quando as linhas do indicador cruzam o valor do limiar. Com uma filtragem adicional da linha da média móvel, os sinais errôneos podem ser evitados. Especificamente, um sinal de compra é gerado quando o indicador de vórtice cruza acima da linha do limiar e o preço está acima da média móvel; Um sinal de venda ocorre quando o indicador cruza abaixo do limiar e o preço está abaixo da média móvel.
Os filtros adicionais, a verificação cruzada entre indicadores, a otimização de parâmetros e a aplicação adequada de stop loss podem ajudar a combater os riscos acima referidos.
A estratégia de reversão de tendência Vortex demonstra robustez decente na captura de reversões potenciais, enquanto possui capacidades de filtragem razoáveis. Com otimização e gerenciamento de risco adequados, essa estratégia mostra promessa em obter fortes retornos ajustados ao risco. Os comerciantes são encorajados a testar completamente essa estratégia e explorar extensões inovadoras baseadas nela.
/*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")