- Quadrado
- Tendência de seguimento com filtro de ruptura e frequência (apenas longo)
Tendência de seguimento com filtro de ruptura e frequência (apenas longo)
Autora:
ChaoZhang, Data: 2024-05-28 14:00:24
Tags:
EMAAO
Resumo
Esta estratégia é uma estratégia de seguimento de tendência baseada em breakout e filtragem de frequência, tomando apenas posições longas. A ideia principal da estratégia é usar o indicador EMA para determinar a direção da tendência atual, gerar um sinal longo quando o preço sai do preço mais alto dentro de um determinado intervalo e usar um filtro de frequência para controlar a frequência de negociação para evitar abrir posições com muita frequência. A estratégia também define um ponto de stop loss para controlar o risco e fecha posições quando a tendência termina.
Princípio da estratégia
- Calcule o indicador EMA para determinar a direção da tendência atual.
- Calcule o preço mais alto dentro de um determinado intervalo como condição de ruptura. Quando o preço de fechamento rompe o preço mais alto dentro do período de retrospecção mais curto ou mais longo e a tendência atual é de alta, um sinal longo é gerado.
- Introduzir um filtro de frequência para controlar o intervalo mínimo de tempo entre as aberturas de posições consecutivas, a fim de evitar uma frequência excessiva de negociação.
- Quando o preço cair abaixo do preço de stop loss, feche a posição para controlar o risco.
- Definir o sinal de fim da tendência. Quando o preço de fechamento cai abaixo da EMA, a tendência é considerada como terminada. Se uma posição longa for mantida neste momento, feche a posição.
Vantagens da estratégia
- Seguimento da tendência: Ao utilizar o indicador EMA para determinar a direcção da tendência e negociar em conformidade com a tendência, ajuda a melhorar os retornos da estratégia.
- Confirmação de ruptura: Usar a ruptura de preço como sinal de entrada permite uma entrada oportuna no início da tendência, capturando mais potencial de lucro.
- Controlo da frequência: a introdução de um filtro de frequência para controlar o intervalo de tempo entre as aberturas de posições consecutivas evita a negociação excessiva e reduz os custos e os riscos de negociação.
- Protecção de stop loss: definir um ponto de stop loss para parar imediatamente a perda quando o preço se move na direção oposta por uma certa magnitude controla efetivamente o risco de queda.
- Fechamento dinâmico de posições: o fechamento dinâmico de posições com base no sinal de fim da tendência permite o bloqueio oportuno dos lucros existentes e evita as perdas causadas pela inversão da tendência.
Riscos estratégicos
- Sensibilidade de parâmetros: o desempenho da estratégia é relativamente sensível à seleção de parâmetros, e diferentes configurações de parâmetros podem levar a diferenças significativas no desempenho da estratégia.
- Falha de ruptura: as rupturas de preços não garantem que a tendência continuará definitivamente, e pode haver casos de falha de ruptura, resultando em perdas consecutivas para a estratégia.
- Reconhecimento da tendência: A estratégia baseia-se no indicador EMA para julgar a tendência, mas o indicador EMA pode apresentar atraso ou erro de julgamento, afetando a precisão da estratégia.
- Negociação frequente: Embora a estratégia introduza um filtro de frequência, a abertura e o fechamento frequentes de posições ainda podem ocorrer quando a volatilidade do mercado é elevada, aumentando os custos de negociação.
- Risco de stop loss: a definição do ponto de stop loss pode não evitar completamente o aproveitamento máximo da estratégia, podendo ainda ocorrer grandes perdas em condições de mercado extremas.
Orientações para a otimização da estratégia
- Optimização de parâmetros: Otimize os parâmetros-chave da estratégia, tais como comprimento da EMA, comprimento do período de revisão, percentagem de stop loss, etc., para encontrar a combinação ideal de parâmetros e melhorar a estabilidade e rentabilidade da estratégia.
- Filtragem do sinal: após a geração do sinal de ruptura, podem ser introduzidos outros indicadores ou condições técnicas para confirmar o sinal uma segunda vez, melhorando a qualidade do sinal e reduzindo os erros de julgamento e os falsos sinais.
- Julgamento da tendência: tente usar outros indicadores de julgamento da tendência, como MACD, DMI, etc., ou combine vários indicadores para julgar conjuntamente a tendência e melhorar a precisão do reconhecimento da tendência.
- O preço de paragem de perda dinâmica: ajustar dinamicamente o ponto de paragem de perda de acordo com as condições de volatilidade do mercado, por exemplo, utilizando o indicador ATR para calcular o preço de paragem de perda dinâmica ou introduzindo uma estratégia de paragem de perda para controlar melhor o risco.
- Gestão de posições: Otimizar a estratégia de gestão de posições, ajustar dinamicamente o tamanho da posição de acordo com a volatilidade do mercado e as condições de capital da conta, controlar a exposição ao risco de uma única transação e melhorar a eficiência da utilização do capital.
Resumo
Esta estratégia é uma estratégia de seguimento de tendências baseada em breakout e filtragem de frequência. Ele usa o indicador EMA para determinar a direção da tendência, usa a breakout de preço como o sinal de entrada, introduz um filtro de frequência para controlar a frequência de negociação e define um ponto de stop loss para controlar o risco. As vantagens da estratégia estão no seguimento de tendências, confirmação de breakout, controle de frequência, proteção de stop loss e fechamento de posição dinâmica, mas também tem riscos potenciais como sensibilidade de parâmetros, falha de breakout, reconhecimento de tendência, negociação frequente e risco de stop loss. Para otimizar ainda mais a estratégia, podemos começar a partir de aspectos como otimização de parâmetros, filtragem de sinal, julgamento de tendência, stop loss dinâmico e gerenciamento de posição para melhorar a estabilidade e lucratividade 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)
Relacionados
Mais.