Estratégia de detecção de tendências com base em princípios de ação de preços


Data de criação: 2023-09-20 11:11:46 última modificação: 2023-09-20 11:11:46
cópia: 2 Cliques: 587
1
focar em
1617
Seguidores

Visão geral

A idéia central desta estratégia é julgar a direção da tendência atual com base na relação entre os pontos altos e baixos da linha K, e suavizar o resultado como uma média móvel. Quando há mais pontos altos, a tendência é ascendente, quando há mais pontos baixos, a tendência é descendente. A estratégia se aplica a qualquer ativo digital com certa liquidez, e a otimização de parâmetros pode obter melhores resultados.

Princípio da estratégia

Esta estratégia usa a linha de M minutos, de acordo com a relação entre a posição do preço de fechamento e o ponto mais baixo, para julgar se a linha de M minutos K é de alto fechamento (preço de fechamento perto do ponto mais alto), baixo fechamento (preço de fechamento perto do ponto mais baixo) ou comum (preço de fechamento perto do meio).

Concretamente, primeiro calcula-se delt = high - close, ou seja, o diferencial entre o ponto alto e o preço de fechamento, e height = high - low, ou seja, o diferencial entre o alto e o baixo. Se delt > height *23, então julgue como tipo de fechamento alto, se delt < height/3, então julgue como tipo de fechamento baixo, senão como tipo comum 。

Em seguida, estudar o número de alta, baixa e média das linhas K mais recentes na raiz N, calcular a proporção e obter as três curvas de aumento, queda e meio com a suavização do EMA. A curva de aumento representa a proporção da linha de alta K, a curva de queda representa a proporção da linha de baixa K e a curva de meio representa a proporção da linha de K.

Quando a curva de alta atravessa a curva de queda, a linha K de alta fechada começa a aumentar, e o mercado entra em uma tendência de alta, emitindo um sinal de vazio. Quando a curva de queda atravessa a curva de alta, a linha K de baixa fechada começa a aumentar, e o mercado entra em uma tendência de baixa, emitindo um sinal de vazio.

Vantagens estratégicas

A estratégia de determinar tendências com base no movimento de preços tem as seguintes vantagens:

  1. Os princípios são claros e fáceis de entender.

  2. Não se baseia em nenhum indicador, mas apenas nas características do próprio preço para determinar a direção da tendência.

  3. Há menos parâmetros configuráveis, principalmente os 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, divisas, criptomoedas, etc.

  5. A detecção é mais eficaz e os riscos são mais controlados.

  6. Os métodos técnicos podem ser melhorados com a combinação de linhas de tendência e resistência de sustentação.

  7. Uma estratégia de stop loss pode ser configurada para controlar a perda individual.

Risco estratégico

Embora tenha algumas vantagens, a estratégia também apresenta riscos:

  1. Quando o mercado está em um estado de agitação, o tipo de linha K muda frequentemente, podendo gerar falsos sinais.

  2. A configuração incorreta dos parâmetros N e EMA pode causar movimentos perdidos ou produzir sinais inválidos em excesso.

  3. Há um certo atraso quando se julga a direção da tendência apenas com base no tipo de linha K.

  4. A incapacidade de filtrar de forma eficaz os gráficos de frações de tempo comuns, como o triângulo convergente, a bandeira, etc., pode levar a um risco de ruptura reversa.

  5. Esta estratégia é uma estratégia de acompanhamento de tendências e não é eficaz para capturar oportunidades de reversão.

  6. O risco de perda deve ser controlado com a paralisação, caso contrário, o risco de perda pode ser maior.

Direção de otimização da estratégia

Para reduzir o risco e aumentar o fator de lucro, a estratégia pode ser otimizada em:

  1. A combinação de indicadores de volatilidade, como o ATR, ajusta o parâmetro N e o parâmetro de suavização do EMA de acordo com a volatilidade do mercado, evitando que o mercado de turbulência produza muitos sinais ineficazes.

  2. Aumentar a avaliação do indicador de volume, filtrando brechas falsas em grandes quantidades de descarga.

  3. Combinando linhas de tendência e pontos de resistência de suporte crítico para determinar a direção da tendência e a autenticidade da ruptura.

  4. Adicionar julgamentos de vários períodos de tempo para evitar julgamentos errôneos de um único período.

  5. A adição de um módulo de reconhecimento de forma de reversão para abrir posições de reversão em tempo hábil em caso de sinal de reversão significativo.

  6. Otimizar a estratégia de stop loss, ajustando a amplitude de stop loss de acordo com a volatilidade do mercado e as preferências de risco.

  7. A adição de funções como tracking stop loss, move stop loss, etc. bloqueia os lucros e evita o retorno dos lucros.

Resumir

A estratégia baseia-se na direção da tendência do movimento dos preços, os princípios são claros, o retrospecto é bom e pode ser amplamente aplicado à negociação de ativos digitais. Mas também há certas limitações, que precisam ser acompanhadas de stop loss e otimização para reduzir o risco.

Código-fonte da estratégia
/*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)