
A estratégia de indução de tendência histórica usa o indicador de fluxo para identificar os pontos de reversão da tendência do mercado e, em combinação com a média móvel do índice, gera sinais de negociação com o objetivo de capturar a favor da tendência. A estratégia combina habilmente os benefícios do uso do indicador de fluxo e da média móvel para determinar efetivamente a tendência do mercado e fornecer orientação de negociação.
Indicadores de fluxo de caixa- Analisar a direção e a intensidade da tendência através da análise dos movimentos positivos e negativos dos preços. Os principais parâmetros incluem a duração do ciclo, a multiplicação e o valor da queda.
Média móvel exponencial- Para suavizar o índice de preços de fechamento, oferecendo um julgamento de tendências mais fluido. Quanto mais longo o ciclo da média móvel, mais estável é o julgamento de tendências.
A estratégia usa um indicador de fluxo de caixa para determinar a direção da tendência principal do mercado, gerando um sinal de negociação quando a linha do indicador atravessa a barreira. Filtração em combinação com a média móvel, evitando sinais errôneos. Concretamente, um sinal de compra é gerado quando o indicador de fluxo de caixa atravessa a barreira para cima e o preço está acima da média móvel; um sinal de venda é gerado quando o indicador de fluxo de caixa atravessa a barreira para baixo e o preço está abaixo da média móvel.
O risco pode ser respondido por meio da adição de filtros adicionais, em combinação com vários critérios de avaliação, configuração de parâmetros de otimização e configuração de um stop loss apropriado.
A estratégia de indução de mudança de tendência histórica é, em geral, mais robusta e tem uma certa capacidade de filtragem ao mesmo tempo em que capta a reversão de tendência potencial. A estratégia pode obter uma excelente taxa de retorno com a ajuda de otimização de parâmetros e gerenciamento de risco.
/*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")