Estratégia do Índice de Vigor Relativo de Ehlers-Fisher
Visão Geral
Esta estratégia é baseada no indicador Índice de Força Relativa Estocástico Ehlers-Fisher, proposto por John Ehlers em seu livro Control Analysis for Stocks and Futures. A estratégia utiliza o indicador Ehlers-Fisher para avaliar a força relativa das ações e combina regras de negociação personalizadas para realizar operações de compra e venda.
Princípio da Estratégia
A estratégia primeiro calcula o preço de fechamento menos o preço de abertura, ou seja, a parte real do corpo da vela. Em seguida, calcula o preço máximo menos o preço mínimo, ou seja, a parte da sombra da vela. Somando e calculando a média dessas duas partes, obtém-se o momentum da ação. Esse valor de momentum é então dividido pela volatilidade da ação para obter o Índice de Força Relativa (RVI).
Em seguida, aplica-se a fórmula do indicador Ehlers-Fisher ao RVI para obter o valor do sinal. Quando o valor do sinal cruza para cima o limiar de disparo, é gerado um sinal de compra; quando cruza para baixo, um sinal de venda. Além disso, são definidos stop loss fixo e stop loss móvel para controlar o risco.
Análise de Vantagens
A estratégia combina características de momentum e indicadores estocásticos, permitindo avaliar efetivamente a força relativa do mercado. O design do indicador Ehlers-Fisher reduz o impacto do ruído, gerando sinais de negociação mais confiáveis. O índice de força relativa reflete a tendência e volatilidade próprias da ação, sendo um indicador dinâmico.
Comparado ao uso isolado de indicadores de momentum ou estocásticos, esta estratégia integra indicadores e modelos de forma orgânica, melhorando a qualidade dos sinais. Além disso, as regras rigorosas de stop loss permitem controlar o risco enquanto mantêm a capacidade de gerar lucro.
Análise de Riscos
A estratégia depende principalmente do indicador Ehlers-Fisher. Caso ocorram mudanças repentinas significativas no mercado, os parâmetros do indicador precisam ser otimizados para se adaptarem ao novo ambiente. Se os parâmetros do indicador forem configurados inadequadamente, podem gerar sinais falsos ou atrasados.
Além disso, a estratégia apresenta certo risco de overfitting. Se o ambiente de mercado durante os testes e operações reais sofrer grandes alterações, o desempenho da estratégia pode desviar-se significativamente. Nesse caso, é necessário ajustar os parâmetros da estratégia ou otimizar as regras de negociação para se adaptar às novas condições de mercado.
Direções de Otimização
A estratégia pode ser otimizada nos seguintes aspectos:
-
Otimizar os parâmetros do indicador Ehlers-Fisher para torná-lo mais sensível ou para filtrar melhor o ruído.
-
Utilizar algoritmos de aprendizado de máquina, como LSTM, para modelar o indicador e gerar sinais de negociação mais confiáveis.
-
Combinar indicadores de volatilidade do mercado, como o ATR, para ajustar dinamicamente a distância do stop loss.
-
Adicionar suporte a modelos multifatores, integrando outros indicadores técnicos e fundamentais para melhorar a qualidade dos sinais.
-
Otimizar a lógica de abertura e fechamento de posições, definindo condições dinâmicas de entrada e saída. Introduzir técnicas adaptativas de stop loss e take profit.
Resumo
A estratégia utiliza o Índice de Força Relativa Estocástico Ehlers-Fisher para avaliar a tendência e a força do mercado, estabelecendo mecanismos razoáveis de stop loss para controlar o risco. Em comparação com indicadores isolados, esta estratégia integra múltiplos indicadores e modelos de forma orgânica, filtrando ruídos e fornecendo sinais de alta qualidade. Através de otimização de parâmetros, fusão de modelos e ajustes adaptativos, o desempenho da estratégia ainda pode ser ainda mais aprimorado.
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Ehlers Fisher Stochastic Relative Vigor Index Strategy", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
p = input(10, title = "Length")
FisherStoch(src, len) =>- 1

