
O VixFix é uma estratégia de negociação quantitativa que combina a monitorização da volatilidade do mercado, a confirmação de tendências e a filtragem de dinâmica. O núcleo da estratégia usa o indicador Williams Vix Fix (WVF) para identificar surtos de volatilidade do mercado, e, ao mesmo tempo, a confirmação de tendências em combinação com o HMA200 (média móvel de 200 ciclos de Hull) e a seleção de sinais de negociação de alta probabilidade pelo RSI (indicador de força relativamente fraco). A estratégia também possui um mecanismo de parada de perda de trajeto dinâmico baseado no ATR (média real de amplitude de onda), que é ativado e efetivamente equilibra riscos e ganhos após a atingir o limite de lucro previsto.
O mecanismo de funcionamento da estratégia baseia-se na sinergia de quatro componentes centrais:
Williams Vix Fix (WVF)Como um gatilho central da estratégia, a WVF identifica surtos de volatilidade do mercado calculando a diferença percentual entre o preço atual e o preço mais alto dos últimos 22 períodos. Quando o valor da WVF ultrapassa seu percentual de correlação ou é superior ao percentual histórico, é visto como uma anomalia de volatilidade, geralmente representando um cenário de pânico ou de sobrevenda do mercado, oferecendo uma oportunidade de negociação potencialmente reversa.
Média móvel de Hull (HMA 200): Usado como um filtro de tendência principal para determinar a direção da tendência do mercado, comparando a relação de posição do preço com o HMA200. A estratégia só permite fazer mais quando o preço está acima do HMA200, e fazer um vazio quando está abaixo dele e a inclinação do HMA é negativa, garantindo que a direção da negociação esteja de acordo com a tendência principal.
Indicador de fraqueza relativa (RSI): Fornece um sinal de confirmação de dinâmica para a estratégia. O ingresso de cabeceira múltipla requer um RSI superior a 35, enquanto o ingresso de cabeceira de cabeceira requer um RSI inferior a 20, além de exigir que o RSI esteja abaixo de sua média móvel de 21 ciclos do índice. A configuração de um limite de RSI de cabeceira mais baixo ajuda a capturar a alta dinâmica da tendência de queda.
ATR sistema de suspensão de sequência: Quando o preço atinge um determinado nível de ganho, ativa o mecanismo de parada de caudação. A posição de caudação usa uma amplitude de caudação de 1,75 x ATR, a caudação usa 1,0 x ATR, além de definir um limite de parada de dureza para evitar perdas excessivas.
A lógica de entrada é: quando você faz mais, você precisa simultaneamente atender ao surto do WVF, o RSI é maior que 35, o preço está acima do HMA200; quando você faz um curto, você precisa atender ao surto do WVF, o RSI é menor que 20, o preço está abaixo do HMA200 e a inclinação do HMA é negativa, o RSI está abaixo de sua EMA (21), o preço está abaixo da EMA (100) a distância do último sinal de curto é de pelo menos 10 linhas K.
Mecanismos de filtragem em vários níveisA estratégia é construída com um sistema de filtragem triplo, combinando a identificação da volatilidade (WVF), a confirmação da tendência (HMA200) e a validação do momentum (RSI), o que aumenta significativamente a confiabilidade dos sinais de negociação e reduz as falsas rupturas e os sinais errados.
Diferenças de adaptabilidade do mercadoA estratégia define diferentes parâmetros para a direção de ativos e ativos, reconhecendo e adaptando-se à tendência de alta do mercado. O trading a balde usa condições de entrada mais rigorosas e configurações de stop loss mais flexíveis para lidar com a natureza rápida e acirrada de tendências de baixa.
Gestão inteligente de riscosO sistema de suspensão de tração dinâmica baseado no ATR é capaz de se adaptar à volatilidade do mercado, dando ao preço espaço suficiente para respirar enquanto protege o que já é lucrativo, evitando que a posição de vantagem seja lavada pela flutuação normal do mercado.
Captação de ondasO Williams Vix Fix Indicator é bom em identificar situações de pânico e sobrevenda no mercado, permitindo que a estratégia capture oportunidades de reversão de alta probabilidade em períodos de extrema emoção no mercado, o que é especialmente valioso em momentos de forte volatilidade no mercado.
Prevenção ao excesso de transaçõesA estratégia evita a produção de excesso de sinais em mercados turbulentos, reduzindo o risco de perdas contínuas e economizando custos de negociação.
Reversão de tendência e identificação de atrasoA dependência de médias móveis de longo prazo, como a HMA200, pode levar a reações de atraso nos pontos de mudança de tendência, fazendo com que a estratégia perca o melhor momento de entrada ou suporte perdas iniciais quando a direção do mercado muda abruptamente. Pode-se considerar a adição de indicadores de tendência de curto prazo como confirmação auxiliar.
Desafios de sucesso em voarOs dados de retrospectiva mostram que a taxa de sucesso de negociação de balões é significativamente menor do que a de balões (30% vs 49,6%), embora o lucro médio seja maior, a sequência de negociações de balões fracassadas pode causar pressão psicológica e financeira nas contas. É recomendado o uso de cautela ou o bloqueio temporário de negociação de balões em mercados de alta intensidade.
Sensibilidade do parâmetroA estratégia usa vários parâmetros fixos (como o RSI, o ATR, etc.) que podem variar de forma ótima em diferentes cenários de mercado. A otimização excessiva pode levar à diminuição do desempenho da estratégia em dados extra-sampulados. Recomenda-se a revalidação periódica da eficácia dos parâmetros.
Dependência volátilO mecanismo de ação central da estratégia depende de surtos de volatilidade do mercado, que podem gerar menos sinais de negociação em um ambiente de baixa volatilidade prolongada, afetando os ganhos globais. Pode ser considerado o aumento da lógica de entrada alternativa em períodos de baixa volatilidade.
Risco de deterioração da durezaA paralisação rígida de um múltiplo ATR fixo pode ser facilmente tocada em momentos de forte flutuação do mercado, resultando em uma parada forçada antes de uma reversão iminente do preço. Pode ser considerado o ajuste dinâmico do nível de parada em combinação com outros indicadores técnicos, ou a implementação de estratégias de parada em lotes.
Parâmetros dinâmicos se adaptamA estratégia pode introduzir mecanismos de ajuste de parâmetros dinâmicos com base na volatilidade do mercado e na força da tendência, como aumentar automaticamente o limiar RSI e a distância de parada em ambientes de alta volatilidade, apertar os parâmetros em ambientes de baixa volatilidade e aumentar a adaptabilidade ambiental da estratégia.
Filtro de volume e tempoPode-se adicionar condições de confirmação de volume de transação e filtragem de tempo, por exemplo, executar transações somente em períodos de aumento de volume ou em períodos específicos (por exemplo, quando o mercado está aberto, antes e depois do lançamento de dados econômicos principais) para melhorar a qualidade do sinal. A razão é que as flutuações do mercado tendem a ser mais direcionadas e contínuas nesses períodos.
Confirmação de múltiplos períodos de tempoA introdução de tendências e confirmações de momentum em períodos de tempo mais elevados pode aumentar significativamente a estabilidade da estratégia. Por exemplo, entrar em jogo apenas quando a tendência do sol coincide com a direção do sinal de 30 minutos pode reduzir o risco de negociação de contra-clima.
Otimização de aprendizagem de máquina: Pode aplicar algoritmos de aprendizagem de máquina para prever dinamicamente os parâmetros de entrada e os níveis de parada mais ótimos, ajustar os parâmetros da estratégia em tempo real com base nos padrões históricos e no estado atual do mercado, melhorar a adaptabilidade e a robustez da estratégia.
A fusão dos indicadores emocionaisA integração de indicadores de sentimento de mercado (como a taxa de volume de transação, a taxa de opções de otimização / otimização, etc.) pode fornecer confirmação adicional para o WVF, aumentando a precisão da previsão do ponto de reversão do mercado. Esses indicadores geralmente refletem as mudanças de sentimento do mercado antecipadamente, complementando as características de atraso do WVF como indicadores principais.
O sistema de negociação de volatilidade VixFix é uma estratégia de negociação integrada que combina a identificação de volatilidade do mercado, a confirmação de tendências e a filtragem de dinâmica, para capturar oportunidades de surto de volatilidade do mercado através do indicador Williams Vix Fix, e usar a direção e a confirmação de dinâmica do HMA200 e RSI, em conjunto com o mecanismo de parada de perda de seguimento adaptável baseado no ATR. A estratégia otimiza os parâmetros de configuração de parâmetros para a direção multi-vocal, especialmente reforçando as condições de filtragem de negociação em branco, em resposta à tendência ascendente do mercado de criptomoedas.
A maior vantagem da estratégia reside no seu sistema de filtragem de sinais em vários níveis e no mecanismo de gerenciamento de risco flexível, que permite capturar oportunidades de reversão em ambientes de mercado altamente voláteis e, ao mesmo tempo, controlar eficazmente os riscos. Os principais riscos incluem problemas como atraso na identificação de tendências, baixa taxa de sucesso do shorting e sensibilidade de parâmetros. A orientação de otimização futura pode priorizar o ajuste de parâmetros dinâmicos, a confirmação de múltiplos períodos de tempo e a aplicação de aprendizagem de máquina, para melhorar ainda mais a adaptabilidade e a robustez da estratégia.
Em geral, a estratégia mostra como construir um sistema de negociação completo, especialmente adequado para um ambiente de mercado mais volátil, combinando diferentes tipos de indicadores técnicos e mecanismos de gerenciamento de risco refinados. Na aplicação prática, a combinação de fundamentos e perspectivas macroeconômicas, em conjunto com regras razoáveis de gestão de fundos, pode aumentar ainda mais o valor prático da estratégia.
/*backtest
start: 2024-07-08 00:00:00
end: 2025-07-04 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("CM_VixFix_RSI_HMA200_TrailStop_vFinal", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
hmaLen = input.int(200, title="HMA Length")
rsiLen = input.int(14, title="RSI Length")
rsiLongTrigger = input.int(35, title="RSI Long Trigger Level")
rsiShortTrigger = input.int(20, title="RSI Short Trigger Level")
atrLen = input.int(14, title="ATR Length")
atr = ta.atr(atrLen)
// === Long Trailing Parameters
trailTriggerL = input.float(2.5, title="Long Trail Trigger (xATR)")
trailOffsetL = input.float(1.75, title="Long Trail Offset (xATR)")
hardStopL = input.float(2.5, title="Long Hard Stop (xATR)")
// === Short Trailing Parameters
trailTriggerS = input.float(1.2, title="Short Trail Trigger (xATR)")
trailOffsetS = input.float(1.0, title="Short Trail Offset (xATR)")
hardStopS = input.float(3.0, title="Short Hard Stop (xATR)")
maxBarsShort = input.int(10, title="Min Bars Between Short Signals")
// === VIX FIX Settings
pd = input.int(22, title="Lookback Period")
bbl = input.int(20, title="Bollinger Length")
mult = input.float(2.0, title="StdDev Multiplier")
lb = input.int(50, title="Percentile Lookback")
ph = input.float(0.97, title="Range High Percentile")
// === WVF VixFix
wvf = ((ta.highest(close, pd) - low) / ta.highest(close, pd)) * 100
rangeHigh = ta.percentile_nearest_rank(wvf, lb, ph)
upperBand = ta.sma(wvf, bbl) + ta.stdev(wvf, bbl) * mult
vixSpike = wvf >= upperBand or wvf >= rangeHigh
// === HMA & RSI & Filters
wma1 = ta.wma(close, hmaLen / 2)
wma2 = ta.wma(close, hmaLen)
diff = 2 * wma1 - wma2
hma = ta.wma(diff, math.round(math.sqrt(hmaLen)))
hmaSlope = hma - hma[5]
plot(hma, title="HMA", color=color.orange, linewidth=2)
rsi = ta.rsi(close, rsiLen)
rsiEMA = ta.ema(rsi, 21)
priceEMA = ta.ema(close, 100)
// === State Variables
var float entryL = na
var float peakL = na
var bool trailL = false
var float entryS = na
var float lowS = na
var bool trailS = false
var int lastShortBar = na
// === LONG ENTRY ===
longCondition = vixSpike and rsi > rsiLongTrigger and close > hma
if (longCondition and strategy.position_size == 0)
strategy.entry("Long", strategy.long)
entryL := close
trailL := false
peakL := close
if (strategy.position_size > 0)
peakL := math.max(peakL, high)
if not trailL and close >= entryL + trailTriggerL * atr
trailL := true
if not trailL and close <= entryL - hardStopL * atr
strategy.close("Long", comment="HardStopL")
if trailL and close <= peakL - trailOffsetL * atr
strategy.close("Long", comment="TrailStopL")
// === SHORT ENTRY ===
shortBase = vixSpike and rsi < rsiShortTrigger and close < hma and hmaSlope < 0
shortFilter = rsi < rsiEMA and close < priceEMA
canShort = na(lastShortBar) or (bar_index - lastShortBar > maxBarsShort)
shortCondition = shortBase and shortFilter and canShort
if (shortCondition and strategy.position_size == 0)
strategy.entry("Short", strategy.short)
entryS := close
trailS := false
lowS := close
lastShortBar := bar_index
if (strategy.position_size < 0)
lowS := math.min(lowS, low)
if not trailS and close <= entryS - trailTriggerS * atr
trailS := true
if not trailS and close >= entryS + hardStopS * atr
strategy.close("Short", comment="HardStopS")
if trailS and close >= lowS + trailOffsetS * atr
strategy.close("Short", comment="TrailStopS")