Artigos com exemplos de como programar na linguagem MQL5

icon

Inúmeros artigos com exemplos sobre como criar indicadores e robôs de negociação para a plataforma MetaTrader na linguagem MQL5 esperam por você. Cada artigo é acompanhado de códigos-fonte, que você pode abrir no MetaEditor e executar por conta própria.

Esses artigos serão úteis tanto para quem está se iniciando na negociação automatizada, bem como traders capacitados com experiência em programação e negociação. Aqui você encontrará não apenas exemplos, mas também novas ideias.

Novo artigo
recentes | melhores
Criando um Consultor Especialista, que negocia em um número de instrumentos
Criando um Consultor Especialista, que negocia em um número de instrumentos

Criando um Consultor Especialista, que negocia em um número de instrumentos

O conceito da diversificação de ativos nos mercados financeiros é bastante antigo e sempre atraiu negociantes iniciantes. Neste artigo, o autor propõe uma abordagem maximamente simples para a construção de um Expert Advisor de moeda múltipla, para uma introdução inicial a esta direção das estratégias de negócio.
Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2)
Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2)

Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2)

O primeiro capítulo desta série foi sobre os botões simples e multifuncionais. O segundo artigo se dedicará aos grupos de botões interconectados entre si, que permitirão a criação dos controles, quando um usuário puder selecionar uma das opções a partir de um determinado conjunto (grupo).
LifeHack para traders: relatório comparativo de vários testes
LifeHack para traders: relatório comparativo de vários testes

LifeHack para traders: relatório comparativo de vários testes

No artigo, é tratada a execução simultânea do teste de Experts em quatro símbolos diferentes. A comparação final dos quatro relatórios respetivos é realizada numa tabela, como seria feito durante a seleção de produtos numa loja. Uma vantagem adicional consiste na geração automática de gráficos de distribuição para cada símbolo.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 36): objeto das séries temporais de todos os períodos usados do símbolo
Trabalhando com séries temporais na biblioteca DoEasy (Parte 36): objeto das séries temporais de todos os períodos usados do símbolo

Trabalhando com séries temporais na biblioteca DoEasy (Parte 36): objeto das séries temporais de todos os períodos usados do símbolo

No artigo, veremos como combinar listas de objetos-barras para cada período usado no objeto da série temporal do símbolo. Consequentemente, teremos para cada símbolo um objeto pronto armazenando as listas de todos os períodos usados da série temporal.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte VIII): Eventos de modificação de ordens e posições
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte VIII): Eventos de modificação de ordens e posições

Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte VIII): Eventos de modificação de ordens e posições

Nos artigos anteriores, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na sétima parte, nós adicionamos o monitoramento da ativação de ordens StopLimit e preparamos a funcionalidade para o monitoramento de outros eventos envolvendo ordens e posições. Neste artigo, nós desenvolveremos a classe para monitorar os eventos de modificação de ordens e posições.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XI). Compatibilidade com a MQL4 - Eventos de encerramento de posição
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XI). Compatibilidade com a MQL4 - Eventos de encerramento de posição

Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XI). Compatibilidade com a MQL4 - Eventos de encerramento de posição

Nós continuamos com o desenvolvimento de uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na décima parte, nós retomamos nosso trabalho sobre a compatibilidade da biblioteca com a MQL4 e definimos os eventos de abertura de posições e ativação de ordens pendentes. Neste artigo, nós definiremos os eventos de encerramento de posições e nos livraremos das propriedades de ordem não utilizadas.
Modelagem 3D em MQL5
Modelagem 3D em MQL5

Modelagem 3D em MQL5

As séries temporais são um sistema dinâmico em que os valores de uma variável aleatória chegam de forma consistente, isto é, de forma contínua ou em intervalos. A transição para a análise 3D de mercado fornece um novo olhar sobre os complexos processos e fenômenos de interesse para os investigadores. Este artigo descreve as funções de visualização para representações em 3D de dados bidimensionais.
preview
WebSocket para o MetaTrader 5: Usando a API do Windows

WebSocket para o MetaTrader 5: Usando a API do Windows

