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
preview
Melhore os gráficos de negociação com uma interface gráfica interativa baseada em MQL5 (Parte III): Interface de negociação simples e móvel

Melhore os gráficos de negociação com uma interface gráfica interativa baseada em MQL5 (Parte III): Interface de negociação simples e móvel

Nesta série de artigos, exploramos a integração de interfaces gráficas interativas em painéis de negociação móveis no MQL5. Na terceira parte, usamos os desenvolvimentos das partes anteriores para transformar painéis de negociação estáticos em dinâmicos.
preview
Como desenvolver um sistema de negociação baseado no indicador Williams PR

Como desenvolver um sistema de negociação baseado no indicador Williams PR

Bem-vindo a este novo artigo em nossa série sobre como aprender a desenvolver um sistema de negociação com base nos indicadores técnicos mais populares da MQL5. Neste artigo, nós aprenderemos como desenvolver um sistema de negociação pelo indicador %R de Williams.
Luta pela velocidade: QLUA vs MQL5 - por que o MQL5 é 50 a 600 vezes mais rápido?
Luta pela velocidade: QLUA vs MQL5 - por que o MQL5 é 50 a 600 vezes mais rápido?

Luta pela velocidade: QLUA vs MQL5 - por que o MQL5 é 50 a 600 vezes mais rápido?

Para comparar as linguagens MQL5 e QLUA, escrevemos vários testes que medem a velocidade de execução de operações básicas. Nos testes, usamos um computador com Windows 7 Professional 64 bits, MetaTrader 5 build 1340 e QUIK versão 7.2.0.45.
preview
Desenvolvendo um EA de negociação do zero (Parte 17): Acessando dados na WEB (III)

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

Como obter dados da WEB para serem usados em um EA. Então vamos por as mãos na massa, ou melhor começar a codificar um sistema alternativo.
preview
Integrando modelos de ML ao Testador de estratégias  (Parte 3): Gerenciamento de Arquivos CSV(II)

Integrando modelos de ML ao Testador de estratégias (Parte 3): Gerenciamento de Arquivos CSV(II)

Este artigo fornece uma visão detalhada sobre como construir uma classe em MQL5 para gerenciamento eficiente de arquivos CSV. Ele explica como os métodos de abertura, escrita, leitura e conversão de dados são implementados e como eles podem ser utilizados para armazenar e carregar dados. Além disso, o artigo também discute as limitações e considerações importantes ao usar essa classe. É uma leitura valiosa para aqueles interessados em aprender a trabalhar com arquivos CSV em MQL5.
Modelo de regressão universal para previsão de preços do mercado (Parte 2): funções de processos transitórios naturais, sociais e de origem tecnológica
Modelo de regressão universal para previsão de preços do mercado (Parte 2): funções de processos transitórios naturais, sociais e de origem tecnológica

Modelo de regressão universal para previsão de preços do mercado (Parte 2): funções de processos transitórios naturais, sociais e de origem tecnológica

Este artigo é uma continuação lógica do anterior e é escrito para destacar suas conclusões ao longo da década seguinte à sua publicação, no que diz respeito às três funções de processos dinâmicos transitórios que descrevem os padrões de mudança de preços de mercado.
preview
Estruturas em MQL5 e formas de imprimir seus dados

Estruturas em MQL5 e formas de imprimir seus dados

Neste artigo, examinaremos as estruturas MqlDateTime, MqlTick, MqlRates, MqlBookInfo e as maneiras de imprimir os dados dessas estruturas. Para imprimir todos os campos de uma estrutura, existe a função padrão ArrayPrint(), que exibe os dados contidos em um array com o tipo da estrutura processada em um formato de tabela conveniente.
O envio do sinal de trade via feed RSS
O envio do sinal de trade via feed RSS

O envio do sinal de trade via feed RSS

Essa é minha ideia sobre como enviar sinal de trade como FEEDS RSS, um modo famoso de se comunicar com os membros da sua comunidade agora mesmo.
MT4TerminalSync - Sistema para sincronização de terminais MetaTrader 4
MT4TerminalSync - Sistema para sincronização de terminais MetaTrader 4

