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
Uma Visão Sobre o Indicador Accumulation-Distribution e Onde Conseguilo
Uma Visão Sobre o Indicador Accumulation-Distribution e Onde Conseguilo

Uma Visão Sobre o Indicador Accumulation-Distribution e Onde Conseguilo

O Indicador Accumulation/Distribution (A/D) tem uma característica interessante - um rompimento da linha de tendência traçada neste indicador gráfico sugere, com um certo grau de probabilidade, um rompimento a seguir da linha de tendência no gráfico de preços. Este artigo vai ser útil e interessante para aqueles que são novos na programação em MQL4. Com este objetivo, tentei apresentar a informação de uma maneira fácil de entender e utilizar estruturas de código mais simples.
Interfaces gráficas VII: O Controle Tabela (Capítulo 1)
Interfaces gráficas VII: O Controle Tabela (Capítulo 1)

Interfaces gráficas VII: O Controle Tabela (Capítulo 1)

A sétima parte da série interfaces gráficas no MetaTrader lida com três tipos de tabelas: tabela com o rótulo de texto, tabela com a caixa de edição e a tabela renderizada. Outros controles importantes e frequentemente utilizados são as abas/guias que lhe permitem exibir/ocultar os grupos de outros controles e desenvolver uma interfaces mais compacta em suas aplicações MQL.
preview
Indicadores múltiplos em um gráfico (Parte 02): Primeiros experimentos

Indicadores múltiplos em um gráfico (Parte 02): Primeiros experimentos

No artigo anterior, múltiplos indicadores em um gráfico , apresentei os conceitos e bases para você usar múltiplos indicadores em um gráfico. Aqui irei apresentar e dissecar o código fonte.
O papel das distribuições estatísticas no trabalho de negociação
O papel das distribuições estatísticas no trabalho de negociação

O papel das distribuições estatísticas no trabalho de negociação

Este artigo é uma continuação lógica do meu artigo de Distribuições de probabilidade estatística em MQL5 que apresenta as classes para trabalhar com algumas distribuições estatísticas teóricas. Agora que temos uma base teórica, sugiro que devemos prosseguir diretamente para conjuntos de dados reais e tentar fazer algum uso informativo desta base.
Armazenamento e visualização de informações
Armazenamento e visualização de informações

Armazenamento e visualização de informações

O artigo trata de métodos convenientes e eficientes de armazenamento e visualização de informações. São consideradas aqui alternativas ao arquivo log padrão do terminal e à função Comment().
preview
Otimização Walk Forward Contínua (parte 5): Panorama do Projeto Otimizador Automático e Criação da Interface Gráfica

Otimização Walk Forward Contínua (parte 5): Panorama do Projeto Otimizador Automático e Criação da Interface Gráfica

Este artigo fornece uma descrição mais detalhada da otimização walk-forward na plataforma MetaTrader 5. Nos artigos anteriores, nós consideramos os métodos para gerar e filtrar o relatório de otimização e começar a analisar a estrutura interna do aplicativo responsável pelo processo de otimização. O Otimizador Automático é implementado como uma aplicação em C# e possui sua própria interface gráfica. O quinto artigo é dedicado à criação dessa interface gráfica.
Redes Neurais Profundas (Parte VIII). Melhorando a qualidade de classificação dos bagging de ensembles
Redes Neurais Profundas (Parte VIII). Melhorando a qualidade de classificação dos bagging de ensembles

Redes Neurais Profundas (Parte VIII). Melhorando a qualidade de classificação dos bagging de ensembles

O artigo considera três métodos que podem ser usados ​​para aumentar a qualidade de classificação do bagging de ensembles, e a estimação de sua eficiência. Os efeitos da otimização dos hiperparâmetros da rede neural ELM e dos parâmetros de pós-processamento são avaliados.
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.
A Regra de Ouro dos Traders
A Regra de Ouro dos Traders

A Regra de Ouro dos Traders

Para obter lucros baseados em expectativas elevadas, precisamos entender os três princípios básicos de uma boa negociação: 1) conhecer o seu risco ao entrar no mercado; 2) cortar suas perdas mais cedo e executar o seu lucro; 3) conhecer a expectativa do seu sistema - testar e ajustar regularmente. Este artigo fornece um código de programa para saída das posições abertas de acordo com o segundo princípio de ouro, pois permite tomar o lucro no mais alto nível possível.
preview
Desenvolvendo um EA de negociação do zero (Parte 13): Times And Trade (II)

Desenvolvendo um EA de negociação do zero (Parte 13): Times And Trade (II)

