Uma estratégia de negociação baseada em duas médias móveis que mudam gradualmente com parâmetros diferentes


Data de criação: 2023-12-20 14:28:36 última modificação: 2023-12-20 14:28:36
cópia: 0 Cliques: 660
1
focar em
1621
Seguidores

Uma estratégia de negociação baseada em duas médias móveis que mudam gradualmente com parâmetros diferentes

Visão geral

A estratégia de negociação de linha de equilíbrio progressivo é uma estratégia de negociação baseada em sinais de cruzamento de duas médias móveis exponenciais (Exponential Moving Average, EMA) com diferentes parâmetros. Ela usa uma linha EMA de curto período e uma linha EMA de longo período para gerar sinais de negociação quando eles se cruzam, fazendo o salto da linha rápida quando atravessa a linha lenta, e a parada quando atravessa a baixa.

Princípio da estratégia

O indicador central da estratégia são as duas linhas EMA: linha rápida e linha lenta. O parâmetro da linha rápida é configurado por defeito para a linha de 13 dias, sendo mais sensível à mudança de preço; o parâmetro da linha lenta é configurado por defeito para a linha de 48 dias, sendo mais lento para a resposta à mudança de preço. Quando a linha curta sobe rapidamente, a linha rápida sobe antes da linha lenta; quando a linha curta desce, a linha rápida desce mais rapidamente do que a linha lenta.

De acordo com este princípio, a estratégia faz mais quando a linha rápida de baixo para cima quebra a linha lenta, indicando que o preço começa a subir, e pode ser comprado; quando a linha rápida de cima para baixo quebra a linha lenta, indicando que a tendência ascendente terminou, e deve ser interrompida. Para controlar o risco, a estratégia também configura um stop loss inicial e um stop loss de rastreamento: o stop loss inicial é de 8% do preço de entrada, e o stop loss de rastreamento é de 120 pontos.

Em uma implementação de código, a estratégia determina o sinal de cruzamento do EMA através das funções crossover e crossunder, e, quando o cruzamento ocorre, desencadeia a entrada e o fechamento correspondentes para comprar e negociar.

Análise de vantagens

A estratégia de negociação de linha média gradual tem as seguintes vantagens:

  1. Os sinais de estratégia são simples, claros, fáceis de entender e apropriados para aprendizagem de iniciantes;

  2. O indicador de linha média é um bom filtro para o ruído do mercado, e pode detectar mudanças de tendência;

  3. É altamente configurável, com parâmetros de linhas rápidas e lentas e pontos de parada personalizados;

  4. A combinação de medidas de prevenção de prejuízos permite um controlo eficaz dos riscos.

  5. Uma certa estabilidade.

Análise de Riscos

A estratégia também traz alguns riscos:

  1. Os sinais de cruzamento EMA podem estar atrasados e não refletir as mudanças de preço em tempo hábil em momentos de forte volatilidade do mercado;

  2. Ajustes de parâmetros do indicador de mediano rápido podem gerar mais sinais errados;

  3. Quando a tendência é fraca, a EMA tem menos interseções e não consegue capturar a tendência de forma eficaz.

  4. A estratégia em si não leva em conta a análise de tendências em grande escala, e é fácil gerar transações que se desviam das grandes tendências quando a tendência geral do mercado não é clara.

Os riscos acima podem ser mitigados através dos seguintes meios:

  1. Em combinação com outros indicadores para confirmar o sinal de cruzamento equilátero, como MACD, KD etc;

  2. Ajustar os parâmetros do EMA de acordo com os diferentes mercados, reduzindo a taxa de sinais errados;

  3. Adição de módulos de avaliação de tendências com base na média de longo prazo para avaliar a direção geral da situação.

Direção de otimização

A estratégia pode ser otimizada em várias direções:

  1. Aumentar a filtragem de condições de abertura de posições para evitar transações desnecessárias em situações de turbulência. Indicadores como taxa de flutuação e volume de transações podem ser usados para definir o limite de abertura de posição;

  2. Para definir a posição de parada de perda, juntamente com os altos e baixos do mercado, os níveis de suporte, etc., para melhorar a precisão da parada de perda;

  3. A adição de módulos de julgamento de tendências para filtrar sinais de curto prazo usando tendências de longo prazo em quadros de tempo mais altos, evitando desvios de grandes tendências;

  4. Os parâmetros do EMA podem ser treinados e otimizados por meio de aprendizado de máquina para que sejam mais adequados às situações reais do mercado, reduzindo a taxa de sinais errados.

Os pontos acima são os principais pontos em que a estratégia pode ser melhorada e otimizada no futuro. A combinação apropriada de mais indicadores e ferramentas de gerenciamento de risco tornará a estratégia de cruzamento da EMA mais eficaz.

Resumir

A estratégia de negociação de linha de equilíbrio gradual é uma estratégia básica de acompanhamento de tendências. Ela usa a linha rápida e a linha lenta do EMA para julgar a tendência dos preços e, em combinação com os meios de controle de risco, controla os riscos. O sinal da estratégia é simples, claro e fácil de entender.

Código-fonte da estratégia
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// *** USE AT YOUR OWN RISK ***
// 
strategy("EMA Strategy", shorttitle = "EMA Strategy", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 10)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)

// invert trade direction
tradeInvert = input(defval = false, title = "Invert Trade Direction?")
// risk management
useStop     = input(defval = true, title = "Use Initial Stop Loss?")
slPoints    = input(defval = 25, title = "Initial Stop Loss Points", minval = 1)
useTS       = input(defval = true, title = "Use Trailing Stop?")
tslPoints   = input(defval = 120, title = "Trail Points", minval = 1)
useTSO      = input(defval = false, title = "Use Offset For Trailing Stop?")
tslOffset   = input(defval = 20, title = "Trail Offset Points", minval = 1)

// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())

if (useStop)
    strategy.exit("XLS", from_entry ="Buy", stop = strategy.position_avg_price / 1.08 )
    strategy.exit("XSS", from_entry ="Sell", stop = strategy.position_avg_price * 1.08)