Artigos sobre programação na linguagem 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
Como escolher o Expert Advisor certo no Mercado MetaTrader?

Como escolher o Expert Advisor certo no Mercado MetaTrader?

Neste artigo veremos as coisas às quais você deve prestar atenção ao comprar uma EA em primeiro lugar. Também analisaremos formas de aumentar os lucros e, o mais importante, como gastar o dinheiro sabiamente e obter lucro. Além disso, após a leitura, você perceberá que é possível ganhar dinheiro mesmo com produtos simples e gratuitos.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 41): exemplo de indicador multissímbolo multiperíodo
Trabalhando com séries temporais na biblioteca DoEasy (Parte 41): exemplo de indicador multissímbolo multiperíodo

Trabalhando com séries temporais na biblioteca DoEasy (Parte 41): exemplo de indicador multissímbolo multiperíodo

Neste artigo, veremos um exemplo de como criar um indicador multissímbolo multiperíodo usando as classes das séries temporais da biblioteca DoEasy que exibe numa subjanela um gráfico mostrando o par de moedas selecionado no período gráfico desejado na forma de velas japonesas. Vamos modificar um pouco as classes da biblioteca e criar um arquivo separado para armazenar enumerações dos parâmetros de entrada dos programas e para a escolher da linguagem de compilação.
preview
Aprenda a operar a Fair Value Gap (FVG)/Imbalances passo a passo: Uma abordagem do conceito de Smart Money

Aprenda a operar a Fair Value Gap (FVG)/Imbalances passo a passo: Uma abordagem do conceito de Smart Money

Um guia passo a passo para criar e implementar um algoritmo de negociação automatizado em MQL5 com base na estratégia de Fair Value Gap (FVG). Um tutorial detalhado sobre como criar um expert advisor que pode ser útil tanto para iniciantes quanto para traders experientes.
Como criar rapidamente um Consultor Especialista para o Campeonato de Negociações Automáticas 2010
Como criar rapidamente um Consultor Especialista para o Campeonato de Negociações Automáticas 2010

Como criar rapidamente um Consultor Especialista para o Campeonato de Negociações Automáticas 2010

A fim de desenvolver um especialista para participar no Automated Trading Championship 2010 (Campeonato de Negociações Automáticas 2010), vamos usar um modelo de um conselheiro especialista pronto. Até mesmo um programador MQL5 iniciante será capaz desta tarefa, porque para suas estratégias as classes básicas, funções e modelos já estão desenvolvidos. é suficiente escrever uma quantidade mínima de código para implementar sua ideia de negociação.
Desenvolvendo um algoritmo auto-adaptável (Parte II): melhorando a eficiência
Desenvolvendo um algoritmo auto-adaptável (Parte II): melhorando a eficiência

Desenvolvendo um algoritmo auto-adaptável (Parte II): melhorando a eficiência

Neste artigo, continuarei meu tópico, mas começarei tornando o algoritmo desenvolvido anteriormente mais flexível. Ele se tornou mais estável com o aumento no número de candles na janela de análise ou com o aumento no valor limite da porcentagem a nível de preponderância de candles decrescentes ou crescentes. Tivemos que fazer concessões e definir um tamanho de amostra maior para análise ou uma porcentagem maior de preponderância de candles prevalecentes.
Sinais de negociação no MetaTrader 5: uma melhor alternativa às contas PAMM!
Sinais de negociação no MetaTrader 5: uma melhor alternativa às contas PAMM!

Sinais de negociação no MetaTrader 5: uma melhor alternativa às contas PAMM!

Temos o prazer de anunciar que o MetaTrader 5 agora dispõe de Sinais de negociação, proporcionando assim uma ferramenta poderosa aos investidores e gerentes. Enquanto você estiver seguindo as negociações de um trader bem sucedido, o terminal irá reproduzi-las automaticamente em sua conta!
Discretização da série de preços, componente aleatória e "ruído"
Discretização da série de preços, componente aleatória e "ruído"

Discretização da série de preços, componente aleatória e "ruído"