Construa um sistema de Times & Trade para analisar o mercado. Esta é a segunda parte. No artigo anterior Times & Trade ( I ) apresentei um sistema alternativo para montar um gráfico de forma a você ter um indicador que lhe permitisse interpretar os negócios que foram executados no mercado de forma o mais rápido possível.
Combinatória e teoria da probabilidade para negociação (Parte II): fractal universal
Combinatória e teoria da probabilidade para negociação (Parte II): fractal universal

Combinatória e teoria da probabilidade para negociação (Parte II): fractal universal

Neste artigo, continuaremos a estudar fractais e prestaremos muita atenção a resumir todo o material. Tentarei apresentar todos os projetos da maneira mais compacta e compreensível para serem aplicados ao trading.
preview
Desenvolvendo um EA de negociação do zero (Parte 11): Sistema CROSS ORDER

Desenvolvendo um EA de negociação do zero (Parte 11): Sistema CROSS ORDER

Criando um sistema cross order. Existem uma classe de ativos que dificulta muito a vida dos operadores, estes são os ativos de contrato futuro, e por que eles dificultam a vida do operador ?
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.
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
Desenvolvendo um EA de negociação do zero (Parte 09): Um salto conceitual (II)

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

Colocando o Chart Trade em uma janela flutuante. No artigo anterior criamos o sistema base para utilizar templates dentro de uma janela flutuante.
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.
Proteção contra falsos positivos do robô de negociação
Proteção contra falsos positivos do robô de negociação

Proteção contra falsos positivos do robô de negociação

A rentabilidade dos sistemas de negociação é determinada não só pela lógica e precisão da dinâmica dos instrumentos financeiros, mas também pela qualidade do algoritmo de execução dessa lógica. Os falsos positivos são uma manifestação característica da má execução da lógica fundamental do robô de negociação. Neste artigo trataremos várias opções para resolver esse problema.
Como criar e testar símbolos de ativos MOEX personalizados no MetaTrader 5
Como criar e testar símbolos de ativos MOEX personalizados no MetaTrader 5

Como criar e testar símbolos de ativos MOEX personalizados no MetaTrader 5

O artigo descreve a criação de um símbolo de ativo personalizado da bolsa de valores usando a linguagem MQL5, em particular, descreve o uso de cotações no popular site "Finam". Outra opção considerada neste artigo é a possibilidade de trabalhar com um formato arbitrário de arquivos de texto, usados na criação do símbolo personalizado. Isso permite trabalhar com quaisquer símbolos financeiros e fontes de dados, depois de criar um símbolo personalizado, podemos usar todos os recursos do Testador de Estratégia do MetaTrader 5 a fim de testarmos os algoritmos de negociação para os instrumentos da bolsa.
Contos de Robôs de Negociação: É Mais ou Menos?
Contos de Robôs de Negociação: É Mais ou Menos?

Contos de Robôs de Negociação: É Mais ou Menos?

Dois anos atrás, no artigo "A Última Cruzada" analisamos bastante um método que ainda não é amplamente utilizado na atualidade e interessante para a exibição das informações de mercado - gráficos de ponto e figura. Agora eu sugiro que você tente escrever um robô de negociação com base nos padrões detectados no gráfico ponto e figura.
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.
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.
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).
Cálculo de expressões matemáticas (Parte 1). Analisadores descendentes recursivos
Cálculo de expressões matemáticas (Parte 1). Analisadores descendentes recursivos

Cálculo de expressões matemáticas (Parte 1). Analisadores descendentes recursivos

Neste artigo são abordados os princípios básicos de análise e cálculo de expressões matemáticas, são implementados analisadores descendentes recursivos que funcionam nos modos interpretador e cálculo rápido com base numa árvore de sintaxe pré-construída.
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.
Padrões disponíveis ao negociar cestas de moedas
Padrões disponíveis ao negociar cestas de moedas

Padrões disponíveis ao negociar cestas de moedas

Seguindo o nosso artigo anterior, sobre os princípios de negociação de cestas de moeda, vamos analisar os padrões que os traders podem detectar. Também consideraremos as vantagens e desvantagens de cada padrão e forneceremos algumas recomendações sobre seu uso. Os indicadores baseados no oscilador Williams, serão utilizados como ferramentas de análise.
Aprofundando na "memória" do mercado através da diferenciação e do análise de entropia
Aprofundando na "memória" do mercado através da diferenciação e do análise de entropia

Aprofundando na "memória" do mercado através da diferenciação e do análise de entropia

