Estratégias baseadas em tendências transversais equilibradas

Autora:ChaoZhang, Data: 2024-02-28 17:55:28
Tags:

基于均线交叉趋势策略

Resumo

A estratégia de cruzamento de tendências é uma estratégia de rastreamento de tendências baseada em sinais de cruzamento de médias móveis. A estratégia usa o cruzamento de medias móveis rápidas e médias móveis lentas para determinar a tendência do mercado, estabelecendo posições no início da tendência e parando quando o sinal de fim da tendência aparece.

Princípios estratégicos

A estratégia usa a linha de diferença do indicador MACD e o bico de ouro da linha de sinal para determinar o início e o fim da tendência. Especificamente, usa uma EMA rápida de 12 ciclos e uma EMA lenta de 26 ciclos para construir uma linha de diferença do MACD. Quando a linha de diferença atravessa a linha de sinal, um sinal de compra é gerado, indicando o início da tendência do mercado de touros; quando a linha de diferença atravessa a linha de sinal, um sinal de venda é gerado, indicando o início da tendência do mercado de ursos.

No momento da entrada, a estratégia só é usada para abrir mais posições quando a linha K produz um sinal de compra em 15 minutos, aproveitando a oportunidade de entrar no mercado no início da tendência. No equilíbrio de stop loss, ela indica uma reversão da tendência quando um bico morto atravessa a linha de sinal abaixo da linha de desvio do MACD da linha K em 4 horas, o que significa que todas as posições são paradas.

Análise de vantagens

A maior vantagem desta estratégia é ser capaz de aproveitar as oportunidades de início de tendências em tempo hábil, mas também de parar os prejuízos em tempo hábil através de sinais de forca morta, obtendo um bom risco-recompensa.

  1. O MACD é usado para determinar tendências com mais confiança e maior probabilidade de vitória.
  2. A combinação de um tempo de 15 minutos e mais de quatro horas garante uma frequência de operação e controla os riscos
  3. O que é o que você está fazendo agora?

Análise de riscos

A estratégia também apresenta alguns riscos, concentrados principalmente nos seguintes aspectos:

  1. O indicador MACD pode produzir falsos sinais, resultando em entradas ou paralisações desnecessárias
  2. A configuração do ponto de paragem pode ser demasiado generalizada e não levar em consideração as circunstâncias especiais da volatilidade do mercado.
  3. Parâmetros selecionados de forma inadequada podem afetar o efeito da política

Para reduzir esses riscos, pode-se otimizar em vários aspectos:

  1. Em combinação com outros indicadores, filtrar sinais falsos
  2. Ponto de parada de ajuste dinâmico
  3. Optimização dos parâmetros

Optimização

A estratégia pode ser melhorada principalmente nos seguintes aspectos:

  1. Considere a combinação de outros indicadores, como RSI, Brainstorming, etc., para filtrar falsos sinais e aumentar a precisão estratégica.
  2. Testar mais combinações de parâmetros de ciclo rápido e lento para encontrar o parâmetro ideal
  3. Treinar os melhores parâmetros usando métodos de aprendizagem de máquina
  4. Optimização na configuração do ponto de stop, considerando stop de rastreamento dinâmico ou stop parcial
  5. Expandir para mais ciclos de tempo e combinar vários quadros de tempo

Resumo

A estratégia de cruzamento de linha média é uma estratégia simples e prática de rastreamento de tendências. Ela determina o início e o fim da tendência através do cruzamento rápido da linha média do MACD e combina uma combinação de curto e longo. A estratégia tem a vantagem de entrar em tempo, parar de perder e equilibrar os riscos e os ganhos.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Moving Average Convergence Divergence", shorttitle="MACD", overlay=true)

// Getting inputs
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])

// Calculating MACD
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal_line = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)

// Entry conditions
longCondition = macd < 0 and ta.crossover(macd, signal_line) 
shortCondition = ta.crossover(signal_line, macd) 

// Plot signals
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Strategy
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)


Mais informações