Neste artigo vamos usar WinHttp.dll com o intuito de criar um cliente WebSocket para os programas MetaTrader 5. Em última instância, o cliente deve ser implementado como uma classe e testado em interação com o WebSocket API da Binary.com.
Tabelas eletrônicas no MQL5
Tabelas eletrônicas no MQL5

Tabelas eletrônicas no MQL5

O artigo descreve uma classe de array tridimensional dinâmico que contém dados de diferentes tipos em sua primeira dimensão. O armazenamento de dados na forma de tabela é conveniente para resolver uma gama ampla de problemas de organização, armazenamento e operação com informações ligadas de diferentes tipos. O código fonte da classe que implementa a funcionalidade de trabalho com etiquetas está em anexo neste artigo.
preview
Perceptron Multicamadas e o Algoritmo Backpropagation (Parte II): Implementação em Python e Integração com MQL5

Perceptron Multicamadas e o Algoritmo Backpropagation (Parte II): Implementação em Python e Integração com MQL5

Um pacote python foi disponibilizado com o proposito de trazer integração com MQL, com isso abre-se as portas para enumeras possibilidades como, exploração de dados, criação e uso de modelos de machine learning. Com essa integração nativa entre MQL5 e Python, abriu-se as portas para muitas possibilidades de uso, podemos construir de uma simples regressão linear a um modelo de aprendizado profundo. Vamos entender como instalar e preparar o ambiente de desenvolvimento e usar algumas das bibliotecas de aprendizado de maquina.
Como se tornar um bom programador (Parte 4): agilizando a velocidade de programação
Como se tornar um bom programador (Parte 4): agilizando a velocidade de programação

Como se tornar um bom programador (Parte 4): agilizando a velocidade de programação

Suponho que todo desenvolvedor quer escrever código mais rapidamente. Porém, a habilidade de escrever código de forma rápida e produtiva não é uma característica inata que apenas uns poucos trazem consigo. Trata-se de uma habilidade que qualquer programador pode desenvolver e que será o tópico deste artigo.
Tutorial da Rede Neural FANN2MQL
Tutorial da Rede Neural FANN2MQL

Tutorial da Rede Neural FANN2MQL

Este artigo foi publicado para mostrar-lhe como usar redes neurais através da FANN2MQL, usando um exemplo simples, vai ensinar um padrão para uma rede neural e testá-la para ver se ela reconhecerá padrões que nunca viu.
Controles gráficos personalizados. Parte 2. Biblioteca de controles
Controles gráficos personalizados. Parte 2. Biblioteca de controles

Controles gráficos personalizados. Parte 2. Biblioteca de controles

O segundo artigo da série "Controles gráficos personalizados" apresenta uma biblioteca para manusear os principais problemas que surgem da interação entre um programa (Expert Advisor, script, indicador) e um usuário. A biblioteca contém um grande número de classes (CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) e exemplos de seu uso.
Documentação gerada automaticamente para o código MQL5
Documentação gerada automaticamente para o código MQL5

Documentação gerada automaticamente para o código MQL5

A maioria dos codificadores Java estará familiarizada com a documentação gerada automaticamente com o JavaDocs. A ideia é adicionar comentários no código de uma maneira semi-estruturada que possam ser extraídos em um arquivo de ajuda fácil de navegar. O mundo do C++ também possui vários geradores automáticos de documentação, com os dois líderes sendo o SandCastle da Microsoft e o Doxygen. O artigo descreve o uso do Doxygen para criar o arquivo de ajuda HTML a partir dos comentários estruturados no código MQL5. O experimento funcionou muito bem, acredito que a documentação de ajuda que o Doxygen produz do código MQL5 irá agregar uma grande quantidade de valor.
Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)
Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)

Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)

Na parte VIII da série de artigos dedicados à criação de interfaces gráficas no MetaTrader, nós vamos introduzir os controles compostos complexos como os calendários, lista hierárquica e o navegador de arquivos. Devido à grande quantidade de informações, os artigos foram escritos separadamente para cada assunto. O primeiro capítulo desta parte descreve o controle calendário e sua versão expandida — um calendário suspenso.
MQL5 vs QLUA - Por que operações de negociação no MQL5 são até 28 vezes mais rápidas?
MQL5 vs QLUA - Por que operações de negociação no MQL5 são até 28 vezes mais rápidas?

