Estratégia de acompanhamento de tendências com base em filtragem de frequência e rompimento (somente longo)

EMA AO
Data de criação: 2024-05-28 14:00:24 última modificação: 2024-05-28 14:00:24
cópia: 0 Cliques: 501
1
focar em
1617
Seguidores

Estratégia de acompanhamento de tendências com base em filtragem de frequência e rompimento (somente longo)

Visão geral

A estratégia é uma estratégia de acompanhamento de tendências baseada em rupturas e filtragem de frequência, com apenas negociações em múltiplos pontos. A principal ideia da estratégia é usar o indicador EMA para determinar a direção da tendência atual, gerando múltiplos sinais quando o preço supera o preço mais alto dentro de um determinado intervalo, enquanto usa o filtro de frequência para controlar a frequência de negociação, evitando abrir posições com demasiada frequência.

Princípio da estratégia

  1. Calcular o indicador EMA, para determinar a direção da tendência atual. Quando o preço de fechamento está acima da EMA, a tendência atual é considerada como multifacetada.
  2. Calcula-se o preço máximo dentro de um determinado intervalo, como condição de ruptura. Quando o preço de fechamento supera o preço máximo no período de retração mais curto ou no período de retração mais longo, e a tendência atual é multi-cabeça, gera-se um sinal de fazer mais.
  3. Introdução de filtros de frequência para controlar o intervalo mínimo de abertura de posições consecutivas, evitando a frequência de transação excessiva.
  4. Estabelecer um ponto de parada, fechar uma posição quando o preço cai abaixo do ponto de parada, controlar o risco.
  5. Definir um sinal de fim de tendência, quando o preço de fechamento cai abaixo da EMA, é considerado o fim da tendência, e, nesse momento, se houver mais opções, é eliminado.

Vantagens estratégicas

  1. Seguimento de tendências: determinar a direção da tendência através dos indicadores EMA e negociar de acordo com a tendência, ajudando a aumentar os lucros da estratégia.
  2. Confirmação de ruptura: usa a ruptura de preço como sinal de entrada, permitindo a entrada oportuna no início da tendência, capturando mais espaço de lucro.
  3. Controle de frequência: introdução de filtros de frequência para controlar o intervalo de tempo de abertura de posições, evitando transações excessivamente frequentes e reduzindo custos e riscos de transação.
  4. Proteção de stop loss: estabelecer um ponto de stop loss, quando o preço de reversão de flutuação atinge uma certa amplitude, parar de tempo, controlar eficazmente o risco de queda.
  5. Equilíbrio dinâmico: equilíbrio dinâmico de acordo com o sinal de término da tendência, que permite bloquear os ganhos em tempo hábil e evitar perdas causadas pela reversão da tendência.

Risco estratégico

  1. Sensibilidade a parâmetros: o desempenho da estratégia é sensível à seleção de parâmetros. Diferentes configurações de parâmetros podem causar grandes diferenças no desempenho da estratégia.
  2. Falha de ruptura: A ruptura de preço não garante a continuação da tendência, e pode ocorrer uma falha de ruptura, resultando em perdas contínuas na estratégia.
  3. Identificação de tendências: a estratégia depende do indicador EMA para determinar as tendências, mas o indicador EMA pode ter atrasos ou erros de julgamento, afetando a precisão da estratégia.
  4. Negociação Frequente: Apesar da introdução de filtros de frequência na estratégia, é possível abrir e fechar posições com frequência quando há grande volatilidade no mercado, aumentando os custos de negociação.
  5. Risco de stop loss: a configuração do ponto de stop loss pode não evitar completamente a retirada máxima da estratégia, podendo ainda ocorrer grandes perdas em situações extremas.

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

  1. Optimização de parâmetros: Otimização de parâmetros-chave da estratégia, como a duração do EMA, a duração do período de retrocesso e a porcentagem de parada, para encontrar a melhor combinação de parâmetros e melhorar a estabilidade e a rentabilidade da estratégia.
  2. Filtragem de sinais: após a geração de um sinal de ruptura, pode-se introduzir outros indicadores técnicos ou condições para a segunda confirmação do sinal, melhorar a qualidade do sinal e reduzir o erro de julgamento e falso sinal.
  3. Determinação de tendências: pode-se tentar usar outros indicadores de determinação de tendências, como MACD, DMI, etc., ou combinar vários indicadores para determinar as tendências, aumentando a precisão da identificação de tendências.
  4. Stop loss dinâmico: ajuste dinâmico do ponto de parada de acordo com a flutuação do mercado, por exemplo, usando o indicador ATR para calcular o preço de stop loss dinâmico, ou introduzir estratégias de stop loss de rastreamento para melhor controlar o risco.
  5. Gerenciamento de posições: otimização da estratégia de gerenciamento de posições, ajustamento dinâmico do tamanho das posições de acordo com a flutuação do mercado e a situação dos fundos da conta, controle da abertura de risco de uma única transação e melhoria da eficiência do uso de fundos.

Resumir

A estratégia é uma estratégia de acompanhamento de tendências baseada em rupturas e filtragem de frequência, que determina a direção da tendência através dos indicadores EMA, usa a ruptura de preço como sinal de entrada e, ao mesmo tempo, introduz o filtro de frequência para controlar a frequência de negociação e configurar o risco de controle de stop loss. Os benefícios da estratégia consistem em acompanhamento de tendências, confirmação de rupturas, controle de frequência, proteção de stop loss e equilíbrio dinâmico, mas também há riscos potenciais, como sensibilidade a parâmetros, identificação de tendências de ruptura e fracasso, negociação frequente e risco de parada.

Código-fonte da estratégia
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Trend Following with Breakout and Frequency Filter (Long Only)", overlay=true)

// 输入参数
emaLength = input.int(50, title="EMA长度")
lookbackPeriodMin = input.int(80, title="最短回溯期")
lookbackPeriodMax = input.int(120, title="最长回溯期")
stopLossPct = input.float(2, title="止损百分比") / 100  // 止损百分比
minHoldBars = input.int(10, title="最小持仓K线数量")  // 最小持仓K线数量

// 计算EMA
ema = ta.ema(close, emaLength)

// 计算最高价和最低价
highestHigh = ta.highest(high, lookbackPeriodMax)
lowestLow = ta.lowest(low, lookbackPeriodMax)

// 定义趋势方向
isBullish = close > ema

// 定义突破信号
breakoutCondition = (ta.crossover(close, highestHigh[lookbackPeriodMin]) or ta.crossover(close, highestHigh[lookbackPeriodMax])) and isBullish

// 计算止损点
stopLossLevelLong = close * (1 - stopLossPct)

// 绘制EMA
plot(ema, title="EMA", color=color.blue)

// 记录上次开仓时间
var float lastEntryTime = na

// 策略执行并标注信号
if (breakoutCondition and (na(lastEntryTime) or (time - lastEntryTime) > minHoldBars * timeframe.multiplier))
    strategy.entry("做多", strategy.long)
    label.new(bar_index, high, text="买入", style=label.style_label_up, color=color.green, textcolor=color.white)
    strategy.exit("止损", from_entry="做多", stop=stopLossLevelLong)
    lastEntryTime := time

// 定义趋势结束信号
exitCondition = close < ema

if (exitCondition and (strategy.position_size > 0) and (time - lastEntryTime) > minHoldBars * timeframe.multiplier)
    strategy.close("做多")
    label.new(bar_index, low, text="卖出", style=label.style_label_down, color=color.red, textcolor=color.white)