Estamos acostumados a analisar o mercado usando candles ou barras que "fatiam" a série de preços em intervalos regulares. Mas até que ponto essa forma de discretização distorce a estrutura real dos movimentos de mercado? Discretizar um sinal de áudio em intervalos regulares é uma solução aceitável, porque o sinal de áudio é uma função que muda com o tempo. O sinal em si é uma amplitude que depende do tempo e essa propriedade nele é fundamental.
preview
Integre Seu Próprio LLM no EA (Parte 4): Treinando Seu Próprio LLM com GPU

Integre Seu Próprio LLM no EA (Parte 4): Treinando Seu Próprio LLM com GPU

Com o rápido desenvolvimento da inteligência artificial hoje em dia, os modelos de linguagem (LLMs) são uma parte importante da IA, então devemos pensar em como integrar LLMs poderosos ao nosso trading algorítmico. Para a maioria das pessoas, é difícil ajustar esses modelos poderosos de acordo com suas necessidades, implantá-los localmente e depois aplicá-los ao trading algorítmico. Esta série de artigos adotará uma abordagem passo a passo para alcançar esse objetivo.
preview
Redes neurais de Maneira Fácil (Parte 6): Experimentos com a taxa de aprendizado da rede neural

Redes neurais de Maneira Fácil (Parte 6): Experimentos com a taxa de aprendizado da rede neural

Anteriormente, nós consideramos vários tipos de redes neurais junto com suas implementações. Em todos os casos, as redes neurais foram treinadas usando o método gradiente descendente, para o qual nós precisamos escolher uma taxa de aprendizado. Neste artigo, eu quero mostrar a importância de uma taxa corretamente selecionada e o seu impacto no treinamento da rede neural, usando exemplos.
preview
Trabalho com datas e horas no MQL5

Trabalho com datas e horas no MQL5

É muito importante que os operadores e desenvolvedores de ferramentas de negociação entendam como manusear datas e horas de forma adequada e eficiente. Neste artigo, mostrarei como podemos trabalhar com datas e horas ao criar ferramentas de negociação eficientes.
Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)
Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)

Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)

O desenvolvimento da biblioteca para a criação de interfaces gráficas continua. Os controles Horário e a Lista de Caixas de Seleção serão discutidos neste momento. Além disso, agora a classe CTable fornece a capacidade de classificar os dados em ordem crescente ou decrescente.
Interfaces Gráficas VII: O Controle Guias (Capítulo 2)
Interfaces Gráficas VII: O Controle Guias (Capítulo 2)

Interfaces Gráficas VII: O Controle Guias (Capítulo 2)

Foi introduzido no primeiro capítulo da sétima parte três classes de controles para a criação de tabelas: Tabela com o rótulo de texto (CLabelsTable), tabela com a caixa de edição (CTable) e a tabela renderizada (CCanvasTable). Neste artigo (capítulo dois) nós vamos introduzir o controle Guias.
Teste de padrões que surgem ao negociar cestas de pares de moedas. Parte I
Teste de padrões que surgem ao negociar cestas de pares de moedas. Parte I

Teste de padrões que surgem ao negociar cestas de pares de moedas. Parte I

Nós começamos a testar os padrões e tentamos os métodos descritos nos artigos sobre a negociação de cestas de pares de moedas. Veja como os padrões de rompimento dos níveis de sobrevenda/sobrecompra são aplicados na prática.
preview
Desenvolvendo um EA de negociação do zero (Parte 16): Acessando dados na WEB (II)

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

Como levar os dados da WEB para dentro de um EA . O caminho para fazer isto não é tão obvio, ou melhor dizendo, tão simples a ponto de você conseguir fazer, sem de fato conhecer e entender todos os recursos que estão presentes no MetaTrader 5.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 01): Regressão Linear

Ciência de Dados e Aprendizado de Máquina (Parte 01): Regressão Linear

É hora de nós, como traders, treinarmos nossos sistemas e a nós mesmos para tomar decisões com base no que o número diz. Não aos nossos olhos, e o que nossas entranhas nos fazem acreditar, é para onde o mundo está indo, então vamos nos mover perpendicularmente à direção da onda.
Interfaces Gráficas V: O Controle Combobox (Capítulo 3)
Interfaces Gráficas V: O Controle Combobox (Capítulo 3)

Interfaces Gráficas V: O Controle Combobox (Capítulo 3)

