Estrutura de um robô de negociação

Leia o artigo no site da FBS

Depois de ter visto as últimas aulas, você já conhece os tipos de robôs de negociação no MetaTrader 5. Você também já sabe onde encontrar os principais recursos de trading algorítmico no MT5 e como configurá-los. Nesta aula nós vamos ver o esqueleto do robô de negociação. Prometemos que, depois desta aula, seu medo de programar em MQL5 vai começar a sumir!

O que compõe um robô de negociação?

Vamos começar com a estrutura do robô no Meta Editor.

Parece assustador, certo? Mas o fato é que todos os robôs de negociação têm os mesmos elementos-chave, os quais você deve saber.

Um robô de negociação tem quatro partes principais:

  • Configuração
  • OnIntIt
  • OnDeinit
  • OnTick

Vamos analisar cada um desses elementos.

Configuração

Esta é a parte do robô na qual entram todas as informações administrativas. Aqui você faz anotações, declara variáveis (informações de diversos tipos identificadas por nome), acompanha a lista de mudanças e define os direitos de propriedade.

Veja na imagem acima uma amostra de código da Configuração. Nele temos os direitos autorais, as principais propriedades do robô, e o comando #include, que insere o conteúdo de determinado arquivo no seu expert advisor. Nesta seção, nós também declaramos os principais dados de entrada no comando #input.

OnInIt

A segunda parte é chamada de OnInit (OnInitiation, ou seja, no momento de inicialização). Esta parte é executada quando você roda o EA pela primeira vez.

 Nesta parte você pode ver os comandos que serão executados depois de rodar o programa pela primeira vez. Vamos explicar estes comandos nos próximos artigos!

OnDeInIt

A próxima seção do expert advisor se chama OnDeInIt (OnDeinitiation, ou seja, no momento de desligamento). Ela acontece quando o expert advisor é desligado.

OnTick

Esta é a seção mais interessante do expert advisor. Ela é formada por três partes principais que são atualizadas a cada tick com as novas informações do preço. São elas as entradas, saídas e dimensionamento. Essas funções são importantes para todo expert advisor porque são elas que dizem quando comprar, quanto vender e quando fechar suas operações.

Este código vai ser acionado toda vez que chegar um novo tick na sua plataforma MetaTrader 5, ou seja, se o preço bid, o preço ask ou o volume muda, essa mudança também afeta a seção OnTick do seu código.

Na imagem acima você pode ver que o robô confere o tempo de processamento e outros dados da última operação.

Então, se você fosse um computador, como faria a leitura da estrutura do código?

O primeiro passo seria acessar a seção OnInit e rodar tudo que tem nela, configurando variáveis e parâmetros que serão necessários para a sua estratégia. Isto é feito apenas uma vez.

Feito isso, você acessaria a seção OnTick, conferindo se tem alguma operação que deve ser encerrada e depois procurando por operações que podem ser abertas. Por fim, o algoritmo de dimensionamento ajudaria a determinar o tamanho da sua posição.

Ao desligar o seu EA, você rodaria a seção OnDeInit. Essa opção retira os gráficos e apaga tudo que tem a ver com o expert advisor.

Moral da história

Resumindo: se você quiser montar um robô de negociação, vai ter que conhecer bem sua estrutura. Por sorte, todos os robôs têm estrutura parecida, de forma que você possa montá-los passo a passo.

Comece a negociar

2022-04-04 • Atualizado

A FBS mantém registros de seus dados para operar este site. Ao pressionar o botão “Aceitar“, você concorda com nossa Política de Privacidade.