Estratégia de detecção de tendências baseada em princípios de acção de preços

Autora:ChaoZhang, Data: 2023-09-20 11:11:46
Tags:

Resumo

A ideia central desta estratégia é determinar a direção da tendência atual com base na relação entre o ponto alto e o preço de fechamento das barras de linha K, e suavizar os resultados usando linhas médias móveis. Quando há mais barras de fechamento altas, ela é determinada como uma tendência ascendente. Quando há mais barras de fechamento baixas, ela é determinada como uma tendência descendente. Esta estratégia é adequada para qualquer ativo digital com certa liquidez, e melhores resultados podem ser obtidos através da otimização de parâmetros.

Estratégia lógica

Esta estratégia utiliza barras de M-minutos. De acordo com a relação de posição entre o preço de fechamento e os pontos altos e baixos, é determinado se a barra de linha K de M-minutos pertence a um tipo de fechamento alto (preço de fechamento próximo ao ponto alto), tipo de fechamento baixo (preço de fechamento próximo ao ponto baixo) ou tipo normal (preço de fechamento próximo ao meio).

Especificamente, primeiro calcule delt = alto - fechar, que é a diferença entre o ponto alto e o preço de fechamento, e altura = alto - baixo, que é a diferença entre alto e baixo. Se delt > altura * 2/3, é determinado como um tipo de fechamento alto. Se delt < altura/3, é determinado como um tipo de fechamento baixo, caso contrário é um tipo normal.

Em seguida, conte o número de tipos de fechamento alto, fechamento baixo e normal nas barras de linha N K mais recentes, calcule a porcentagem que elas representam e use a EMA para suavizá-las em curvas de alta, baixa e média.

Quando a curva de alta cruza acima da curva de queda, significa que as barras de fechamento altas começam a aumentar, indicando que o mercado está entrando em uma tendência de alta, e um sinal longo é emitido.

Vantagens da estratégia

Esta estratégia de avaliação da tendência baseada na ação de preços tem as seguintes vantagens:

  1. O princípio é claro e fácil de entender e dominar.

  2. Não se baseia em quaisquer indicadores, mas apenas julga a direcção da tendência com base nas características do preço em si.

  3. Existem poucos parâmetros configuráveis, principalmente parâmetros de suavização N e EMA, que são fáceis de otimizar.

  4. Pode ser amplamente aplicado a qualquer ativo digital com certa liquidez, incluindo ações, forex, criptomoedas, etc.

  5. Os resultados dos backtests são bons e os riscos podem ser rigorosamente controlados.

  6. Pode ainda ser combinado com linhas de tendência, níveis de suporte/resistência e outros métodos técnicos de otimização.

  7. As estratégias de stop loss podem ser configuradas para controlar perdas individuais.

Riscos da Estratégia

Apesar das vantagens, a estratégia apresenta também os seguintes riscos:

  1. Quando o mercado está em estado de choque, o tipo de linha K muda frequentemente, o que pode gerar falsos sinais.

  2. As configurações incorretas dos parâmetros N e EMA podem conduzir a tendências em falta ou a um número excessivo de sinais inválidos.

  3. Julgar a direcção da tendência apenas com base nos tipos de linha K tem algum atraso.

  4. Não pode filtrar efetivamente padrões de gráficos comuns como convergência de triângulos, bandeiras, etc., com o risco de avanços reversos.

  5. Esta estratégia pertence ao seguimento da tendência e não pode captar eficazmente as oportunidades de reversão.

  6. O risco de perda deve ser controlado através de um stop loss, caso contrário, a perda única pode ser elevada.

Orientações para a otimização da estratégia

Para reduzir os riscos e melhorar a rentabilidade, a estratégia pode ser otimizada nos seguintes aspectos:

  1. Combinar indicadores de volatilidade como o ATR para ajustar os parâmetros N e EMA com base na volatilidade do mercado, evitando sinais inválidos excessivos em mercados de intervalo.

  2. Adicionar análise de volume para filtrar falhas em condições de alto volume.

  3. Combinar linhas de tendência e níveis principais de suporte/resistência para determinar a direção da tendência e a autenticidade do avanço.

  4. Adicionar análises de vários prazos para evitar erros de julgamento num único período.

  5. Adicionar módulos de reconhecimento de padrões para reverter posições em tempo útil quando aparecerem sinais significativos de reversão.

  6. Otimizar as estratégias de stop loss com base na volatilidade do mercado e na preferência de risco.

  7. Adicione stop loss, stop loss, etc. para bloquear os lucros e evitar a devolução.

Resumo

Esta estratégia julga a direção da tendência com base na ação do preço. A lógica é clara e os resultados do backtest são bons. Pode ser amplamente aplicado à negociação de criptomoedas. Mas também há algumas limitações. Ele precisa ser combinado com stop loss e otimizações para reduzir o risco.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("trend detect", overlay=false)


lenght = input(34)
ema_smooth = input(5)

delt = high - close
height = high - low

color_plot=black
state=0

if delt > height/3*2
    state := 1
    color_plot := red
else
    if delt > height/3
        state := 2
        color_plot := blue
    else 
        state := 3
        color_plot := green
//plot(state, color=color_plot, style=histogram)
percOfType(len, state_for_count) =>
    num = 0
    for i=1 to len
        if state[i]==state_for_count
            num := num+1
    num/len*100
    
rise = ema(percOfType(lenght, 3), ema_smooth)
fall = ema(percOfType(lenght, 1), ema_smooth)
plot(rise, color = green)
plot(ema(percOfType(lenght, 2), ema_smooth), color = blue)
plot(fall, color = red)
plot(10, color=black)
plot(60, color=black)

longCondition = crossover(rise, fall)
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(rise, fall)
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

Mais.