MT4TerminalSync - Sistema para sincronização de terminais MetaTrader 4

Este artigo é dedicado ao tema "Ampliando as possibilidades de programas MQL4 utilizando funções de sistemas operacionais e outros meios de desenvolvimento do programa". O artigo descreve um exemplo de um sistema de programa que implementa a tarefa da sincronização de várias cópias de terminais com base num único molde de origem.
Princípios de transformação de tempo em negociações intraday
Princípios de transformação de tempo em negociações intraday

Princípios de transformação de tempo em negociações intraday

Este artigo contém o conceito de tempo de operação que permite receber mais até com fluxo de preço. Ele também contém o código de mudança de média móvel com auxílio para essa transformação de tempo.
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte V)
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte V)

Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte V)

Nesse artigo o autor oferece formas para melhorar os sistemas de trading descritos nos artigos anteriores. O artigo será interessante para traders que já tem alguma experiência em escrever Expert Advisors.
Verificar o Mito: O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática
Verificar o Mito: O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática

Verificar o Mito: O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática

Neste artigo vamos verificar a afirmação bem conhecida de que "O Dia de Negociação Depende de Como Foi as Operações na Sessão Asiática".
preview
Explorando a magia dos períodos de negociação com o auxílio do Frames Analyzer

Explorando a magia dos períodos de negociação com o auxílio do Frames Analyzer

Bem, o Frames Analyzer é uma ferramenta para analisar quadros de otimização durante o processo de otimização de parâmetros quer seja no testador de estratégia ou fora do mesmo. Ele permite ler arquivos MQD ou bancos de dados criados após a otimização de parâmetros e compartilhar esses resultados com outros usuários da ferramenta. Ele é projetado para auxiliar a melhorar estratégias de negociação conjuntamente. Adicionalmente, é bom mencionar que quadro de otimização é um conjunto de dados que contém informações sobre as condições de mercado em um determinado momento, como preços, volumes, indicadores técnicos, entre outros, que são usados para avaliar e comparar a eficácia de diferentes estratégias de negociação.
preview
Como desenvolver um sistema de negociação baseado no indicador Desvio Padrão

Como desenvolver um sistema de negociação baseado no indicador Desvio Padrão

Aqui está um novo artigo em nossa série sobre como desenvolver um sistema de negociação pelos indicadores técnicos mais populares na plataforma de negociação MetaTrader 5. Neste novo artigo, nós aprenderemos como desenvolver um sistema de negociação pelo indicador Desvio Padrão.
preview
Algoritmos de otimização populacional: Método Nelder-Mead (NM)

Algoritmos de otimização populacional: Método Nelder-Mead (NM)

O artigo apresenta um estudo completo do método Nelder-Mead explicando como o simplex — o espaço dos parâmetros da função — muda e se reestrutura a cada iteração para alcançar a solução ótima, e também descreve como melhorar este método.
Especulação confortável
Especulação confortável

Especulação confortável

Esse artigo descreve o método para criar uma ferramenta para a especulação (scalping) confortável. Entretanto, tal abordagem a uma abertura de negócios pode ser aplicada a qualquer negociação.
preview
Redes neurais de maneira fácil (Parte 43): Dominando habilidades sem função de recompensa

Redes neurais de maneira fácil (Parte 43): Dominando habilidades sem função de recompensa

O problema com o aprendizado por reforço é a necessidade de definir uma função de recompensa, que pode ser complexa ou difícil de formular, porém abordagens baseadas no tipo de ação e na exploração do ambiente que permitem que as habilidades sejam aprendidas sem uma função de recompensa explícita estão sendo exploradas para resolver esse problema.
preview
Modelos prontos para integrar indicadores nos Expert Advisors (Parte 3): Indicadores de tendência

Modelos prontos para integrar indicadores nos Expert Advisors (Parte 3): Indicadores de tendência

