A dor real não é a falta de indicador. É ter a estratégia escrita em caderno e não saber transformar isso em ordem para o terminal. Um trader quantitativo de verdade não roda operações baseadas em julgamento, ele executa código. O MQL5 é a porta para isso no ecossistema MetaTrader.
Por que MQL5 e não apenas Python ou C++?
Muita gente pensa que qualquer linguagem serve para trading. Mas falar MQL5 é falar compatibilidade nativa. O MetaTrader 5 roda o código no próprio servidor do broker ou no cliente local com execução ligada ao relógio do mercado. Isso garante que um script lançado às 10h do Brasil seja executado exatamente às 13h de Londres. Nenhuma API via REST ou WebSocket entrega essa sincronia tão simples.
Diferenças de sintaxe que importam
- Sintaxe C++ herdada.
- Tipagem estática obrigatória.
- Gestão de memória manual via ponteiros.
- Suporte a múltiplos tipos de ordens (Market, Limit, Stop).
Uma frase sobre isso: a curva de aprendizado é real. Você não escreve um “hello world” e depois lida com ordens. Começa com `OnInit()` e `OnTick()`. Isso assusta, mas é eficiência.
Estrutura de um Expert Advisor (EA)
Esqueça lógica linear. No MQL5, seu programa é um loop. O `OnTick()` executa a cada tick recebido pelo terminal. Se você não filtrar esse loop com condição `if (Bars != prevBars)`, você vai enviar 500 ordens para cada barra. Isso não é teoria, é erro fatal comum.
| Função | Função | Uso Real |
|---|---|---|
| OnInit() | Chamada única | Carregar parâmetros, abrir arquivos de log. |
| OnTick() | Cada tick | Lógica de entrada, gestão de stop loss, trailing stop. |
| OnDeinit() | Desligamento | Gravar relatório final, fechar conexões. |
O material “Introdução à Linguagem MQL5” aborda isso, mas muitas vezes para no básico. Falta tratar de concorrência e sincronização de dados, que é onde o caos acontece em EAs mais complexos.
O material cobre o básico ou engana?
Ele explica a sintaxe. Mas ensinar a sintaxe de `if` e `for` não ensina a construir um backtest robusto. Um teste histórico sem consideração de slippage e spreads dinâmicos é lixo estatístico. O livro pode ter uma nota de 4 sobre 5 por clareza, mas falha na parte de rigor técnico que um quant exige.
Limitações de um manual introdutório
Muitos autores ensinam lógica ideal. O mercado não é ideal. Spreads se expandem. Seu VPS morre por 2 segundos. O manual raramente ensina `OnTimer()` para lidar com eventos que não são ticks de preço. Isso é uma cegueira projetada para simplificar o ensino.
Para quem é realmente útil?
Para quem compra o indicador "milagroso" e percebe que não funciona porque a lógica tá errada. Para quem quer criar seu próprio robô para não depender de terceiros. Não é para quem quer programar do zero em 24 horas.
FAQ: Introdução à Linguagem MQL5
Aprender MQL5 é difícil se eu não sei programar?
É difícil se você não tem lógica de programação. A linguagem é acessível, mas exige disciplina. Se você entende Excel e macros, consegue. Se você não entende função, vai travar na `OnInit`.
Posso usar MQL5 para operar na B3?
Sim. O MetaTrader 5 suporta acesso direto à B3 via um plugin ou feed de dados. A estrutura de código não muda, muda a fonte de dados (Symbol). É vital verificar a compatibilidade do broker com a B3 antes de codar qualquer lógica de mercado.
O que o curso Hermann Greb tem de diferente?
Ele foca na lógica de mercado e risco. Não ensina apenas como escrever o código, mas como o código se comporta sob pressão real de capital. É um nível acima do manual introdutório.




