Artigos sobre programação nas linguagens MQL4 e MQL5

icon

Leia os artigos publicados aqui para aprender MQL5, a linguagem das estratégias de negociação. A maioria desses artigos foi escrita por vocês, membros da MQL5.community. Todos eles estão divididos em categorias para encontrar respostas rápidas relacionadas a aspectos específicos da programação: "Integração", "Testador", "Estratégias de negociação" e muito mais.

Acompanhe as novas publicações e participe de suas discussões no Fórum!

Novo artigo
recentes | melhores
Raspagem de dados da web sobre a rentabilidade dos títulos públicos
Raspagem de dados da web sobre a rentabilidade dos títulos públicos

Raspagem de dados da web sobre a rentabilidade dos títulos públicos

Automatize a coleta de dados sobre a taxa de juros para melhorar o desempenho de um Expert Advisor.
Estratégia de Trading com Base na Análise de Pontos de Pivô
Estratégia de Trading com Base na Análise de Pontos de Pivô

Estratégia de Trading com Base na Análise de Pontos de Pivô

A análise de Pontos de Pivô (PP) é uma das estratégias mais simples e eficazes para mercados intraday de alta volatilidade. Ela é utilizada desde a era pré computador, quando os operadores que trabalham com ações não podiam usar nenhuma equipamento automatizado de análise de dados, exceto para a contagem de estruturas e aritmômetros.
Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid
Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid

Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid

Este artigo apresenta um método alternativo de criação da Interface Gráfica do Usuário (GUI) com base em layouts e containers, usando um gerenciador de layout - a classe CGrid. A classe CGrid é um comando auxiliar, atua como um container para outros containers e faz o controle usando um layout de grade.
Criação de Consultores Multiespecializados com base em Modelos de Comércio
Criação de Consultores Multiespecializados com base em Modelos de Comércio

Criação de Consultores Multiespecializados com base em Modelos de Comércio

Usar a abordagem orientada a objeto no MQL5 simplifica a criação de Expert Advisors de várias moedas/vários sistemas/vários períodos de tempo. Imagine seu único EA comercializar simultaneamente em várias dezenas de estratégias comerciais, em todos os instrumentos disponíveis, e em todos os possíveis prazos! Além disso, a EA é facilmente testada no dispositivo de teste e, para todas as estratégias, incluídas na sua composição, existe um ou vários sistemas de trabalho de gestão de dinheiro.
Trabalhando com cesta de moedas no mercado Forex
Trabalhando com cesta de moedas no mercado Forex

Trabalhando com cesta de moedas no mercado Forex

O artigo descreve como os pares de moedas podem ser divididos em grupos (cestas), bem como a forma de obter dados sobre o seu status (por exemplo, compradas e vendidas) usando certos indicadores e como aplicar esses dados na negociação.
Uma solução livre de DLL para comunicação entre os terminais MetaTrader utilizando pipes nomeados
Uma solução livre de DLL para comunicação entre os terminais MetaTrader utilizando pipes nomeados

Uma solução livre de DLL para comunicação entre os terminais MetaTrader utilizando pipes nomeados

O artigo descreve como implementar a Comunicação Interprocesso entre os terminais do cliente MetaTrader 5 usando pipes nomeados. Para o uso de pipes nomeados, a classe CNamedPipes é desenvolvida. Para o teste de seu uso e medir a conexão por ele, o indicador de tick, o servidor e os scripts do cliente são apresentados. O uso de pipes nomeados é suficiente para cotas em tempo real.
Aplicando a teoria da probabilidade na negociação de gaps
Aplicando a teoria da probabilidade na negociação de gaps

Aplicando a teoria da probabilidade na negociação de gaps

Neste artigo, nós aplicaremos a teoria da probabilidade e métodos da estatística matemática para criar e testar estratégias de negociação. Nós também veremos o risco de negociação ótimo usando as diferenças entre o preço e o passeio aleatório. Está provado que, se os preços se comportarem como um passeio aleatório de deslocamento de zero (sem tendência direcional), então a negociação com lucro é impossível.
preview
Indicadores múltiplos em um gráfico (Parte 01): Entendendo os conceitos

Indicadores múltiplos em um gráfico (Parte 01): Entendendo os conceitos