Neste artigo de referência, vamos dar uma olhada nos indicadores padrão da categoria Indicadores de tendência. Criaremos modelos prontos a serem usados em Expert Advisors, modelos esses que incluirão: declaração e configuração de parâmetros, inicialização/desinicialização de indicadores e recuperação de dados/sinais a partir de buffers de indicador em EAs.
preview
Desenvolvendo um EA de negociação do zero (Parte 20): Um novo sistema de ordens (III)

Desenvolvendo um EA de negociação do zero (Parte 20): Um novo sistema de ordens (III)

Vamos continuar a implementação do novo sistema de ordens . A criação deste sistema é algo que demanda um bom domínio do MQL5, além de entender como de fato a plataforma MetaTrader 5 funciona e os recursos que ela nos fornece.
preview
Indicadores baseados na classe CCanvas: Preenchendo canais com transparência

Indicadores baseados na classe CCanvas: Preenchendo canais com transparência

Neste artigo, abordaremos os métodos de criação de indicadores personalizados que são desenhados usando a classe CCanvas da Biblioteca Padrão no MetaTrader 5. Também discutiremos as propriedades dos gráficos para a transformação de coordenadas. Daremos especial atenção aos indicadores que preenchem a área entre duas linhas usando transparência.
Criação de um sistema de comércio automatizado
Criação de um sistema de comércio automatizado

Criação de um sistema de comércio automatizado

Você deve admitir que isso soa fascinante - tornar-se um proprietário privilegiado de um programa que pode desenvolver um sistema de comércio automatizado e lucrativo (ATC) em poucos minutos. Tudo que você precisa fazer é inserir os dados necessários e pressionar Enter. E - aqui está, pegue seu ATC testado e obtenha o retorno desejado. Onde milhares de pessoas passam milhares de horas desenvolvendo aquele ATC super original que irá "fazer chover", essas demonstrações soam, no mínimo, muito vazias. Por um lado, isso parece realmente maior que sua vida... No entanto, na minha opinião, este problema pode ser resolvido.
Gráficos na biblioteca DoEasy (Parte 83): classe abstrata de objetos gráficos padrão
Gráficos na biblioteca DoEasy (Parte 83): classe abstrata de objetos gráficos padrão

Gráficos na biblioteca DoEasy (Parte 83): classe abstrata de objetos gráficos padrão

Neste artigo, criaremos uma classe para um objeto gráfico abstrato. Este objeto será a base para a criação de classes de objetos gráficos padrão. Os objetos gráficos têm muitas propriedades, e hoje, antes de criarmos uma classe de objetos gráficos abstratos, precisamos realizar um intenso trabalho preliminar, especificando ditas propriedades nas enumerações da biblioteca.
preview
Como desenvolver um sistema de negociação baseado no indicador Fractais

Como desenvolver um sistema de negociação baseado no indicador Fractais

Aqui está um novo artigo da nossa série sobre como projetar um sistema de negociação com base nos indicadores técnicos mais populares. Nós aprenderemos um novo indicador que é o indicador Fractais e aprenderemos como desenvolver um sistema de negociação baseado nele para ser executado na plataforma MetaTrader 5.
Dez "erros" cometidos por novatos em transações comerciais?
Dez "erros" cometidos por novatos em transações comerciais?

Dez "erros" cometidos por novatos em transações comerciais?

O artigo justifica a abordagem que consiste em construir um sistema de transações como uma sequência de pedidos inter-relacionados de abertura e fechamento em relação às condições existentes: os preços e os valores atuais do lucro/prejuízo de todos os pedidos, e não apenas em relação aos "alertas" convencionais. Nós apresentamos uma realização exemplar de um sistema de transações elementar do tipo.
preview
EA MQL5 integrado ao Telegram (Parte 1): Envio de mensagens do MQL5 para o Telegram

EA MQL5 integrado ao Telegram (Parte 1): Envio de mensagens do MQL5 para o Telegram