Nos dois primeiros capítulos da quinta parte da série, nós desenvolvemos as classes para criar uma barra de rolagem e uma lista. Neste capítulo, nós falaremos sobre a criação de uma classe para o controle combobox. Este é também um controle composto que contém, entre outros, os elementos considerados nos capítulos anteriores desta quinta parte.
Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)
Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)

Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)

Nesta atualização da biblioteca, o controle da tabela (a classe CTable) será complementado com novas opções. A gama de controles nas células da tabela foi expandida, desta vez adicionando as caixas de edição de texto e as caixas de combinação. Além disso, esta atualização também apresenta a capacidade de redimensionar a janela de uma aplicação MQL em tempo de execução.
Análise técnica: como analisamos?
Análise técnica: como analisamos?

Análise técnica: como analisamos?

Este artigo descreve brevemente a opinião do autor no redesenho de indicadores, indicadores com múltiplos quadros de tempo e exibição de cotações com candlesticks japoneses. O artigo não contém elementos específicos de programação e possui um caráter geral.
Usando Pseudo-modelos como Alternativa para Modelos C++
Usando Pseudo-modelos como Alternativa para Modelos C++

Usando Pseudo-modelos como Alternativa para Modelos C++

O artigo descreve uma forma de programação sem usar templates, mas mantendo o estilo de programação inerente a eles. Ele nos diz sobre a implementação de templares usando métodos personalizados e possui um script pronto para uso anexo para criação de código com base de templates especificados.
Análise técnica: O que analisamos?
Análise técnica: O que analisamos?

Análise técnica: O que analisamos?

Este artigo tenta analisar diversas peculiaridades da representação de cotações disponível no terminal cliente do MetaTrader. O artigo é geral, ele não diz respeito à programação.
Utilitário de seleção e navegação em MQL5 e MQL4: incremetando abas de "lembretes" e salvando objetos gráficos
Utilitário de seleção e navegação em MQL5 e MQL4: incremetando abas de "lembretes" e salvando objetos gráficos

Utilitário de seleção e navegação em MQL5 e MQL4: incremetando abas de "lembretes" e salvando objetos gráficos

Neste artigo, vamos expandir os recursos criados em publicação anterior, acrescentando abas para selecionar os símbolos que precisamos. Também aprenderemos como salvar objetos gráficos que criamos na plataforma, referente a símbolos específicos e assim, se necessitarmos, não tenhamos que criá-los novamente. E ainda, vamos descobrir como trabalhar apenas com símbolos que foram selecionados preliminarmente usando um site específico.
Monitoramento de sinais de negociação multimoeda (Parte 5): Sinais compostos
Monitoramento de sinais de negociação multimoeda (Parte 5): Sinais compostos

Monitoramento de sinais de negociação multimoeda (Parte 5): Sinais compostos

No quinto artigo relacionado à criação de um monitor de sinal de negociação, nós consideraremos os sinais compostos e implementaremos a funcionalidade necessária. Em versões anteriores, nós usamos os sinais simples, como o RSI, WPR e CCI, e também introduzimos a possibilidade de usar os indicadores personalizados.
Estudando a Classe CCanvas. Anti-aliasing e Sombras
Estudando a Classe CCanvas. Anti-aliasing e Sombras

Estudando a Classe CCanvas. Anti-aliasing e Sombras

Um algoritmo anti-aliasing da classe CCanvas é a base para todas as construções onde o antisserrilhamento está sendo usado. O artigo contém informações sobre como este algoritmo opera e fornece exemplos relevantes de visualização. Ele também abrange as sombras desenhadas dos objetos gráficos e tem um algoritmo detalhadamente desenvolvido para desenhar sombras nas canvas. A análise numérica da biblioteca ALGLIB é usada para os cálculos.
Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem
Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem

Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem

O artigo aborda os princípios de análise e cálculo de expressões matemáticas com ajuda de analisadores baseados na precedência de operadores. Implementa analisadores Pratt e estação de triagem, geração de bytecode cálculos com base nele. Mostra o uso de indicadores como funções em expressões e como aplicá-los ao configurar sinais de negociação em EAs.
Gráficos na biblioteca DoEasy (Parte 88): coleção de objetos gráficos, matriz dinâmica bidimensional para armazenar propriedades de objetos que mudam dinamicamente
Gráficos na biblioteca DoEasy (Parte 88): coleção de objetos gráficos, matriz dinâmica bidimensional para armazenar propriedades de objetos que mudam dinamicamente