MQL5 vs QLUA - Por que operações de negociação no MQL5 são até 28 vezes mais rápidas?

Você já se perguntou como a sua ordem é entregue tão rápida na bolsa? Também já se perguntou quanto tempo seu terminal precisa para receber o resultado da operação? Nós fizemos uma comparação da velocidade de execução da operação de negociação, pois ninguém nunca mediu esses valores utilizando aplicações nas linguagens de programação MQL5 ou QLUA.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 43): classes de objetos de buffers de indicador
Trabalhando com séries temporais na biblioteca DoEasy (Parte 43): classes de objetos de buffers de indicador

Trabalhando com séries temporais na biblioteca DoEasy (Parte 43): classes de objetos de buffers de indicador

Neste artigo, veremos a criação de classes de objetos-buffers de indicador como herdeiros de um objeto-buffer abstrato, o que simplifica a declaração e trabalho com buffers de indicadores ao criar programas-indicadores próprios baseados na biblioteca DoEasy.
Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)
Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)

Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)

O código da biblioteca precisa ser otimizado: ele deve ser mais regularizado, o que é - mais legível e compreensível para estudar. Além disso, nós vamos continuar a desenvolver os controles criados anteriormente: listas, tabelas e barras de rolagem.
Alerta e comentários para indicadores externos
Alerta e comentários para indicadores externos

Alerta e comentários para indicadores externos

No trabalho prático, um trader pode enfrentar a seguinte situação: é necessário ficar "alerta" ou uma mensagem de texto aparecerá em uma tela (em uma janela de gráfico) indicando um sinal de um indicador. O artigo contém um exemplo de exibição de informações sobre objetos gráficos criados por um indicador externo.
preview
Redes Neurais de Maneira Fácil (Parte 8): Mecanismos de Atenção

Redes Neurais de Maneira Fácil (Parte 8): Mecanismos de Atenção

Nos artigos anteriores, nós já testamos várias opções para organizar as redes neurais. Nós também estudamos as redes convolucionais emprestadas dos algoritmos de processamento de imagem. Neste artigo, eu sugiro estudarmos os Mecanismos de Atenção, cujo surgimento deu impulso ao desenvolvimento dos modelos de linguagem.
Mais uma vez vamos falar sobre mapas de Kohonen
Mais uma vez vamos falar sobre mapas de Kohonen

Mais uma vez vamos falar sobre mapas de Kohonen

O artigo descreve as técnicas para trabalhar com mapas de Kohonen. Ele vai ser do interesse tanto para exploradores do mercado, com habilidades básicas nas plataformas MQL4 e MQL5, quanto para programadores experientes que enfrentam dificuldades com a conexão dos mapas de Kohonen aos seus projetos.
preview
Desenvolvendo um EA de negociação do zero (Parte 08): Um salto conceitual (I)

Desenvolvendo um EA de negociação do zero (Parte 08): Um salto conceitual (I)

Como implementar de forma o mais simples possível uma nova funcionalidade ? Aqui iremos dar um passo para trás para logo em seguida dar dois para frente.
Gráfico PairPlot baseado em CGraphic para analisar correlações entre arrays de dados (séries temporais)
Gráfico PairPlot baseado em CGraphic para analisar correlações entre arrays de dados (séries temporais)

Gráfico PairPlot baseado em CGraphic para analisar correlações entre arrays de dados (séries temporais)

Comparar várias séries temporais durante uma análise técnica é uma tarefa bastante comum que requer ferramentas apropriadas. Neste artigo, eu sugiro o desenvolvimento de uma ferramenta para análise gráfica e a detecção de correlações entre duas ou mais séries temporais.
Linguagem MQL como um meio de marcação da interface gráfica de programas MQL (Parte 3). Designer de formulários
Linguagem MQL como um meio de marcação da interface gráfica de programas MQL (Parte 3). Designer de formulários

Linguagem MQL como um meio de marcação da interface gráfica de programas MQL (Parte 3). Designer de formulários