Entenda como é possível adicionar vários indicadores ao mesmo tempo sem ocupar muda área do seu gráfico. Muita gente gosta e se sente mais segura operando quando observa diversos indicadores ao mesmo tempo, por exemplo RSI, ESTOCÁSTICO, MACD, ADX entre outros, e em alguns casos até mesmo ativos distintos que compõem um determinado índice.
Lógica Difusa nas estratégias de negociação
Lógica Difusa nas estratégias de negociação

Lógica Difusa nas estratégias de negociação

O artigo considera um exemplo de aplicação da lógica difusa para construir um sistema de negociação simples, usando a biblioteca Fuzzy. São propostas melhorias ao sistema através da combinação da lógica difusa, algoritmos genéticos e redes neurais.
Teste de Visualização: Negociação manual
Teste de Visualização: Negociação manual

Teste de Visualização: Negociação manual

Teste de estratégias manuais no histórico. Veja como o seu algoritmo de negociação funciona ignorando as sutilezas da programação!
Como ganhar dinheiro com o AppStore MetaTrader e Serviços de Sinal de Comércio se você não é um vendedor ou fornecedor
Como ganhar dinheiro com o AppStore MetaTrader e Serviços de Sinal de Comércio se você não é um vendedor ou fornecedor

Como ganhar dinheiro com o AppStore MetaTrader e Serviços de Sinal de Comércio se você não é um vendedor ou fornecedor

É possível começar a ganhar dinheiro com MQL.com agora mesmo sem ter que ser um vendedor de aplicativos Market ou um fornecedor de sinais lucrativo. Selecione os produtos que você deseja e poste links para eles em diversos recursos web. Atraia clientes potenciais e o lucro é seu!
Métodos de Análise Técnica e Previsão do Mercado
Métodos de Análise Técnica e Previsão do Mercado

Métodos de Análise Técnica e Previsão do Mercado

O artigo demonstra as possibilidades e potencialidades de um método matemático bem conhecido juntamente com o pensamento visual e perspectivas de mercado "fora da caixa". Por um lado, serve para atrair a atenção de um grande público, pois incentiva as mentes criativas a reconsiderarem o paradigma da negociação como tal. Por outro, pode dar origem a desenvolvimentos de alternativas e implementações de códigos a respeito de uma ampla gama de ferramentas de análise e previsão.
Avaliação de risco numa sequência de operações com um ativo
Avaliação de risco numa sequência de operações com um ativo

Avaliação de risco numa sequência de operações com um ativo

Este artigo descreve como usar os métodos da teoria da probabilidade e estatística matemática na análise de sistemas de negociação.
preview
Força bruta para encontrar padrões (Parte IV): funcionalidade mínima

Força bruta para encontrar padrões (Parte IV): funcionalidade mínima

Neste artigo, mostrarei uma versão aprimorada da abordagem de força bruta, com base nos objetivos definidos no artigo anterior, e tentarei cobrir este tópico da forma mais ampla possível usando os EAs e as configurações obtidas por meio desse método. Também deixarei que a comunidade experimente a nova versão do programa.
Guia Prático MQL5 - Programando os Canais Móveis
Guia Prático MQL5 - Programando os Canais Móveis

Guia Prático MQL5 - Programando os Canais Móveis

Este artigo apresenta um método de programação de um sistema de canais equidistantes. Alguns detalhes da construção de tais canais estarão sendo considerados aqui. É fornecido a tipificação do canal, propondo um método de canais móveis do tipo universal. Para implementar o código, foi utilizado a Programação Orientada a Objetos (POO).
Análise sintática MQL via ferramentas MQL
Análise sintática MQL via ferramentas MQL

Análise sintática MQL via ferramentas MQL

Este artigo descreve um pré-processador, um leitor e um analisador para examinar códigos fonte em MQL. A implementação em MQL está anexada ao artigo.
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas

Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas

O artigo fornece uma visão geral das capacidades do terminal para criar e trabalhar com símbolos personalizados, oferece opções para modelar um histórico de negociação usando símbolos personalizados, tendências e vários padrões gráficos.
950 sites transmitindo o calendário econômico da MetaQuotes
950 sites transmitindo o calendário econômico da MetaQuotes