O campo para aplicar a diferenciação fracionária é bastante amplo. Por exemplo, os algoritmos de aprendizado de máquina geralmente recebem uma série diferenciada na entrada. O problema é que é necessário derivar novos dados de acordo com o histórico existente, para que o modelo de aprendizado de máquina possa reconhecê-los. Este artigo discute a abordagem inicial para a diferenciação das séries temporais, além disso, é fornecido um exemplo de estratégia de negociação otimizada automaticamente baseada nas séries diferenciadas obtidas.
Como facilitar a detecção e recuperação de erros em um código Expert Advisor
Como facilitar a detecção e recuperação de erros em um código Expert Advisor

Como facilitar a detecção e recuperação de erros em um código Expert Advisor

No desenvolvimento do Expert Advisors, as questões de detecção e recuperação de erros de código são muito importantes. A peculiaridade é que um erro não detectado a tempo pode arruinar uma ideia preciosa de um sistema de trading já no estágio de seus primeiros testes. É por isso que qualquer desenvolvedor EA sensato leva esses problemas em consideração desde o início. Este artigo trata sobre algumas abordagens, ajudando nesta difícil questão.
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.
preview
Aprendendo a construindo um EA que opera de forma automática (Parte 03): Novas funções

Aprendendo a construindo um EA que opera de forma automática (Parte 03): Novas funções

Aprenda como criar um EA que opera de forma automática, isto de forma simples e o mais seguro possível. No artigo anterior começamos o desenvolvimento do sistema de ordens, para ser utilizado no EA automático, no entanto, ali montamos apenas e somente uma das funções.
preview
Abordagem de força bruta para encontrar padrões

Abordagem de força bruta para encontrar padrões

Neste artigo, procuraremos padrões no mercado, criaremos Expert Advisors com base neles e verificaremos quanto tempo esses padrões permanecem funcionais.
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.
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.
Eleve os seus sistemas de negociação lineares ao poder
Eleve os seus sistemas de negociação lineares ao poder

Eleve os seus sistemas de negociação lineares ao poder

O artigo de hoje mostra a programadores MQL5 intermediários como eles podem obter mais lucro de seus sistemas de negociação lineares (Fixed Lot) facilmente implementando a chamada técnica de exponenciação. Isto é porque o crescimento de curva de capital resultante é, em seguida, geométrico, ou exponencial, tendo a forma de uma parábola. Especificamente, implementaremos uma variante MQL5 prática do dimensionamento da posição fracionária fixa desenvolvida por Ralph Vince.
Trabalhando com modem GSM a partir de um Expert Advisor MQL5
Trabalhando com modem GSM a partir de um Expert Advisor MQL5

Trabalhando com modem GSM a partir de um Expert Advisor MQL5

Atualmente há um número razoável de meios para uma monitorização remota confortável de uma conta de negociação: terminais móveis, notificações push, trabalhando com o ICQ. Mas tudo requer conexão com a Internet. Este artigo descreve o processo de criação de um Expert Advisor que lhe permitirá ficar em contato com o terminal de negociação, mesmo quando a Internet móvel não estiver disponível, através de chamadas e mensagens de texto.
preview
Desenvolvendo um EA de negociação do zero( Parte 15): Acessando dados na WEB (I)

Desenvolvendo um EA de negociação do zero( Parte 15): Acessando dados na WEB (I)

Como ter acesso a dados na WEB dentro do MetaTrader 5. Na WEB temos diversos sites e locais onde uma grande e vasta quantidade de informações estão disponíveis e ficam acessíveis a aqueles que sabem onde procurar e como melhor utilizar estas informações.
Análise Avançada de uma Conta de Negociação
Análise Avançada de uma Conta de Negociação

Análise Avançada de uma Conta de Negociação

O artigo trata sobre sistema automático para análise de qualquer conta de negociação no terminal MetaTrader 4, são considerados os aspectos técnicos de um relatório gerado e a interpretação dos resultados obtidos. Conclusões sobre as melhorias dos fatores das negociações são mostradas após a análise detalhada do relatório. O script MQLab ™ Graphic Report é usado para análise.
Expert Advisor multiplataforma: Introdução
Expert Advisor multiplataforma: Introdução

Expert Advisor multiplataforma: Introdução

Este artigo descreve um método que permite desenvolver rápida e facilmente um Expert Advisor multiplataforma. O método proposto combina as características, comuns para ambas as versões, numa classe e desenvolve a implementação para funções incompatíveis nas classes herdadas.
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.
preview
Força bruta para encontrar padrões (Parte III): novos horizontes

Força bruta para encontrar padrões (Parte III): novos horizontes

Este artigo dá continuidade ao tópico sobre força bruta, trazendo novos recursos de análise de mercado para o algoritmo do meu programa e acelerando, assim, a velocidade da análise e a qualidade dos resultados finais, o que fornece a visão da mais alta qualidade de padrões globais dentro da estrutura desta abordagem.