Este artigo complementa a descrição da ideia de como construir uma interface de programa MQL com ajuda das construções da linguagem MQL. Um editor gráfico especial nos permitirá configurar interativamente um layout consistindo nas principais classes de elementos da GUI e, em seguida, as exportará para uma descrição MQL que será usada em nosso projeto MQL. Aqui são apresentados detalhes internos do editor e o manual do usuário. Códigos fonte estão anexados ao artigo.
Funcionamento do MetaTrader 4 na presença de anti-vírus e firewalls
Funcionamento do MetaTrader 4 na presença de anti-vírus e firewalls

Funcionamento do MetaTrader 4 na presença de anti-vírus e firewalls

A maioria dos traders utiliza programas especiais para proteger os seus PCs. Infelizmente, estes programas não somente protegem os computadores contra invasões, vírus e trojans, mas também consomem uma quantidade significativa de recursos. Isto tem a ver com o tráfego da rede, antes de tudo, que é completamente controlado por vários anti-vírus e firewalls inteligentes. O motivo da escrita deste artigo foram as reclamações dos traders com relação ao funcionamento lento do terminal de cliente do MetaTrader 4 na preseça do firewall "Outpost". Nós decidimos realizar a nossa própria pesquisa usando o Kaspersky Antivirus 6.0 e o Outpost Firewall Pro 4.0.
Cálculo de características integrais das emissões de indicador
Cálculo de características integrais das emissões de indicador

Cálculo de características integrais das emissões de indicador

Emissões do indicador são uma área pouco estudada da pesquisa de mercado. Isso se deve principalmente à dificuldade de análise que é causada pelo processamento de arrays muito grandes de dados de tempo variável. A análise gráfica existente é um recurso muito intensivo e, portanto, tem provocado o desenvolvimento de um algoritmo parcimonioso que usa série temporal de emissões. Este artigo demonstra como a análise visual (imagem intuitiva) pode ser substituída pelo estudo de características de emissões integral. Isso pode ser de interesse para ambos negociantes e desenvolvedores de sistemas de negociação automatizados.
Gráficos na biblioteca DoEasy (Parte 75): métodos para trabalhar com primitivos e texto num elemento gráfico básico
Gráficos na biblioteca DoEasy (Parte 75): métodos para trabalhar com primitivos e texto num elemento gráfico básico

Gráficos na biblioteca DoEasy (Parte 75): métodos para trabalhar com primitivos e texto num elemento gráfico básico

No artigo, continuaremos a desenvolver a classe base do elemento gráfico que compreende todos os objetos gráficos criados com base na classe da Biblioteca Padrão CCanvas. Criaremos métodos para desenhar primitivas gráficas e métodos para enviar texto para um objeto-elemento gráfico.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXV): processamento de erros retornados pelo servidor de negociação
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXV): processamento de erros retornados pelo servidor de negociação

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXV): processamento de erros retornados pelo servidor de negociação

Depois de enviarmos uma ordem de negociação para o servidor, não devemos assumir que o trabalho está concluído, uma vez que é necessário verificar quer os códigos de erro quer a ausência de erros. No artigo, veremos o processamento de erros retornados pelo servidor de negociação e prepararemos a base para a criação de ordens de negociação pendentes.
Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast(Build 3)
Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast(Build 3)

Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast(Build 3)

Apresentamos neste artigo a próxima versão da biblioteca Easy And Fast (build 3). Foi corrigido certas falhas e adicionado novos recursos. Para maiores informações leia a continuação do artigo.
Novas oportunidades com o MetaTrader 5
Novas oportunidades com o MetaTrader 5

Novas oportunidades com o MetaTrader 5

O MetaTrader 4 ganhou sua popularidade com negociantes de todo o mundo e parecia que nada mais poderia ser desejado. Com sua alta velocidade de processamento, estabilidade, grande variedade de possibilidades para escrever indicadores, Expert Advisors e sistemas de negócio informativos, e a habilidade de escolher entre centenas de diferentes brokers, - o terminal se diferenciava-se muito do restante. Mas, o tempo não para e nos deparamos tendo que escolher entre o MetaTrade 4 ou MetaTrade 5. Neste artigo, descreveremos as principais diferenças do terminal da 5ª geração a nosso favor.
A última cruzada
A última cruzada

A última cruzada