950 sites transmitindo o calendário econômico da MetaQuotes

A adição do widget fornece os sites com um cronograma detalhado de 500 indicadores das maiores economias do mundo. Assim, além do conteúdo principal do site, os traders recebem rapidamente informações atualizadas sobre todos os eventos importantes com explicações e gráficos.
preview
Combinatória e teoria da probabilidade para negociação (Parte I): fundamentos

Combinatória e teoria da probabilidade para negociação (Parte I): fundamentos

Nesta série de artigos, procuraremos uma aplicação prática da teoria da probabilidade para descrever o processo de negociação e precificação. No primeiro artigo, conheceremos os fundamentos da combinatória e da teoria da probabilidade, e analisaremos o primeiro exemplo de aplicação de fractais no âmbito desta última.
Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)
Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)

Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)

Este artigo continua a série de publicações do modelo universal de um Expert Advisor. Esta parte descreve em detalhes o modelo de eventos original, baseado no processamento de dados centralizado e considera a estrutura da classe base CStrategy.
Usando armazenamento em nuvem para intercâmbio de dados entre os terminais
Usando armazenamento em nuvem para intercâmbio de dados entre os terminais

Usando armazenamento em nuvem para intercâmbio de dados entre os terminais

As tecnologias baseadas em nuvem estão se tornando mais populares. À nossa disposição temos serviços de armazenamento pagos ou gratuitos. Mas será que é possível usá-los na negociação? Este artigo apresenta uma tecnologia para intercâmbio de dados entre terminais usando serviços de armazenamento em nuvem.
Visualização do histórico de negociação multimoeda em relatórios em HTML e CSV
Visualização do histórico de negociação multimoeda em relatórios em HTML e CSV

Visualização do histórico de negociação multimoeda em relatórios em HTML e CSV

Como é sabido, desde seu lançamento, o MetaTrader 5 vem oferecendo testes multimoedas. Essa função é procurada pela maioria dos traders, mas, infelizmente, não é tão universal quanto gostaríamos. O artigo apresenta vários programas para traçar gráficos usando objetos gráficos baseados no histórico de negociação a partir de relatórios nos formatos HTML e CSV. A negociação de vários instrumentos pode ser analisada em paralelo em várias sub-janelas, ou numa só janela usando a comutação dinâmica realizada pelo usuário.
Abordagem econométrica para análise de gráficos
Abordagem econométrica para análise de gráficos

Abordagem econométrica para análise de gráficos

Este artigo descreve os métodos econométricos de análise, a análise de autocorrelação e a análise de variância condicional em particular. Qual é o benefício da abordagem descrita aqui? O uso de modelos GARCH permite representar a série analisada formalmente a partir do ponto de vista matemático e criar uma previsão para um determinado número de passos.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVI): trabalho com ordens de negociação pendentes - primeira implementação (abertura de posições)
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVI): trabalho com ordens de negociação pendentes - primeira implementação (abertura de posições)

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVI): trabalho com ordens de negociação pendentes - primeira implementação (abertura de posições)

No artigo, abordaremos o armazenamento de alguns dados no valor do número mágico de ordens e posições, e implementaremos ordens pendentes. Para examinar a ideia, criaremos a primeira ordem pendente de teste para abrir posições a mercado quando recebermos um erro do servidor requerendo aguardar e enviar uma segunda solicitação.
Construtor de estratégia baseado nos padrões de Merill
Construtor de estratégia baseado nos padrões de Merill

Construtor de estratégia baseado nos padrões de Merill

No artigo anterior, nós consideramos a aplicação dos padrões de Merill a vários dados, como em valores de preço em um gráfico de par de moeda e de indicadores padrão do MetaTrader 5: ATR, WPR, CCI, RSI, entre outros. Agora, vamos tentar criar um conjunto para a construção de estratégias baseado nos padrões de Merill.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXI): ordens de negociação pendentes, abertura de posições por condições
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXI): ordens de negociação pendentes, abertura de posições por condições

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXI): ordens de negociação pendentes, abertura de posições por condições