Neste artigo, criaremos um EA na linguagem MQL5 que enviará mensagens para o Telegram por meio de um bot. Configuraremos os parâmetros necessários, incluindo o token de API do bot e o identificador do chat, e então realizaremos uma requisição HTTP POST para entregar as mensagens. Em seguida, processaremos a resposta para garantir a entrega bem-sucedida e lidaremos com possíveis erros.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 04): Previsão de um crash no mercado de ações

Ciência de Dados e Aprendizado de Máquina (Parte 04): Previsão de um crash no mercado de ações

Neste artigo, eu tentarei usar nosso modelo logístico para prever o crash do mercado de ações com base nos fundamentos da economia dos EUA, nos concentraremos nas ações do NETFLIX e da APPLE, usando os crashes anteriores do mercado de 2019 e 2020, vamos ver como nosso modelo se comportará nas atuais desgraças e tristezas.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 44): classe-coleção de objetos de buffers de indicador
Trabalhando com séries temporais na biblioteca DoEasy (Parte 44): classe-coleção de objetos de buffers de indicador

Trabalhando com séries temporais na biblioteca DoEasy (Parte 44): classe-coleção de objetos de buffers de indicador

Neste artigo, veremos a criação de uma classe-coleção de objetos de buffers de indicador, testaremos tanto as possibilidades de criar qualquer quantidade de buffers para programas-indicadores quanto as de trabalhar com eles (o número máximo de buffers que podem ser criados em indicadores MQL é de 512 buffers).
O show deve continuar, ou Mais uma vez sobre o ZigZag
O show deve continuar, ou Mais uma vez sobre o ZigZag

O show deve continuar, ou Mais uma vez sobre o ZigZag

Sobre um método óbvio, mas ainda subpadrão de composição do ZigZag e no que ele resulta: o indicador Multiframe Fractal ZigZag que representa ZigZags construídos em três maiores, em um único timeframe (TF) de trabalho. Na vez deles, os TFs maiores podem ser também não padrão e variar de M5 a MN1.
Teste visual da rentabilidade de indicadores e alertas
Teste visual da rentabilidade de indicadores e alertas

Teste visual da rentabilidade de indicadores e alertas

Normalmente, decide-se qual indicador de alerta de negociação ou apenas quais métodos do seu cálculo usar ao se testar EAs usando esses alertas. No entanto, não é sempre possível/necessário/razoável escrever um EA para cada indicador. Você pode calcular rapidamente a rentabilidade de negociação de alertas a partir de outros indicadores, usando um indicador especial que coleta seus alertas sozinho e desenha uma figura de negociação com ela. Isso pode ajudar a fazer uma estimativa visual dos resultados obtidos e escolher rapidamente os parâmetros mais adequados.
preview
Desenvolvendo um EA de negociação do zero (Parte 26): Em direção ao futuro (I)

Desenvolvendo um EA de negociação do zero (Parte 26): Em direção ao futuro (I)

Vamos levar nosso sistema de ordens para um outro patamar, mas antes temos algumas coisas a resolver. O problema é que existem questões que são dependentes de como você deseja operar e que tipo de coisa você estará fazendo no momento em que estiver operando.
Indicadores tricolores e algumas oportunidades para a simplificação máxima de indicadores de escrita
Indicadores tricolores e algumas oportunidades para a simplificação máxima de indicadores de escrita

Indicadores tricolores e algumas oportunidades para a simplificação máxima de indicadores de escrita

Neste artigo o autor se debruça sobre algumas maneiras de aumentar o valor informacional dos indicadores para negociações visuais. O autor analisa a realização de indicadores tricolores, indicadores, para descobrir quais dados de outros períodos de tempo são usados, e continua a se debruçar na biblioteca de indicadores, descrita no artigo "Cálculo efetivo da média com atraso mínimo: Uso em indicadores"
preview
Tudo o que você precisa saber sobre a estrutura de um programa MQL5

Tudo o que você precisa saber sobre a estrutura de um programa MQL5

