Percussão de preço alto-baixo diário baseado em níveis de Fibonacci

Autora:ChaoZhang, Data: 2024-01-17
Tags:

img

Resumo

Esta estratégia calcula os preços mais altos e mais baixos de cada dia, combinados com os níveis de retração de Fibonacci, para encontrar oportunidades de negociação de ruptura dentro do dia de negociação atual.

Princípio da estratégia

A lógica central desta estratégia é a seguinte:

  1. Registre o preço mais alto e o preço mais baixo no dia de abertura do mercado.

  2. Calcule dois níveis de retração de Fibonacci de 0,236 e 0,786:

    fib236Alto = diaBaixo + 0,236 * (diaAlto - diaBaixo)
    fib786Alto = dia Baixo + 0,786 * (diaAlto - dia Baixo)

  3. Se o preço de encerramento atravessar o diaAlto para cima, é gerado um sinal de compra; se o preço de encerramento atravessar o dia Baixo para baixo, é gerado um sinal de venda.

  4. Adotar estratégias de alta ou baixa correspondentes de acordo com os sinais de compra e venda.

Esta estratégia combina engenhosamente o preço mais alto, o preço mais baixo e os níveis de Fibonacci para encontrar oportunidades de negociação quando ocorrem avanços durante o dia.

Análise das vantagens

As principais vantagens desta estratégia são:

  1. Alta frequência de negociação intradiária para capturar avanços de preços durante as sessões de negociação do meio-dia.

  2. Com certo suporte dos indicadores técnicos do retracement de Fibonacci, não está simplesmente a perseguir novos máximos ou novos mínimos.

  3. Usar os preços mais altos e mais baixos como níveis de referência tem alguma força de apoio.

  4. A lógica de negociação é simples e clara, fácil de compreender e implementar, adequada para negociação quantitativa.

  5. A exibição do preço mais alto, preço mais baixo e níveis de Fibonacci é configurável para análise visual.

Análise de riscos

Esta estratégia apresenta também alguns riscos:

  1. As operações intradiárias frequentes podem aumentar os custos de transacção e os riscos de deslizamento.

  2. As rupturas intradiárias podem ser rupturas falsas, com o risco de receber sinais de alta ou baixa errados.

  3. Não há uma lógica de stop loss, com o risco de expansão das perdas.

  4. É puramente técnico, sem combinar análise fundamental.

Contramedidas:

  1. Ajustar adequadamente o tamanho da posição para reduzir o impacto nos custos.

  2. Combine mais indicadores técnicos para filtrar falsos sinais de fuga.

  3. Aumentar as estratégias de stop loss móveis para controlar perdas individuais.

  4. Combinar a análise de dados fundamentais para evitar os impactos das inversões de mercado.

Direcção de otimização

As principais direcções de otimização desta estratégia:

  1. Aumentar a combinação de múltiplos indicadores técnicos para melhorar a fiabilidade do sinal.

  2. Adicionar estratégias automáticas de stop loss para controlar as perdas.

  3. Otimizar os parâmetros da estratégia de compra e venda, ajustar a gestão das posições.

  4. Com base em fatores de alta frequência, combinar volatilidade, relação de volume e outros sinais de filtragem.

  5. Usar métodos de aprendizagem de máquina para encontrar melhores combinações de parâmetros.

  6. Estabelecer um mecanismo de saída dinâmico, em vez de um simples cruzamento dos preços mais altos ou mais baixos.

Resumo

Esta estratégia de Fibonacci de compressão de preço alto-baixo intradiário é relativamente simples, lucrando capturando avanços de curto prazo dos níveis de preço.


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Day High/Low Fibonacci Levels Strategy", shorttitle="DHL Fibonacci", overlay=true)

// Calculate the day's high and low
var float dayHigh = na
var float dayLow = na
if change(time("D"))
    dayHigh := high
    dayLow := low

// Define input for plotting lines
showLines = input(true, title="Show Day High/Low Lines")
showFibLevels = input(true, title="Show Fibonacci Levels")

// Plot the day's high and low as lines
plot(showLines ? dayHigh : na, color=color.green, style=plot.style_line, linewidth=1, title="Day High")
plot(showLines ? dayLow : na, color=color.red, style=plot.style_line, linewidth=1, title="Day Low")

// Calculate buy and sell conditions
buyCondition = crossover(close, dayHigh)
sellCondition = crossunder(close, dayLow)

// Plot buy and sell signals
plotshape(buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Calculate Fibonacci levels for the day's high and low
fib236High = dayLow + (0.236 * (dayHigh - dayLow))
fib786High = dayLow + (0.786 * (dayHigh - dayLow))

// Plot Fibonacci levels
plot(showFibLevels ? fib236High : na, color=color.blue, style=plot.style_line, linewidth=1, title="Fib 0.236 Day High")
plot(showFibLevels ? fib786High : na, color=color.purple, style=plot.style_line, linewidth=1, title="Fib 0.786 Day High")

// Strategy
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)


Mais.