Estratégia de backtesting do oscilador sofisticado (AC) de Williams


Data de criação: 2023-12-18 12:03:38 última modificação: 2023-12-18 12:03:38
cópia: 0 Cliques: 749
1
focar em
1621
Seguidores

Estratégia de backtesting do oscilador sofisticado (AC) de Williams

Visão geral

Esta estratégia baseia-se no excelente Oscilador de William, criado pelo famoso especialista em negociação Bill Williams, que calcula o diferencial da linha média de preços em diferentes períodos, formando um indicador de tendências de diagnóstico e oscilação da dinâmica do mercado e projetando os sinais de negociação correspondentes para orientar a compra e venda.

Princípio da estratégia

O indicador central da estratégia é o oscilador subtil ((AO), cuja fórmula de cálculo é: AO = SMA (médio, 5 dias) - SMA (médio, 34 dias) O preço médio é definido como ((o preço mais alto + o preço mais baixo) / 2. A fórmula extrai informações sobre a dinâmica de preços de duas SMA médias de dois períodos diferentes. Computa o diferencial entre a SMA da linha rápida ((5 dias) e a SMA da linha lenta ((34 dias), dando um sinal de compra quando a linha rápida é superior à linha lenta e um sinal de venda quando a linha rápida é inferior à linha lenta.

Nesta estratégia, para filtrar o sinal de erro, a operação de SMA de 5 dias foi realizada no AO. E um modo de reversão foi configurado, que pode ser executado em diferentes direções de negociação através da reversão do sinal de longo / curto. Quando o valor do AO é maior do que o anterior, é considerado uma oportunidade de compra, marcada com uma coluna azul; Quando o valor do AO não é maior do que o anterior, é considerado uma oportunidade de venda, marcada com uma coluna vermelha.

Vantagens estratégicas

  1. O uso de preços médios em vez de preços de fechamento pode reduzir o impacto de brechas falsas no SMA e aumentar a estabilidade
  2. A combinação rápida e rápida de SMAs permite capturar rapidamente as mudanças no mercado
  3. SMA duplo filtro, eliminação de ruído de alta frequência, melhorar a qualidade do sinal
  4. Parâmetros flexíveis para adaptar-se a diferentes cenários de mercado
  5. Pontos de venda e compra são mostrados através de colunas intuitivas, facilitando o julgamento e a operação.

Riscos e soluções

  1. Avaliar com cautela a frequência de flutuação do mercado e ajustar os parâmetros para evitar a sobre-adaptação
  2. Pode haver várias operações erradas em mercados de turbulência. A largura de suspensão de perdas pode ser apropriada ou o tamanho da posição pode ser reduzido.
  3. Os dados de detecção não são confiáveis, o disco pode ser diferente do simulado. Recomenda-se a verificação de disco real em vários conjuntos, construção de armazéns em lotes

Direção de otimização

  1. Aumentar os filtros de volume de transação para melhorar a qualidade do sinal
  2. Adesão de estratégias de stop loss para controlar as operações de perda individuais
  3. Optimizar a gestão de posições, aumentando e diminuindo as posições de acordo com as flutuações do mercado
  4. Combinado com outros indicadores, para determinar a direção da tendência e evitar a reversão do mercado de choque

Resumir

Esta estratégia utiliza oscilação sofisticado de preço médio e rápido e lento estrutura de SMA para diagnosticar as mudanças na dinâmica do mercado, os sinais de compra e venda são intuitivos. Mas pode ser afetado por choques e inversão, a necessidade de ajustar adequadamente os parâmetros e estratégias de parada para aumentar a estabilidade.

Código-fonte da estratégia
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/12/2016
//    This indicator plots the oscillator as a histogram where blue denotes 
//    periods suited for buying and red . for selling. If the current value 
//    of AO (Awesome Oscillator) is above previous, the period is considered 
//    suited for buying and the period is marked blue. If the AO value is not 
//    above previous, the period is considered suited for selling and the 
//    indicator marks it as red.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy("Bill Williams. Awesome Oscillator (AC)")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes =  xSMA1_SMA2 - xSMA_hl2
cClr = nRes > nRes[1] ? blue : red
pos = iff(nRes > nRes[1], 1,
	   iff(nRes < nRes[1], -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, style=histogram, linewidth=1, color=cClr)