Gráficos na biblioteca DoEasy (Parte 88): coleção de objetos gráficos, matriz dinâmica bidimensional para armazenar propriedades de objetos que mudam dinamicamente

Neste artigo, criaremos uma classe de matriz multidimensional dinâmica com a capacidade de alterar a quantidade de dados em qualquer dimensão. Com base na classe criada, criaremos uma matriz dinâmica bidimensional para armazenar algumas propriedades alteradas dinamicamente de objetos gráficos.
preview
Indicadores múltiplos em um gráfico (Parte 06): Transformando o MetaTrader 5 em um sistema RAD (II)

Indicadores múltiplos em um gráfico (Parte 06): Transformando o MetaTrader 5 em um sistema RAD (II)

No artigo anterior mostrei como criar um Chart Trade usando os objetos do MetaTrader 5, transformando a plataforma em um sistema RAD, o sistema funciona muito bem, e acredito que muitos tenham pensado em criar uma biblioteca para ter cada vez mais funcionalidade no sistema proposto, e assim conseguir desenvolver um EA que seja mais intuitivo ao mesmo tempo que tenha uma interface mais agradável e simples de usar.
preview
Indicadores múltiplos em um gráfico (Parte 04): Iniciando pelo EA

Indicadores múltiplos em um gráfico (Parte 04): Iniciando pelo EA

Em artigos anteriores, eu expliquei como criar um indicador com múltiplas sub janela, mas apesar de ser interessante de se fazer, quando usamos um indicador personalizado. Aqui vamos entender como adicionar múltiplas janelas em um EA.
Interfaces Gráficas IX: O Controle Seletor de Cores (Capítulo 1)
Interfaces Gráficas IX: O Controle Seletor de Cores (Capítulo 1)

Interfaces Gráficas IX: O Controle Seletor de Cores (Capítulo 1)

Com este artigo, nós começamos o capítulo nove da série de artigos dedicados à criação das interfaces gráficas nos terminais de negociação MetaTrader. Ele consiste de dois capítulos onde são apresentados os novos elementos do controle da interface, tais como o seletor de cores, o botão do seletor de cores, a barra de progresso e o gráfico de linha.
Use canais e bate-papos em grupo da MQL5.community
Use canais e bate-papos em grupo da MQL5.community

Use canais e bate-papos em grupo da MQL5.community

O site MQL5.com reúne traders de todo o mundo que publicam artigos, códigos e produtos gratuitos no Mercado, desenvolvem projetos para outros usuários no serviço Freelance e copiam sinais de negociação. Você pode se comunicar com eles no fórum, nos bate-papos para traders e nos canais MetaTrader.
preview
Redes Neurais de Maneira Fácil (Parte 9): Documentação do trabalho

Redes Neurais de Maneira Fácil (Parte 9): Documentação do trabalho

Nós já percorremos um longo caminho e o código em nossa biblioteca está se tornando cada vez maior. Isso torna difícil controlar todas as conexões e dependências. Portanto, eu sugiro criar uma documentação para o código criado anteriormente e mantê-lo atualizado a cada nova etapa. A documentação devidamente preparada nos ajudará a ver a integridade do nosso trabalho.
preview
Guia Prático MQL5 — Serviços

Guia Prático MQL5 — Serviços

O artigo descreve os recursos versáteis dos serviços — programas em MQL5 que não necessitam de gráficos para serem anexados. Eu ambém destacarei as diferenças dos serviços de outros programas em MQL5 e enfatizarei as nuances do trabalho do desenvolvedor com os serviços. Como exemplos, são oferecidas ao leitor várias tarefas que abrangem uma ampla gama de funcionalidades que podem ser implementadas como um serviço.
Jeremy Scott - Vendedor de sucesso no MQL5 Market
Jeremy Scott - Vendedor de sucesso no MQL5 Market

Jeremy Scott - Vendedor de sucesso no MQL5 Market

