Estratégia de Crossover de Tendência de Média Móvel Dinâmica


Data de criação: 2023-11-21 17:18:20 última modificação: 2023-11-21 17:18:20
cópia: 2 Cliques: 609
1
focar em
1617
Seguidores

Estratégia de Crossover de Tendência de Média Móvel Dinâmica

Visão geral

A estratégia de cruzamento de tendências de equilíbrio dinâmico é um sistema de negociação baseado no MACD (Moving Average Convergence Spread Indicator). A estratégia julga as tendências do mercado com base na diferença entre as médias móveis de curto e longo prazo, para tomar decisões de compra ou venda. Sua principal idéia é prever mudanças potenciais no mercado, monitorando a relação entre as tendências de curto e longo prazo.

Princípio da estratégia

A estratégia usa duas médias móveis indexadas de dois períodos diferentes (EMA): a EMA rápida (8 dias) e a EMA lenta (16 dias). O valor do MACD é formado pelo diferencial entre os dois EMAs. Além disso, a estratégia também introduziu uma linha de sinal, a média móvel simples do MACD (11 dias). Quando a linha MACD atravessa a linha de sinal, representando uma tendência de múltiplos, a estratégia executa uma operação de compra; quando a linha MACD atravessa a linha de sinal abaixo, representando uma tendência de vazio, executa uma operação de venda.

No nível do código, a estratégia primeiro calcula os EMAs rápidos e lentos e, em seguida, obtém o valor do MACD. Em seguida, calcula o SMA do MACD, que serve como linha de sinal. Comparando a posição do MACD e a linha de sinal, a estratégia determina o estado de posse atual. Além disso, a estratégia também oferece a opção de negociação reversa, permitindo que o usuário entre no mercado quando o sinal oposto aparece.

Vantagens estratégicas

A principal vantagem da estratégia de cruzamento de tendências de equilíbrio dinâmico reside na sua simplicidade e sensibilidade às mudanças de tendências do mercado. Usando EMAs de diferentes períodos, a estratégia é capaz de capturar efetivamente os desvios entre as tendências de curto e longo prazo, respondendo assim às mudanças no mercado em tempo hábil. Além disso, a adição da linha de sinal aumenta ainda mais a precisão da estratégia, permitindo que os investidores identifiquem as mudanças de tendência mais rapidamente.

Análise de Riscos

Embora a estratégia de cruzamento de tendências de equilíbrio dinâmico seja boa na maioria dos casos, ela também possui alguns riscos. O principal risco é que a estratégia pode produzir sinais enganosos quando há grande volatilidade no mercado ou quando a tendência não é visível. Além disso, a dependência da estratégia de dados históricos também pode causar reações de atraso.

Direção de otimização

A orientação de otimização da estratégia inclui principalmente o ajuste do comprimento do ciclo EMA, a introdução de outros indicadores técnicos e a consideração de fatores de volatilidade do mercado. O comprimento do ciclo de ajuste pode tornar a estratégia mais adaptável a diferentes condições de mercado. A introdução de outros indicadores, como RSI, Brinks e outros, pode fornecer uma visão mais abrangente do mercado.

Resumir

A estratégia de cruzamento de tendências de equilíbrio dinâmico é uma estratégia de negociação quantitativa com o MACD como seu núcleo. Ela analisa a relação entre as tendências de curto e longo prazo para entender o movimento do mercado. Embora essa estratégia seja eficaz, é necessário ter em conta suas limitações e riscos potenciais.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/09/2017
// MACD – Moving Average Convergence Divergence. The MACD is calculated 
// by subtracting a 26-day moving average of a security's price from a 
// 12-day moving average of its price. The result is an indicator that 
// oscillates above and below zero. When the MACD is above zero, it means 
// the 12-day moving average is higher than the 26-day moving average. 
// This is bullish as it shows that current expectations (i.e., the 12-day 
// moving average) are more bullish than previous expectations (i.e., the 
// 26-day average). This implies a bullish, or upward, shift in the supply/demand 
// lines. When the MACD falls below zero, it means that the 12-day moving average 
// is less than the 26-day moving average, implying a bearish shift in the 
// supply/demand lines.
// A 9-day moving average of the MACD (not of the security's price) is usually 
// plotted on top of the MACD indicator. This line is referred to as the "signal" 
// line. The signal line anticipates the convergence of the two moving averages 
// (i.e., the movement of the MACD toward the zero line).
// Let's consider the rational behind this technique. The MACD is the difference 
// between two moving averages of price. When the shorter-term moving average rises 
// above the longer-term moving average (i.e., the MACD rises above zero), it means 
// that investor expectations are becoming more bullish (i.e., there has been an 
// upward shift in the supply/demand lines). By plotting a 9-day moving average of 
// the MACD, we can see the changing of expectations (i.e., the shifting of the 
// supply/demand lines) as they occur.
//  You can change long to short in the Input Settings
//  WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="MACD Crossover", shorttitle="MACD Crossover")
fastLength = input(8, minval=1)
slowLength = input(16,minval=1)
signalLength=input(11,minval=1)
reverse = input(false, title="Trade reverse")
// hline(0, color=purple, linestyle=dashed)
fastMA = ema(close, fastLength)
slowMA = ema(close, slowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
pos = iff(signal < macd , 1,
	   iff(signal > macd, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(signal, color=red, title="SIGNAL")
plot(macd, color=blue, title="MACD")