Estrutura de um robô de negociação
Informação não é consultoria em investimentos
Depois das últimas aulas, já conhece os tipos de robôs de negociação no MetaTrader 5. Também já sabe onde encontrar os principais recursos de trading algorítmico no MT5 e como configurá-los. Nesta aula veremos o esqueleto do robô de negociação. Prometemos que o seu medo de programar em MQL5 começará a sumir depois desta aula!
O que compõe um robô de negociação?
Arrancaremos 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 deve saber.
Um robô de negociação tem quatro partes principais:
- Configuração
- OnIntIt
- OnDeinit
- OnTick
Analisaremos cada elemento mais a fundo.
Configuração
Esta é a parte do robô na qual todas as informações administrativas são inseridas. É aqui que faz anotações, declara variáveis (informações de diversos tipos identificadas por nome), monitoriza a lista de mudanças e define os direitos de propriedade.
Veja na imagem acima uma amostra de código da Configuração. Nela há os direitos autorais, as principais propriedades do robô, e o comando #include, que insere o conteúdo de determinado ficheiro no seu expert advisor. Nesta secção também declaramos os principais dados de entrada no comando #input.
OnInIt
A segunda parte chama-se OnInit (OnInitiation, isto é, no momento de inicialização). Esta parte é executada no primeiro arranque do EA.
Nesta parte pode ver os comandos que serão executados depois de rodar o programa pela primeira vez. Explicaremos estes comandos nos próximos artigos!
OnDeInIt
A próxima secção do expert advisor chama-se OnDeInIt (OnDeinitiation, ou seja, no momento de desligamento). Acontece quando o expert advisor é desligado.
OnTick
Esta é a secção mais interessante do expert advisor. É formada por três partes principais que são atualizadas a cada tick com as novas informações do preço. São as entradas, saídas e dimensionamento. Estas funções são importantes para todo expert advisor porque dizem quando comprar, quanto vender e quando fechar as suas negociações.
Este código será acionado toda vez que chegar um novo tick à sua plataforma MetaTrader 5, isto é, se o preço bid, o preço ask ou o volume muda, a mudança também afeta a secção OnTick do seu código.
Pode observar na imagem acima que o robô confere o tempo de processamento e outros dados da última operação.
Então, se fosse um computador, como faria a leitura da estrutura do código?
O primeiro passo seria aceder à secção OnInit e rodar tudo o que há nela, a configurar variáveis e parâmetros que serão necessários à sua estratégia. Isto é feito apenas uma vez.
Depois disto, acederia à secção OnTick, primeiro a conferir se há alguma negociação que deve ser encerrada e depois a procurar por negociações que podem ser abertas. Por fim, o algoritmo de dimensionamento ajudaria a determinar o tamanho da sua posição.
O desligamento do seu EA ativaria a secção OnDeInit. Esta opção retira os gráficos e apaga tudo que tem a ver com o expert advisor.
Moral da história
Para resumir. Se quiser montar um robô de negociação, terá que conhecer bem sua estrutura. Por sorte, todos os robôs têm estrutura parecida, de forma que possa montá-los passo a passo.
Outros artigos nesta seção
- Trading algorítmico. O que é isto?
- Trading algorítmico com MQL5
- O que significa “truncamento“?
- Ichimoku
- Padrão diagonal principal
- Padrão dos Três Avanços (Three Drives)
- Tubarão
- Borboleta
- Caranguejo
- Bat
- Gartley
- ABCD
- Padrões harmônicos
- Como negociar rompimentos
- Negociando com notícias Forex
- Como colocar uma ordem Take Profit?
- Como colocar uma ordem Stop Loss?