Jeremy Scott, que é melhor conhecido pelo apelido de Johnnypasado na comunidade MQL5.community, tornou-se famoso oferecendo produtos em nosso serviço do MQL5 Market. Jeremy já ganhou vários milhares de dólares no mercado e esse não é o limite. Decidimos olhar mais de perto o futuro milionário e recebermos alguns conselhos para vendedores do MQL5 Market.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 23): FOREX (IV)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 23): FOREX (IV)

A criação, agora, é efetuada no mesmo ponto que fazemos a conversão dos tickets em barras. Então se algo vim a dar errado durante a conversão, iremos logo notar o erro. Pois o mesmo código que lança as barras de 1 minuto no gráfico, quando fazemos um avanço rápido, também é utilizando pelo sistema de posicionamento, e também é usado para lançar as barras durante o avanço normal. Ou seja, agora o código responsável por tal tarefa, não esta mais sendo duplicado em ponto algum. Desta forma, já temos um sistema bem mais adequado, tanto para manutenção, quanto para melhorias.
Swaps (Parte I): bloqueio e posições sintéticas
Swaps (Parte I): bloqueio e posições sintéticas

Swaps (Parte I): bloqueio e posições sintéticas

Neste artigo, tentarei expandir o conceito clássico de métodos de negociação de swap, e também explicarei porque cheguei à conclusão de que ele, em minha opinião, merece atenção especial e vale absolutamente a pena ser estudado.
preview
Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 14): Automação (VI)

Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 14): Automação (VI)

Aqui vamos realmente colocar todo o conhecimento desta sequencia em prática. Vamos finalmente construir um sistema 100% automático e funcional. Mas para fazer isto, você terá que aprender uma última coisa.
preview
Receitas MQL5: Calendário Econômico

Receitas MQL5: Calendário Econômico

Este artigo se trata das funcionalidades programáticas usadas ao trabalhar usando o calendário econômico. Para implementá-las, criaremos uma classe para facilitar o acesso às propriedades do calendário e receber valores de eventos. Como exemplo prático, programaremos um indicador que utiliza dados da CFTC sobre as posições líquidas de especuladores.
Como desenvolvemos o serviço de Sinais MetaTrader e Negociação Social
Como desenvolvemos o serviço de Sinais MetaTrader e Negociação Social

Como desenvolvemos o serviço de Sinais MetaTrader e Negociação Social

Continuamos a melhorar o serviço de Sinais, melhorando os mecanismos, adicionando novas funções e corrigindo falhas. Os Serviço de Sinais MetaTrader de 2012 e o atual Serviço de Sinais MetaTrader são dois serviços completamente diferentes. Atualmente estamos implementando um serviço de Hospedagem Virtual de Nuvens (Virtual Hosting Cloud) que consiste numa rede de servidores para suportar versões específicas do terminal de cliente MetaTrader.
Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)
Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)

Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)

Neste artigo, nós vamos criar o elemento linha de separação. Será possível usá-lo não só como um elemento de interface independentes, mas também como uma parte de diversos outros elementos. Depois disso, nós teremos todos os recursos necessários para o desenvolvimento da classe do menu de contexto, que também serão considerados neste artigo em detalhe. Acrescentando, nós vamos apresentar todos os incrementos necessários à classe, que é a base para armazenar os ponteiros para todos os elementos da interface gráfica da aplicação.
Interfaces Gráficas V: O Controle Lista (Capítulo 2)
Interfaces Gráficas V: O Controle Lista (Capítulo 2)

Interfaces Gráficas V: O Controle Lista (Capítulo 2)

No capítulo anterior, nós escrevemos as classes para criar a barra de rolagem vertical e horizontal. Neste capítulo, nós vamos implementá-las. Nós vamos escrever uma classe para criar o controle lista, sendo que a barra de rolagem vertical será sua parte integrante.
preview
Algoritmos de otimização populacionais: Otimizador lobo-cinzento (GWO)

Algoritmos de otimização populacionais: Otimizador lobo-cinzento (GWO)

Vamos falar sobre um dos algoritmos de otimização mais recentes e modernos: o "Packs of grey wolves" (manada de lobos-cinzentos). Devido ao seu comportamento distinto em funções de teste, este algoritmo se torna um dos mais interessantes em comparação com outros considerados anteriormente. Ele é um dos principais candidatos para treinamento de redes neurais e para otimizar funções suaves com muitas variáveis.