Excelente Oscilador Estratégia de Negociação de Divergência Filtrada Estocástica Dupla

Autora:ChaoZhang, Data: 2024-02-27 15:51:44
Tags:

img

Resumo

A estratégia de negociação do Awesome Oscillator Double Stochastic Filtered Divergence identifica potenciais oportunidades de compra e venda através da detecção de divergências entre o Awesome Oscillator (AO) e a ação do preço, filtradas pelas condições de sobrecompra e sobrevenda do Stochastic Oscillator para melhorar a confiabilidade do sinal.

Estratégia lógica

A estratégia consiste nos seguintes elementos:

  1. Calculo do oscilador impressionante (AO): AO é a diferença entre as SMAs de 5 períodos e 34 períodos do ponto médio (HL2) para identificar a dinâmica do ímpeto do mercado.

  2. Oscilador estocástico: Usado para medir o impulso e os pontos de reversão potenciais, comparando o preço de fechamento com a faixa de preços durante um período.

  3. Logic de Detecção de Divergência: Simplificado para quando o preço está se movendo em uma direção, enquanto AO se move na direção oposta.

  4. Filtragem estocástica: sinais filtrados pela condição estocástica de sobrecompra para venda e sobrevenda para compra.

  5. Planeamento de sinais: sinais confirmados após filtragem traçados no gráfico como formas.

  6. Regras de entrada: entrada longa em sinal de alta confirmado, entrada curta em sinal de baixa confirmado.

Análise das vantagens

A estratégia combina seguir tendências e identificar reversões, com sinais fiáveis.

  1. AO ajuda a identificar mudanças de tendência de curto prazo, a divergência com o preço fornece fonte de sinal confiável.

  2. Os filtros estocásticos evitam sinais falsos sem confirmação de sobrecompra/supervenda.

  3. A combinação de indicadores proporciona uma avaliação robusta do mercado e uma fiabilidade.

  4. Sinais e regras de entrada claros, fácil implementação.

  5. Seleção e parâmetros razoáveis dos indicadores, bom backtest e desempenho em tempo real.

Análise de riscos

Os riscos potenciais incluem:

  1. A detecção de divergência simplista corre o risco de julgar erroneamente os sinais.

  2. As configurações de parâmetros estáticos podem ter um desempenho inferior em condições de mercado em mudança.

  3. A filtragem estocástica pode perder algumas oportunidades lucrativas.

  4. Não existem mecanismos rigorosos de controlo de perdas para as posições abertas.

Orientações de otimização

Áreas de otimização adicional:

  1. Melhorar a lógica de identificação de sinais de divergência para sinais de maior qualidade.

  2. Teste diferentes combinações de parâmetros para encontrar parâmetros ótimos.

  3. Incorporar estratégias de stop loss para controlar a queda em negócios individuais.

  4. Otimizar as regras de dimensionamento de entrada e gestão de posições abertas.

  5. Introduzir aprendizado de máquina para a otimização de parâmetros dinâmicos e lógica.

  6. Adicionar mais fontes de dados para a condução de fatores multivariados.

Resumo

A estratégia de Divergência Filtrada Estocástica Dupla AO combina efetivamente o seguimento da tendência e a identificação de reversão através da divergência AO e da filtragem estocástica. Regras claras, bons resultados de backtest, com forte potencial prático.


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

//@version=5
strategy("Fixed AO Divergence Strategy", shorttitle="Fixed AO+Stoch", overlay=true)

// Calculate Awesome Oscillator
ao() => ta.sma(hl2, 5) - ta.sma(hl2, 34)
aoVal = ao()

// Stochastic Oscillator
stochK = ta.stoch(close, high, low, 14)
stochD = ta.sma(stochK, 3)

// Simplify the divergence detection logic
// For educational purposes, we will define a basic divergence detection mechanism
// Real-world application would require more sophisticated logic

// Detect bullish and bearish divergences based on AO and price action
bullishDivergence = (close > close[1]) and (aoVal < aoVal[1])
bearishDivergence = (close < close[1]) and (aoVal > aoVal[1])

// Stochastic Overbought/Oversold conditions
stochOverbought = (stochK > 80) and (stochD > 80)
stochOversold = (stochK < 20) and (stochD < 20)

// Filtered signals
confirmedBullishSignal = bullishDivergence and stochOversold
confirmedBearishSignal = bearishDivergence and stochOverbought

// Plot signals
plotshape(series=confirmedBullishSignal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Divergence", text="BUY")
plotshape(series=confirmedBearishSignal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Divergence", text="SELL")

// Strategy Entry
if (confirmedBullishSignal)
    strategy.entry("Long", strategy.long, comment="Long Entry")

if (confirmedBearishSignal)
    strategy.entry("Short", strategy.short, comment="Short Entry")


Mais.