A partir deste artigo, criaremos um recurso que permite negociar através de solicitações pendentes de acordo com uma determinada condição: se atingirmos/ou ultrapassarmos uma determinada hora, se ultrapassarmos um lucro predeterminado ou se for registrado um evento de fechamento de posição por stop-loss.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVIII): ordens pendentes de negociação - fechamento, exclusão, modificações
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVIII): ordens pendentes de negociação - fechamento, exclusão, modificações

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVIII): ordens pendentes de negociação - fechamento, exclusão, modificações

Este é o terceiro artigo sobre o conceito de ordens pendentes. Nele, concluiremos o teste de ordens pendentes de negociação, criaremos métodos para fechar posições, excluir ordens pendentes e modificar os parâmetros de posições e de ordens pendentes.
Controles gráficos personalizados. Parte 3. Formas
Controles gráficos personalizados. Parte 3. Formas

Controles gráficos personalizados. Parte 3. Formas

Este é o último dos três artigos dedicados a controles gráficos. Ele cobre a criação do principal componente da interface gráfica - a forma - e seu uso em combinação com outros controles. Além das classes de forma, as classes CFrame, CButton, CLabel foram adicionadas à biblioteca de controle.
Abordagem orientada a objetos para construção de painéis de múltiplos períodos de tempo e múltiplas moedas
Abordagem orientada a objetos para construção de painéis de múltiplos períodos de tempo e múltiplas moedas

Abordagem orientada a objetos para construção de painéis de múltiplos períodos de tempo e múltiplas moedas

Este artigo descreve como a programação orientada a objetos pode ser usada para criar painéis de múltiplos períodos de tempo múltiplas moedas para o MetaTrader 5. O principal objetivo é construir um painel universal, que pode ser utilizado para exibição de diversos tipos diferentes de dados, tal como preços, variação de preços, valores de indicador ou condições personalizadas de compra/venda, sem a necessidade de modificar o código do painel em si.
preview
ChatGPT da OpenAI dentro do framework de desenvolvimento MQL4 e MQL5

ChatGPT da OpenAI dentro do framework de desenvolvimento MQL4 e MQL5

Neste artigo, vamos experimentar e explorar a inteligência artificial ChatGPT da OpenAI, a fim de entender suas capacidades com o objetivo de reduzir o tempo e o esforço de desenvolvimento de seus Expert Advisors, indicadores e scripts. Vou rapidamente abordar essa tecnologia e tentar mostrar como usá-la corretamente para programar nas linguagens MQL4 e MQL5.
preview
Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte II). Fazendo a marcação

Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte II). Fazendo a marcação

Este artigo é uma continuação do ciclo em que mostro como criar uma biblioteca conveniente para mim, a fim de desenhar o layout de gráficos manualmente com ajuda de atalhos de teclado. A marcação é feita com linhas retas e suas combinações. Nesta parte, vou falar diretamente sobre o desenho em si usando as funções descritas na primeira parte. A biblioteca pode ser anexada a qualquer Expert Advisor ou indicador, facilitando muito suas tarefas de layout. Esta solução NÃO USA dlls externas, todos os comandos são implementados usando ferramentas MQL integradas.
ZUP - ZigZag universal com padrões Pesavento. Interface gráfica
ZUP - ZigZag universal com padrões Pesavento. Interface gráfica

ZUP - ZigZag universal com padrões Pesavento. Interface gráfica

Nos 10 anos que se passaram desde o lançamento da primeira versão da plataforma ZUP, tem havido muitas mudanças e melhorias. O resultado foi um complemento gráfico exclusivo para MetaTrader 4 que permite analisar fácil e rapidamente informações de mercado. Este artigo descreve como trabalhar com a interface gráfica do usuário da plataforma ZUP.
Implementando OLAP na negociação (Parte 3): analisando cotações para desenvolver estratégias de negociação
Implementando OLAP na negociação (Parte 3): analisando cotações para desenvolver estratégias de negociação

Implementando OLAP na negociação (Parte 3): analisando cotações para desenvolver estratégias de negociação

Neste artigo, continuaremos a estudar a abordagem OLAP aplicada à negociação, bem como a expandir os recursos apresentados nos dois primeiros artigos. Desta vez, analisaremos cotações de maneira operacional. Formularemos e testaremos uma hipótese sobre estratégias de negociação baseadas em indicadores históricos agregados. Apresentaremos EAs para estudos de padrões de barras e negociação adaptativa.
Sistemas de negociação adaptativos e seu uso no terminal do cliente do MetaTrader 5
Sistemas de negociação adaptativos e seu uso no terminal do cliente do MetaTrader 5

