
A estratégia de monopólio de dinâmica MACD utiliza principalmente uma combinação de indicadores MACD e indicadores de dinâmica para formar sinais de negociação e é uma estratégia de acompanhamento de tendências. A estratégia primeiro calcula a EMA de linha rápida e a EMA de linha lenta, em seguida, calcula o valor do MACD e, em seguida, calcula a linha de sinal do MACD.
A estratégia baseia-se principalmente na combinação de MACD e indicadores de momentum.
O indicador MACD é um indicador de tendência, composto por um gráfico em forma de coluna de EMA de linha rápida, EMA de linha lenta e MACD. Os parâmetros do EMA de linha rápida são geralmente de 12 dias e os parâmetros do EMA de linha lenta são de 26 dias, com a fórmula:
Linha rápida EMA = EMA (preço de fechamento, 12)
A linha lenta EMA = EMA (preço de fechamento, 26)
MACD = linha rápida EMA - linha lenta EMA
Linha de sinal = EMA ((MACD,9)
Quando a linha rápida atravessa a linha lenta, indica que o impulso de alta de curto prazo é mais forte do que o longo prazo, como sinal de entrada; quando a linha rápida atravessa a linha lenta, indica que o impulso de queda de longo prazo é mais forte do que o curto prazo, como sinal de saída.
O índice de dinâmica é um indicador técnico que reflete a velocidade com que os preços das ações mudam, com a fórmula:
Valor dinâmico = preço de fechamento de hoje - preço de fechamento de N dias atrás
Onde N é geralmente 10. Quando o preço de fechamento de hoje sobe mais do que N dias antes, o valor do momento é positivo e a ação está em tendência de alta; Quando o preço de fechamento de hoje cai abaixo do N dias antes, o valor do momento é negativo e a ação está em tendência de queda.
A estratégia usa uma combinação de MACD e um indicador de momentum para formar um sinal de negociação. O critério é: quando o diferencial MACD e o diferencial de momentum atravessam o eixo zero, um sinal de compra é gerado, formando um cruzamento acima do eixo zero. Quando o diferencial MACD e o diferencial de momentum atravessam o eixo zero, um sinal de venda é gerado, formando um cruzamento abaixo do eixo zero.
A estratégia tem as seguintes vantagens:
A combinação de indicadores MACD com indicadores dinâmicos permite o acompanhamento de tendências, evitando a ocorrência de negociações inválidas quando os preços dos ativos só têm uma falta de direção em relação à oscilação.
Os sinais de transação são gerados com base em mecanismos de dupla confirmação, que podem filtrar alguns ruídos e evitar a interferência de sinais falsos.
Os parâmetros do indicador MACD são ajustáveis e podem ser otimizados de acordo com diferentes variedades e ciclos de negociação.
O mecanismo de negociação bidirecional de compra e venda permite a captura bidirecional de tendências.
A estratégia é simples de entender, com poucos parâmetros, e é adequada para os iniciantes.
A estratégia também apresenta alguns riscos:
O MACD e o indicador de dinâmica são indicadores de tendência, que podem gerar mais negociações inativas quando o mercado está muito flutuante ou sem uma tendência evidente.
Os portfólios binários, embora possam filtrar falsos sinais, também podem perder oportunidades de negociação, e os parâmetros devem ser adequadamente ajustados para equilibrar o risco.
Quando a tendência do grande ciclo se inverte, o MACD fica atrasado, resultando em perdas de negociação.
A frequência de transações pode ser elevada, sendo necessário prestar atenção à gestão de fundos e ao controle de taxas.
Os parâmetros inadequados podem levar a uma sensibilidade excessiva ou a um atraso excessivo, que requer testes e otimização contínuos de acordo com as condições do mercado.
A estratégia pode ser otimizada em:
Otimizar os parâmetros do indicador MACD para encontrar a combinação de parâmetros mais adequada para diferentes tipos de transações e períodos.
Otimizar o parâmetro de dias do indicador de potência, equilibrando a sensibilidade com o filtro de ruído.
Aumentar o mecanismo de stop loss para controlar a perda máxima de uma única transação.
Adição de um módulo de gerenciamento de posições para permitir que o volume de transações acompanhe as tendências.
Aumentar os filtros, tais como os indicadores de concentração, para evitar transações erradas em condições de curvatura.
Combinado com outros indicadores, como o BRI, o RSI e outros, forma um sinal de negociação de confirmação múltipla.
Adição de um ciclo de otimização para que os parâmetros possam ser iterados e otimizados continuamente.
A estratégia MACD de monopólio de dinâmica usa o indicador MACD e o indicador de dinâmica Strengths, que permite o acompanhamento de tendências. Seu mecanismo de dupla confirmação é eficaz para eliminar o ruído do mercado e evitar a ocorrência de negociações inválidas. A estratégia é simples, direta e fácil de entender, especialmente indicada para os iniciantes.
/*backtest
start: 2022-10-13 00:00:00
end: 2023-10-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="MACD MOMENTUM TEST", shorttitle="MACD MOM TEST")
// Getting inputs
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
len = input(title="Momentum", type=input.integer, defval=10)
src1 = input(title="Source MACD", type=input.source, defval=close)
src2 = input(title="Source MOMENTUM", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 14)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #0c8e61
col_grow_below = #ffcdd2
col_fall_above = #b2dfdb
col_fall_below = #d42f28
col_macd = #ffffff
col_signal = #d42f28
col_mom = #fbc02d
// Calculating
fast_ma = sma_source ? sma(src1, fast_length) : ema(src1, fast_length)
slow_ma = sma_source ? sma(src1, slow_length) : ema(src1, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
mom = src2 - src2[len]
ma(s,l) => ema(s,l)
sema = ma( src1, fast_length )
lema = ma( src1, slow_length )
i1 = sema + mom + ma( src1 - sema, fast_length )
i2 = lema + mom + ma( src1 - lema, slow_length )
macdl = i1 - i2
macd1 =sema - lema
delta = mom - macd1
// Strategy
// Backtest
FromYear = input(defval = 2001, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
// Function exampel
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
if (crossover(delta, 0))
strategy.entry("Buy", true, when=window(), comment="Buy")
if (crossunder(delta, 0))
strategy.close_all(when=window())
// Plot
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)
plot(hist, title="Histogram", style=plot.style_histogram, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
plot(mom, color=col_mom, title="Mom")