O recurso está a ser carregado... Carregamento...

Estratégia de filtragem da tendência da EMA

Autora:ChaoZhang, Data: 2024-06-14 15:51:05
Tags:EMA- Não.Tendência

img

Resumo

Esta estratégia usa três médias móveis exponenciais (EMA) com períodos diferentes para determinar as tendências do mercado e gerar sinais de compra/venda. Os cruzamentos entre a EMA rápida, a EMA lenta e a EMA de filtro de tendência, juntamente com a posição de preço em relação à EMA de filtro de tendência, formam a lógica central desta estratégia.

Princípio da estratégia

  1. Calcule três EMA com períodos diferentes: EMA rápida (9 períodos de inadimplência), EMA lenta (21 períodos de inadimplência) e EMA de filtro de tendência (200 períodos de inadimplência).
  2. Calcular o desvio-padrão de 20 períodos do preço para medir a volatilidade do mercado.
  3. Introduzir o indicador de tendência de Fukuiz (EMA padrão de 14 períodos) e determinar a sua cor com base na sua relação com o período anterior (verde para ascender, vermelho para descer).
  4. Gerenciar um sinal de compra quando a EMA rápida cruzar acima da EMA lenta, a EMA rápida for superior à EMA lenta e o preço estiver acima da EMA do filtro de tendência.
  5. Gerenciar um sinal de venda quando a EMA rápida cruzar abaixo da EMA lenta, a EMA rápida for inferior à EMA lenta e o preço estiver abaixo da EMA do filtro de tendência.
  6. Ao manter uma posição longa, se o indicador de tendência Fukuiz ficar vermelho, feche a posição longa.
  7. Ao manter uma posição curta, se o indicador de tendência de Fukuiz virar verde, feche a posição curta.

Análise das vantagens

  1. A combinação de EMAs de vários períodos pode capturar eficazmente as tendências do mercado.
  2. A introdução do indicador de tendência de Fukuiz fornece uma base adicional para o julgamento da tendência e funciona como um stop-loss em determinadas situações.
  3. Os parâmetros são ajustáveis, tornando a estratégia altamente adaptável e otimizável para diferentes mercados e prazos.

Análise de riscos

  1. Os EMA são indicadores inerentemente atrasados, o que pode resultar em sinais atrasados durante rápidas inversões de mercado.
  2. O longo período do filtro de tendência EMA pode fazer com que a estratégia perca algumas tendências de curto prazo.
  3. A lógica de encerramento da posição baseada no indicador de tendência de Fukuiz pode conduzir a stop-loss prematuros, perdendo tendências subsequentes.

Direcção de otimização

  1. Otimizar os parâmetros de período de cada EMA para encontrar a combinação mais adequada para o mercado atual.
  2. Introduzir outros indicadores auxiliares, como o RSI e o MACD, para fornecer mais bases de entrada e saída.
  3. Otimizar a lógica de stop-loss do indicador de tendência de Fukuiz, como adicionar uma zona tampão para evitar stop-loss prematuros.
  4. Considerar a incorporação de módulos de gestão de posições e controlo de riscos para melhorar a estabilidade e a resistência à riscos da estratégia.

Resumo

Esta estratégia constrói um julgamento de tendência e estrutura de negociação relativamente completa, combinando EMAs de vários períodos e o indicador de tendência de Fukuiz. A lógica da estratégia é clara, os parâmetros são ajustáveis e a adaptabilidade é forte. No entanto, também tem alguns riscos potenciais, como atraso de sinal e desvio de julgamento de tendência. No futuro, a estratégia pode ser refinada em termos de otimização de parâmetros, combinação de indicadores e gerenciamento de risco.


/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EvilRed Trading Indicator Trend Filter", overlay=true)

// Parameters Definition
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
trendFilterLength = input(200, title="Trend Filter EMA Length")

// Moving Averages Calculation
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
trendEMA = ta.ema(close, trendFilterLength)

// Volatility Calculation
volatility = ta.stdev(close, 20)

// Add Fukuiz Trend Indicator
fukuizTrend = ta.ema(close, 14)
fukuizColor = fukuizTrend > fukuizTrend[1] ? color.green : color.red
plot(fukuizTrend, color=fukuizColor, title="Fukuiz Trend")

// Plotting Moving Averages
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
plot(trendEMA, color=color.orange, title="Trend Filter")

// Plotting Buy and Sell Signals
buySignal = ta.crossover(fastEMA, slowEMA) and fastEMA > slowEMA and close > trendEMA
sellSignal = ta.crossunder(fastEMA, slowEMA) and fastEMA < slowEMA and close < trendEMA

// Entry and Exit Conditions
if (strategy.position_size > 0 and fukuizColor == color.red)
    strategy.close("Long", comment="Fukuiz Trend is Red")

if (strategy.position_size < 0 and fukuizColor == color.green)
    strategy.close("Short", comment="Fukuiz Trend is Green")

if (buySignal)
    strategy.entry("Long", strategy.long)
    
if (sellSignal)
    strategy.entry("Short", strategy.short)




plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")


Relacionados

Mais.