DEV Community

Abraão Moreira
Abraão Moreira

Posted on • Edited on

Robôs de investimento -MACD simples

Fundamentação teórica

O MACD utiliza duas médias móveis, subtraindo a média móvel maior da menor, é traçada uma linha de referência em zero, o MACD oscila acima e abaixo da linha de zero sendo que:

  • Maior que zero: médias convergem;
  • Igual a zero: médias atravessando;
  • Menor que zero: médias divergem.

No indicador clássico são utilizadas médias móveis de 12 e 26 períodos, como médias maior e menor para o cálculo do indicador, e uma média de 9 períodos é utilizada junto com o MACD como uma linha de sinal que indica viradas de tendência. Todas as médias são calculadas com base em preços de fechamento de candles. Podem ser utilizadas médias móveis diferentes a depender da situação.

Quando o MACD cruzar a linha de zero para cima, há um sinal de compra, quando o MACD cruzar a linha de zero para baixo , há um sinal de venda. [1]

Metodologia

Indicador MACD

O robô de negociação, ou Expert Advisor (EA), foi escrito na linguagem mql5 tem como base o indicador MACD disponibilizado na biblioteca nativa da linguagem, esse indicador utiliza três médias aritméticas com a quantidade períodos programáveis pelo usuário, utilizando sempre os preços de fechamento do período (candles) para a os cálculos, a duração de cada período é sempre igual a corrente no gráfico onde o EA está aplicado.

Estratégia de negociação MACD

O cálculo do MACD é executado uma vez a cada tick, e são considerados para fim de cálculo os três últimos resultados, para analisar o cruzamento da linha de zero, ou seja quando o último resultado for maior que 0 e o antepenúltimo não então há um cruzamento para cima e analogamente para baixo, quando um cruzamento é constatado o estado de uma variável de controle é alterado de "false" para "true", permitindo o abertura de uma posição caso a média de sinal também cruze a linha de zero, a medida do cruzamento é feita pelo mesmo método do cruzamento do MACD.

Limitadores

Stop Loss (SL) e Take Profit (TP)

Todas as posições abertas são configuradas com SL e TP caso ele seja configurado diferente de zero ao iniciar o EA. A base para a operação, e consequentemente para a colocação dos stops, são os níveis de ask para as compras e bid para as vendas.

Volume

Caso o volume de contratos a serem negociados configurado pelo usuário não esteja de acordo com o necessário para o ativo do gráfico, uma mensagem de advertência é exibida informando o erro e como corrigi-lo. Será executado ao inserir o EA no gráfico e tentar realizar uma negociação, que será impedida.

Intervalo de tempo

É possível configurar os horários de início e fim da possibilidade de abertura de posições pelo EA, caso o controle esteja habilitado ao se inserir o EA no gráfico fora do horário definido uma mensagem de advertência é exibida informando o horário configurado.

Limite de ganhos e perdas diário

Caso o limite de ganhos ou perdas financeiros diários configurado pelo usuário seja atingido, uma mensagem é exibida informando o limite atingido, todas as posições abertas são finalizadas e não serão abertas novas posições no dia.

Resultados

WINQ20

Entradas teste WINQ20

Resultado teste WINQ20

EURUSD

Entradas teste EURUSD

Resultado teste EURUSD

Referências

[1] Moving Average Convergence/Divergence (MACD). In: LEMOS, Flávio. Análise Técnica dos Mercados Financeiros: Um Guia Completo e Definitivo dos Mercados de Negociação de Ativos. São Paulo - SP: Saraiva, 2016. cap. 9.3.2, p. 245-249.

Top comments (0)