Sistemas de negociação adaptativos e seu uso no terminal do cliente do MetaTrader 5

Este artigo sugere uma variável de um sistema adaptativo que consiste em várias estratégias, cada uma realizando suas operações de negociação "virtuais". Negociações reais são realizadas de acordo com os sinais da estratégia mais rentável no momento. Obrigado por utilizar a abordagem orientada a objeto, classes para trabalhar com dados e classes de negociação da biblioteca padrão, a arquitetura do sistema pareceu ser simples e escalável; agora você pode facilmente criar e analisar os sistemas adaptativos que incluem centenas de estratégias de negociação.
Estratégia de Carry Trade estatístico
Estratégia de Carry Trade estatístico

Estratégia de Carry Trade estatístico

Um algorítimo de proteção estatística de posições swap positivas abertas de movimentos de preço indesejados. Este artigo apresenta uma variante da estratégia de proteção Carry Trade, que permite que você compense potenciais riscos em relação ao movimento de preços na direção oposta à posição aberta.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVII): interatividade de objetos de biblioteca
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVII): interatividade de objetos de biblioteca

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVII): interatividade de objetos de biblioteca

Hoje, concluiremos a lógica da funcionalidade do objeto básico de todos os objetos de biblioteca, o que permitirá que qualquer objeto de biblioteca criado com base nela interaja com o usuário. Por exemplo, podemos definir o tamanho máximo aceitável de spread para abrir uma posição, bem como o nível de preço que intersetado causará que nosso programa receba um evento do objeto-símbolo sobre um sinal indicando o tamanho do spread e o preço que cruza o nível controlado.
preview
Otimização Walk Forward Contínua (Parte 2): Mecanismo para a criação de um relatório de otimização para qualquer robô

Otimização Walk Forward Contínua (Parte 2): Mecanismo para a criação de um relatório de otimização para qualquer robô

O primeiro artigo da série Otimização Walk Forward descreveu a criação de uma DLL a ser usada em nosso otimizador automático. Essa continuação é inteiramente dedicada à linguagem MQL5.
Verificação de Estatística do Sistema de Gestão de Dinheiro Labouchere
Verificação de Estatística do Sistema de Gestão de Dinheiro Labouchere

Verificação de Estatística do Sistema de Gestão de Dinheiro Labouchere

Neste artigo vamos testar as propriedades estatísticas do sistema de gestão de dinheiro Labouchere. Este sistema é considerado um dos tipos menos agressivos dos sistemas Martingale, uma vez que as apostas não são dobradas, mas são colocadas a uma certa quantidade de cada vez.
Conjunto de ferramentas para negociação manual rápida: funcionalidade básica
Conjunto de ferramentas para negociação manual rápida: funcionalidade básica

Conjunto de ferramentas para negociação manual rápida: funcionalidade básica

Atualmente mais e mais traders estão mudando para sistemas de negociação automáticos que ou requerem configuração inicial ou estão totalmente automatizados. No entanto, ainda existe uma parte considerável de traders que negociam manualmente à moda antiga, Neste artigo, criaremos um conjunto de ferramentas para negociação manual rápida usando teclas de atalho e realizando ações de negociação típicas com um clique.
Comunicando-se com o MetaTrader 5 utilizando pipes nomeados sem DLLs
Comunicando-se com o MetaTrader 5 utilizando pipes nomeados sem DLLs

Comunicando-se com o MetaTrader 5 utilizando pipes nomeados sem DLLs

Muitos desenvolvedores encontram o mesmo problema - como chegar ao sandbox do terminal sem utilizar DLLs arriscados. Um dos métodos mais fáceis e seguros é utilizar pipes nomeados padrão que funcionam como operações de arquivo normais. Eles permitem que você organize a comunicação cliente-servidor interprocessadores entre programas. Dê uma olhada em exemplos práticos em C++ e MQL5 que incluem servidor, cliente, a troca de dados entre eles e avaliação de desempenho.