Veja seu terminal de negociação. Quais meios de apresentação de preço você pode ver? Barras, candlesticks, linhas. Estamos buscando tempo e preços onde temos apenas lucro com os preços. Devemos dar atenção aos preços ao analisarmos o mercado? Este artigo propõe um algorítimo e um script para um gráfico de ponto e figura ("jogo da velha") é dada consideração a vários padrões de preço em que o uso prático é destacado nas recomendações fornecidas.
Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)
Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)

Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)

Este artigo é o começo da sexta parte da série dedicada ao desenvolvimento da biblioteca para a criação de interfaces gráficas nos terminais MetaTrader. No primeiro capítulo, nós vamos discutir o controle caixa de seleção, o controle campo de edição e seus tipos combinados.
Como Adicionar Novas Linguagens de IU na Plataforma MetaTrader 5
Como Adicionar Novas Linguagens de IU na Plataforma MetaTrader 5

Como Adicionar Novas Linguagens de IU na Plataforma MetaTrader 5

A interface do usuário da plataforma MetaTrader 5 é traduzido em vários idiomas. Não se preocupe se a sua língua materna não está entre as suportados. Você pode facilmente completar a tradução usando o utilitário especial MetaTrader MultiLanguage Pack, oferecido pela MetaQuotes Corp. gratuitamente para todos os clientes. Neste artigo mostraremos alguns exemplos de como adicionar linguagens de interface de usuário para a plataforma do MetaTrader 5.
Gerenciando o Terminal MetaTrader Via DLL
Gerenciando o Terminal MetaTrader Via DLL

Gerenciando o Terminal MetaTrader Via DLL

O artigo trata sobre o gerenciamento dos elementos da interface de usuário MetaTrader através de uma biblioteca DLL auxiliar, usando o exemplo de como alterar as configurações de entrega das notificações Push. O código fonte da biblioteca e o script como exemplo estão anexados ao artigo.
preview
Quase-construtor para criar um Expert Advisor

Quase-construtor para criar um Expert Advisor

Disponibilizo meu próprio conjunto de funções de negociação na forma de um Expert Advisor pronto para uso. O método agora proposto permite gerar diversas estratégias de negociação simplesmente adicionando indicadores e mudando os parâmetros de entrada.
preview
Redes Neurais de Maneira Fácil (Parte 12): Dropout

Redes Neurais de Maneira Fácil (Parte 12): Dropout

Como a próxima etapa no estudo das redes neurais, eu sugiro considerar os métodos de aumentar a convergência durante o treinamento da rede neural. Existem vários desses métodos. Neste artigo, nós consideraremos um deles intitulado Dropout.
preview
Otimização Walk Forward Contínua (Parte 4): Gerenciamento de Otimização (Otimizador Automático)

Otimização Walk Forward Contínua (Parte 4): Gerenciamento de Otimização (Otimizador Automático)

O principal objetivo do artigo é descrever o mecanismo de trabalho com nosso aplicativo e seus recursos. Assim, o artigo pode ser tratado como instruções sobre como utilizar o aplicativo. Ele cobre todas as possíveis dificuldades e detalhes do uso do aplicativo.
preview
Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais

Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais

Como uma continuação do tópico das redes neurais, eu proponho ao leitor a análise das redes neurais convolucionais. Esse tipo de rede neural geralmente é aplicado para analisar imagens visuais. Neste artigo, nós consideraremos a aplicação dessas redes no mercado financeiro.
Características e Limites do Testador no MetaTrader 4
Características e Limites do Testador no MetaTrader 4

Características e Limites do Testador no MetaTrader 4

Este artigo permite um maior conhecimento sobre os recursos e os limites do Testador de Estratégia no MetaTrader 4.
Exibição simultânea dos sinais de vários indicadores dos quatro calendários
Exibição simultânea dos sinais de vários indicadores dos quatro calendários

Exibição simultânea dos sinais de vários indicadores dos quatro calendários

No trading manual você tem que ficar de olho nos valores de de vários indicadores. É um pouco diferente do trading mecânico. Se você tiver dois ou três indicadores e tiver escolhido somente um calendário para trading, não é uma tarefa complicada. Mas o que você faria se tivesse cinco ou seis indicadores e sua estratégia de trading necessitasse considerar os sinais em vários prazos?