No site da MQL5.community está disponível uma extensa biblioteca de artigos sobre programação em MQL4/MQL5. Os artigos são um excelente material de ajuda para criar programas, eles cobrem muitas tarefas práticas de trading algorítmico. Novos artigos são publicados a cada semana.
Uma lista de todos os artigos disponíveis é exibida diretamente no MetaEditor. Para encontrar o material de interesse, use a pesquisa online.
Você decidiu aprender a linguagem de programação de estratégias de negociação MQL5, mas não sabe nada sobre ela? Nós tentamos olhar para a MQL5 e o terminal MetaTrader 5 com os olhos de um novato e escrevemos este pequeno artigo introdutório. A partir dele, você pode ter uma breve ideia sobre os recursos da própria linguagem, bem como algumas dicas úteis para trabalhar com o editor MetaEditor 5 e o próprio terminal. |
|
MQL5: crie o seu próprio indicador O que é um indicador? Trata-se de um conjunto de valores calculados que queremos exibir na tela do monitor de uma maneira conveniente para nós. Conjuntos de valores são representados em programas como matrizes. Assim, a criação de um indicador é a invenção de um algoritmo que processa matrizes (matrizes de preços) e registra os resultados do processamento em outras matrizes (valores de indicadores). Usando o exemplo de criação do True Strength Index, o artigo descreve como escrever indicadores em MQL5 |
|
Indicador do indicador em MQL5 Ao escrever um indicador que usa uma forma abreviada de chamar a função OnCalculate(), você pode omitir o fato de o indicador poder ser calculado não apenas nos dados de preço, mas também nos dados de outro indicador (não importa se é interno ou personalizado). Você quer melhorar um indicador para que seja calculado corretamente não apenas nos dados de preço, mas também nos valores de outro indicador? Neste artigo, vamos percorrer todas as etapas necessárias para realizar este tipo de modificações e derivar outras regras úteis para a correta escrita do indicador. |
|
Procedimento para criação e destruição de objetos em MQL5 Cada objeto, seja um objeto personalizado, uma matriz dinâmica ou de objetos, possui peculiaridades de criação e destruição em MQL5. Muitas vezes, alguns objetos fazem parte de outros objetos, e o procedimento de destruição de objetos, no momento da desinicialização, se torna particularmente importante. Este artigo fornece vários exemplos para entender os mecanismos de trabalho com objetos. |
|
Em MQL5, por padrão, todos os objetos são passados por referência, mas é possível usar ponteiros de objetos. Ao fazer isto, existe o perigo de obter como parâmetro da função um ponteiro para um objeto não inicializado. Neste caso, o trabalho do programa será completado criticamente com a descarga subseqüente. Objetos criados automaticamente geralmente não causam esse tipo de erro e, nesse aspecto, são bastante seguros. Neste artigo, tentaremos entender a diferença entre uma referência e ponteiros - quando for justificado o uso de ponteiros - e como escrever código seguro usando ponteiros. |
|
Operações de negociação em MQL5 são fáceis Quase todos os traders chegam ao mercado para ganhar dinheiro, embora exista uma parcela daqueles para quem não é tão importante o resultado da negociação, mas sim participar do processo. Porém, você pode desfrutar do processo não apenas negociando manualmente, mas também desenvolvendo sistemas de negociação automatizados. Afinal de contas, criar um robô de negociação pode ser uma atividade tão interessante quanto a leitura de um bom romance policial. |
|
Algoritmo para gerar ticks no testador de estratégias do terminal MetaTrader 5 O MetaTrader 5 permite, no testador de estratégia embutido, simular negociação automática com a ajuda de EAs em linguagem MQL5. Essa simulação é chamada de teste de EAs e pode ser realizada usando otimização multithread, bem como várias ferramentas, simultaneamente. Para realizar testes minuciosos, é necessário gerar ticks com base no histórico de minuto disponível. O artigo fornece uma descrição detalhada do algoritmo pelo qual os ticks são gerados para testes históricos no terminal do cliente MetaTrader 5. |
|
Funções para gerenciamento de capital em EAs O desenvolvimento de uma estratégia de negociação, em primeiro lugar, consiste em encontrar os padrões para entrar no mercado, sair do mercado e manter as posições. Se os padrões encontrados puderem ser formalizados em regras para negociação automática, ao trader surgirão dúvidas sobre os seguintes cálculos: volume de posições, tamanho da margem e manutenção de um nível seguro de garantia adicional para assegurar posições abertas no modo automático. Neste artigo, vamos escrever, em MQL5, exemplos simples para realizar estes cálculos. |
|
O artigo descreve os recursos que apareceram na nova versão do Assistente MQL5. Mudanças na arquitetura dos sinais, agora, permitem que você crie robôs de negociação baseados numa combinação de diferentes modelos de mercado. Num exemplo concreto, é considerado um procedimento de criação interativa de um EA pronto para operar. |
|
Ordens, posições e transações no MetaTrader 5 Um robô de negociação confiável não pode ser criado sem entender os mecanismos de funcionamento do sistema de negociação do MetaTrader 5. O terminal do cliente recebe informações sobre posições, ordens e transações, a partir do servidor de negociação. Para processar adequadamente esses dados usando MQL5, você precisa entender como interagem os programas mql5 e o ambiente de execução do terminal. |
|
Criando e testando símbolos personalizados no MetaTrader 5 A capacidade de criar símbolos próprios abre novos horizontes no desenvolvimento de sistemas de negociação e na análise de quaisquer mercados financeiros. Agora, os traders podem criar gráficos e testar estratégias de negociação, num número ilimitado de instrumentos financeiros. |
|
Eventos de negociação no MetaTrader 5 Monitorar o estado atual da conta de negociação implica controle sobre posições e ordens abertas. Antes do sinal de negociação se tornar uma transação, ele deve ser enviado do terminal do cliente como uma solicitação ao servidor de negociação, onde será colocado na fila de pedidos e aguardará o seu processamento. O fato do servidor aceitar a solicitação, sua remoção devida ao tempo de expiração ou realização de uma transação com base nela - tudo isso é acompanhado por eventos de negociação, que o servidor informa ao terminal. |
|
Programas em MQL5 permitem não apenas automatizar cálculos de rotina, mas também criar uma interface gráfica completa. As possibilidades de criar elementos de controle verdadeiramente interativos se tornaram quase tão amplas quanto nas linguagens de programação clássicas. Se você quiser escrever programas autônomos completos em MQL5, use os recursos presentes neles. Esses programas são mais fáceis de manter e distribuir. |
|
Noções básicas de testes no MetaTrader 5 Quais são as diferenças entre os três modos de teste no MetaTrader 5 e a que devo prestar atenção? Como ocorre o teste de um EA que negocia simultaneamente em vários instrumentos? Quando e como são calculados os valores dos indicadores durante os testes e como são processados os eventos? Como sincronizar barras de diferentes instrumentos ao testar no modo "Apenas preços de abertura"? O artigo foi elaborado para fornecer respostas a essas e muitas outras perguntas. |
|
Que testes deve passar o robô de negociação antes de ser publicação no Mercado Todos os produtos do Mercado, antes de serem publicados, passam uma revisão preliminar obrigatória para garantir um único padrão de qualidade. Neste artigo, vamos falar sobre os erros mais comuns que os desenvolvedores cometem ao trabalhar com os seus indicadores técnicos e robôs de negociação. Além disso, mostraremos como testar por si mesmo o seu produto antes de publicá-lo no Mercado. |
|
Como desenvolver e depurar rapidamente sua estratégia de negociação no MetaTrader 5 Os sistemas automáticos de scalping são considerados não só o auge do trading algorítmico, mas também os mais difíceis na escrita do código. Neste artigo, nós mostraremos como - usando os recursos embutidos de depuração e teste visual - construir estratégias baseadas na análise de ticks de entrada. O desenvolvimento de regras de entrada e saída muitas vezes exige anos de negociação manual. Mas com o MetaTrader 5 você pode rapidamente verificar qualquer estratégia no histórico real. |