Qualquer programa em qualquer linguagem de programação possui uma estrutura específica. Neste artigo, você aprenderá os componentes básicos da estrutura de um programa na linguagem MQL5, o que pode ser extremamente útil ao criar um sistema de negociação ou uma ferramenta de negociação para o MetaTrader 5.
preview
Melhore seus gráficos de negociação com uma GUI interativa baseada em MQL5 (Parte I): GUI móvel (I)

Melhore seus gráficos de negociação com uma GUI interativa baseada em MQL5 (Parte I): GUI móvel (I)

Libere todo o poder da representação de dados dinâmicos em suas estratégias de negociação ou utilitários com o nosso guia detalhado para desenvolver uma GUI móvel em MQL5. Mergulhe nos eventos do gráfico e saiba como projetar e implementar uma GUI móvel simples e múltipla em um único gráfico. O artigo também aborda a adição de elementos à GUI, aumentando sua funcionalidade e apelo estético.
Resultados da MetaTrader AppStore para o terceiro trimestre de 2013
Resultados da MetaTrader AppStore para o terceiro trimestre de 2013

Resultados da MetaTrader AppStore para o terceiro trimestre de 2013

Outro trimestre do ano se passou e nós decidimos resumir seus resultados para a MetaTrader AppStore - a maior loja de robôs comerciais e indicadores técnicos para plataformas MetaTrader. Mais de 500 desenvolvedores colocaram mais de 200 produtos no mercado até o final do trimestre reportado.
Gráficos na biblioteca DoEasy (Parte 76): objeto forma e temas de cores predefinidos
Gráficos na biblioteca DoEasy (Parte 76): objeto forma e temas de cores predefinidos

Gráficos na biblioteca DoEasy (Parte 76): objeto forma e temas de cores predefinidos

Neste artigo, descreveremos o conceito de criação de temas de GUI na biblioteca, criaremos um objeto forma que será descendente de um objeto da classe do elemento gráfico, prepararemos dados para criar as sombras dos objetos gráficos da biblioteca e para continuar desenvolvendo a funcionalidade no futuro.
preview
Média Móvel em MQL5 do zero: Simples e acessível

Média Móvel em MQL5 do zero: Simples e acessível

Vamos entender os princípios de cálculo das médias móveis com exemplos simples, e conhecer formas de otimizar os cálculos de indicadores e, consequentemente, das médias móveis.
preview
Simulação de mercado (Parte 06): Transferindo informações do MetraTrader 5 para o Excel

Simulação de mercado (Parte 06): Transferindo informações do MetraTrader 5 para o Excel

Muita gente, principalmente os não programadores, tem muita dificuldade em conseguir transferir informações entre o MetaTrader 5 e outros programas. Um destes programas é o Excel. Muitos usam o Excel como uma forma de gerenciar e manter o seu controle de risco. Sendo um programa muito bom e fácil de aprender a utilizar. Mesmo para quem não é programador VBA. Aqui vou mostrar uma forma de fazer a comunicação entre o MetaTrader 5 e o Excel (Método super-simples).
Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos
Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos

Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos

Neste artigo, criaremos uma funcionalidade para rastrear alguns eventos de objetos-gráficos - adição/remoção de gráficos de símbolos, de subjanelas do gráfico, bem como adição/exclusão/mudança de indicadores presentes em janelas de gráficos.
Gráficos na biblioteca DoEasy (Parte 80): classe do objeto quadro de animação geométrica
Gráficos na biblioteca DoEasy (Parte 80): classe do objeto quadro de animação geométrica

Gráficos na biblioteca DoEasy (Parte 80): classe do objeto quadro de animação geométrica

Neste artigo, otimizaremos o código das classes vistas nos artigos anteriores e criaremos uma classe para o objeto do quadro de animação geométrica que nos permite desenhar polígonos regulares com um determinado número de vértices.
Consideração de pedidos em um programa amplo
Consideração de pedidos em um programa amplo

Consideração de pedidos em um programa amplo

São discutidos princípios gerais de consideração de pedidos em um programa amplo e complexo.