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
Depuração dos programas do MQL5
Depuração dos programas do MQL5

Depuração dos programas do MQL5

Este artigo é destinado principalmente aos programadores que já tenham aprendido a linguagem, mas ainda não tenham dominado completamente o desenvolvimento do programa. Ele revela algumas técnicas de depuração e apresenta uma experiência combinada do autor e muitos outros programadores.
Um exemplo de um Sistema de Comércio Baseado no indicador Heiken-Ashi
Um exemplo de um Sistema de Comércio Baseado no indicador Heiken-Ashi

Um exemplo de um Sistema de Comércio Baseado no indicador Heiken-Ashi

Neste artigo veremos a questão de uso de um indicador Heiken-Ashi na negociação. Com base neste indicador, um simples sistema de negócio é considerado e um Expert Advisor MQL5 é escrito. As operações de negócio são implementadas nas bases de classes da biblioteca de classe padrão. São fornecidos neste artigo os resultados de teste da estratégia de negócio revisada que são baseados no histórico e obtidos usando o strategy tester do MetaTrader 5 embutido.
Raios Elder (Bulls Power e Bears Power)
Raios Elder (Bulls Power e Bears Power)

Raios Elder (Bulls Power e Bears Power)

Sistema de negociação Raios Elder (em inglês, 'Elder-ray') baseado nos indicadores Bulls Power, Bears Power e Moving Average (EMA — MME, média móvel exponencial). Este sistema foi descrito por Alexander Elder em seu livro "Como se transformar em um operador e investidor de sucesso" (na versão original em inglês, 'Trading for a Living').
R quadrado como uma estimativa da qualidade da curva de saldo da estratégia
R quadrado como uma estimativa da qualidade da curva de saldo da estratégia

R quadrado como uma estimativa da qualidade da curva de saldo da estratégia

Este artigo descreve a construção do R² - critério de otimização personalizado. Esse critério pode ser usado para estimar a qualidade da curva de saldo de uma estratégia e para selecionar as estratégias mais consistentes e lucrativas. O trabalho discute os princípios de sua construção e os métodos estatísticos utilizados na estimativa de propriedades e qualidade desta métrica.
Limitações e verificações em Expert Advisors
Limitações e verificações em Expert Advisors

Limitações e verificações em Expert Advisors

É permitido negociar este símbolo na segunda? Há dinheiro suficiente para abrir posição? Qual o tamanho da perda se o Stop Loss acionar? Como limitar o número de ordens pendentes? A operação de negócio foi executada na barra atual ou na anterior? Se um robô de negócio não puder realizar este tipo de verificações, então qualquer estratégia de negócio pode se tornar uma de perda. Este artigo mostra os exemplos de verificações que são úteis em qualquer Expert Advisor.
Busca automática de divergências e convergência
Busca automática de divergências e convergência

Busca automática de divergências e convergência

O artigo examina todos os tipos de divergência: oculta, estendida, tripla, convergência, de classes A, B e C, etc. É criado um indicador universal para elas serem buscadas e exibidas num gráfico.
Martingale como base para estratégia de negociação a longo prazo
Martingale como base para estratégia de negociação a longo prazo

Martingale como base para estratégia de negociação a longo prazo

Neste artigo vamos considerar em detalhes o sistema martingale, vamos analisar se este sistema pode ser aplicado na negociação e como usá-lo para minimizar os riscos. A principal desvantagem deste sistema é a probabilidade de perder todo o seu depósito, este fato deve ser levado em conta, caso decida negociar usando a técnica martingale.
Os projetos permitem que criar robôs de negociação lucrativos!  Mas não é exatamente isso
Os projetos permitem que criar robôs de negociação lucrativos!  Mas não é exatamente isso

Os projetos permitem que criar robôs de negociação lucrativos! Mas não é exatamente isso

Um programa grande começa com um arquivo pequeno que, por sua vez, gradualmente se torna maior, sendo preenchido com conjuntos de funções e objetos. A maioria dos desenvolvedores de robôs lida com esse problema por meio de arquivos de inclusão. Mas, o melhor é começar imediatamente a escrever os programas de negociação em projetos, pois isso é benéfico em todos os aspectos.
Guia para testes e otimização de Expert Advisors no MQL5
Guia para testes e otimização de Expert Advisors no MQL5

Guia para testes e otimização de Expert Advisors no MQL5

Este artigo explica o processo passo-a-passo de identificação e solução de erros de código, assim como os passos para testar e otimizar os parâmetros de entrada do Expert Advisor. Você aprenderá como utilizar o Strategy Tester do terminal do cliente MetaTrader 5 para descobrir o melhor símbolo e definição dos parâmetros de entrada para seu Expert Advisor.
Troca de dados entre indicadores: é fácil!
Troca de dados entre indicadores: é fácil!

Troca de dados entre indicadores: é fácil!

Queremos criar um ambiente que fornecesse acesso aos dados de indicadores anexos ao gráfico e que teria as seguintes propriedades: ausência de cópia de dados; modificação mínima do código dos métodos disponíveis, se precisarmos usá-los; preferencialmente código MQL (claro, temos que usar o DLL, mas usaremos apenas algumas strings do código C++). O artigo descreve um método fácil para desenvolver um ambiente de programa para o terminal MetaTrader, que poderia fornecer meios para acessar os buffers dos indicadores de outros programas MQL.
Criação e teste de símbolos personalizados na MetaTrader 5
Criação e teste de símbolos personalizados na MetaTrader 5

Criação e teste de símbolos personalizados na MetaTrader 5

A criação de símbolos personalizados empurra os limites no desenvolvimento de sistemas de negociação e análise do mercado financeiro. Agora, os traders são capazes de desenhar gráficos e testar estratégias de negociação em um número ilimitado de instrumentos financeiros.
Gap - estratégia rentável ou 50/50?
Gap - estratégia rentável ou 50/50?

Gap - estratégia rentável ou 50/50?

Esse artigo considera o fenômeno gap - situação em que a diferença entre o preço de fechamento do timeframe anterior e o preço de abertura do próximo é significativa. Adicionalmente, toca a questão da direção tomada pela barra diária. Aqui é implementada a DLL de sistema da função GetOpenFileName.
Algoritmos genéticos - é fácil!
Algoritmos genéticos - é fácil!

Algoritmos genéticos - é fácil!

Neste artigo o autor fala sobre cálculos evolutivos com o uso de um algoritmo genético desenvolvido pessoalmente. Ele demonstra o funcionamento do algoritmo, usando exemplos e fornece recomendações práticas para seu uso.
Caminhe em novos trilhos: Personalize indicadores no MQL5
Caminhe em novos trilhos: Personalize indicadores no MQL5

Caminhe em novos trilhos: Personalize indicadores no MQL5

Vou agora listar todas as possibilidades novas e recursos do novo terminal e linguagem. Elas são várias, e algumas novidades valem a discussão em um artigo separado. Além disso, não há códigos aqui escritos com programação orientada ao objeto, é um tópico muito importante para ser simplesmente mencionado em um contexto como vantagens adicionais para os desenvolvedores. Neste artigo vamos considerar os indicadores, sua estrutura, desenho, tipos e seus detalhes de programação em comparação com o MQL4. Espero que este artigo seja útil tanto para desenvolvedores iniciantes quanto para experientes, talvez alguns deles encontrem algo novo.
Assistente MQL5: como criar um módulo de sinais de comércio
Assistente MQL5: como criar um módulo de sinais de comércio

Assistente MQL5: como criar um módulo de sinais de comércio

O artigo discute como escrever sua própria classe de sinais de comércio com a implementação de sinais no cruzamento do preço e da média móvel, e como incluí-lo ao gerador de estratégias de comércio do Assistente MQL5, bem como descreve a estrutura e o formato da descrição da classe gerada para o Assistente MQL5.
Testador de estratégia personalizada com base em cálculos matemáticos rápido
Testador de estratégia personalizada com base em cálculos matemáticos rápido

Testador de estratégia personalizada com base em cálculos matemáticos rápido

O artigo descreve como criar um testador de estratégias personalizado e um analisador de corridas de otimização próprio. Depois de lê-lo, você vai entender como funciona o modo de cálculos matemáticos e o mecanismo de quadros, como preparar e fazer upload de seus próprios dados para cálculos e usar algoritmos eficientes para comprimi-los. Além disso, este artigo será de interesse para quem deseje saber maneiras de armazenar informações personalizadas num EA.
Florestas Aleatórias na Previsão das Tendências
Florestas Aleatórias na Previsão das Tendências

Florestas Aleatórias na Previsão das Tendências

Este artigo considera o uso do pacote Rattle na busca automática de padrões para prever as posições compradas ou vendidas dos pares de moedas no Forex. Este artigo pode ser útil tanto para novatos quanto para profissionais experientes.
EA com interface gráfica: Fornecendo funcionalidade (Parte II)
EA com interface gráfica: Fornecendo funcionalidade (Parte II)

EA com interface gráfica: Fornecendo funcionalidade (Parte II)

Esta é a segunda parte do artigo sobre criação de um EA multissímbolo de sinal para negociação manual. Nós já criamos uma interface gráfica. Neste artigo, vamos falar sobre como vinculá-la à funcionalidade do programa.
Os 100 melhores passes de otimização (parte 1). Desenvolvimento de um analisador de otimizações
Os 100 melhores passes de otimização (parte 1). Desenvolvimento de um analisador de otimizações

Os 100 melhores passes de otimização (parte 1). Desenvolvimento de um analisador de otimizações

O artigo trata do desenvolvimento de um aplicativo para selecionar os melhores passes de otimização usando várias opções possíveis. O aplicativo é capaz de ordenar os resultados de otimização por diversos fatores. Os passes de cada otimização são sempre gravadas em um banco de dados, portanto, você sempre poderá selecionar os novos parâmetros do robô sem realizar a re-otimização. Além disso, você pode ver todos os passes de otimização em um único gráfico, calcular a métrica do VaR paramétrico e construir o gráfico de distribuição normal de passes e resultados da negociação de um determinado conjunto de métricas. Além disso, os gráficos de algumas taxas calculadas são construídos dinamicamente, começando com o início da otimização (ou de uma data selecionada para outra data selecionada).
MQL para "Principiantes": como projetar e construir classes de objeto
MQL para "Principiantes": como projetar e construir classes de objeto

MQL para "Principiantes": como projetar e construir classes de objeto

Criando um programa de amostra de design visual, demonstramos como projetar e construir classes no MQL5. O artigo é escrito para programadores iniciantes, que estejam trabalhando em aplicações MT5. Propomos uma tecnologia simples e de fácil compreensão para criação de classes, sem a necessidade de se aprofundar na teoria de programação orientada a objeto.
Indicador para representação de gráfico Kagi
Indicador para representação de gráfico Kagi

Indicador para representação de gráfico Kagi

O artigo propõe o indicador de gráfico Kagi com várias opções e funções adicionais. Além disso, o princípio de tracejar gráficos e seus recursos de implementação MQL5 são considerados. Os casos mais populares de sua implementação em negociação são exibidos - estratégia de troca de Yin/Yang, afastando para longe a partir da linha de evolução gráfica e aumentando sistematicamente "ombros" e diminuindo "cinturas".
preview
Distribuição Estatística no MQL5 - tirando o melhor de R e o fazendo mais rápido

Distribuição Estatística no MQL5 - tirando o melhor de R e o fazendo mais rápido

As funções para trabalhar com as distribuições estatísticas básicas implementadas na linguagem R são consideradas. as distribuições de Cauchy, Weibull, normal, log-normal, logistic, exponential, uniform, gamma, beta central e não-central, qui-quadrado, F de Fisher-Snedecor, t de Student, assim como as distribuições binomiais discretas e binomiais negativas, distribuições geométricas, hipergeométricas e de Poisson. Existem funções para o cálculo de momentos teóricos de distribuições, que permitem avaliar o grau de conformidade da distribuição real com o modelado.
Programamos um EA multiplataforma para definir o Stop-Loss e o Take-Profit de acordo com nossos riscos
Programamos um EA multiplataforma para definir o Stop-Loss e o Take-Profit de acordo com nossos riscos

Programamos um EA multiplataforma para definir o Stop-Loss e o Take-Profit de acordo com nossos riscos

Neste artigo, criaremos um EA que nos permitirá automatizar o processo para determinar o lote com o qual precisamos entrar no mercado de acordo com nossos riscos. Além disso, este EA permitirá que definamos automaticamente o take-profit com uma proporção em relação ao stop-loss, para cumprir a razão de 3 para 1, 4 para 1 ou qualquer outra que escolhermos.
Combinando uma estratégia de tendência com outra de fase de correção
Combinando uma estratégia de tendência com outra de fase de correção

Combinando uma estratégia de tendência com outra de fase de correção

Existem diversas estratégias de negociação - algumas procuram movimentos direcionais e operam com a tendência, já outras identificam faixas de preço e negociam dentro desses corredores. Neste ponto, surge a pergunta: é possível combinar as duas abordagens para aumentar a rentabilidade da negociação?
Os Fundamentos da programação orientada a objetos
Os Fundamentos da programação orientada a objetos

Os Fundamentos da programação orientada a objetos

Você não precisa saber o que são polimorfismo, encapsulação, etc. tudo sobre o uso da programação orientada a objeto (OOP)... você pode simplesmente usar estes recursos. Este artigo cobre o básico de OOP com exemplos práticos.
Como, na MetaTrader 5, desenvolver e depurar rapidamente sua estratégia de negociação
Como, na MetaTrader 5, desenvolver e depurar rapidamente sua estratégia de negociação

Como, na MetaTrader 5, desenvolver e depurar rapidamente sua estratégia de negociação

Os sistemas automáticos de scalping são considerados não só o auge do trading algorítmico, mas também os mais difíceis na escrita do código. Neste artigo, nós mostraremos como -usando os recursos embutidos de depuração e teste visual- construir estratégias baseadas na análise de ticks entrantes. O desenvolvimento de regras de entrada e saída muitas vezes exige anos de negociação manual. Mas com a MetaTrader 5 você pode rapidamente verificar qualquer estratégia semelhante no histórico real.
Aplicação prática das correlações na negociação
Aplicação prática das correlações na negociação

Aplicação prática das correlações na negociação

Neste artigo, nós analisaremos o conceito de correlação entre variáveis, bem como os métodos para o cálculo dos coeficientes de correlação e seu uso prático na negociação. A Correlação é uma relação estatística entre duas ou mais variáveis aleatórias (ou quantidades que podem ser consideradas aleatórias com algum grau aceitável de precisão). Mudanças em uma ou mais variáveis levam a mudanças sistemáticas em outras variáveis relacionadas.
Criando interfaces gráficas baseadas no .Net Framework e C# (Parte 2): elementos gráficos adicionais
Criando interfaces gráficas baseadas no .Net Framework e C# (Parte 2): elementos gráficos adicionais

Criando interfaces gráficas baseadas no .Net Framework e C# (Parte 2): elementos gráficos adicionais

O artigo é uma continuação lógica da publicação anterior "Criando interfaces gráficas para EAs e indicadores baseados no .Net Framework e C#" e introduz os leitores a novos elementos gráficos para criar interfaces gráficas.
Como Foi Desenvolvido o Serviço de Sinais MetaTrader e Negociação social
Como Foi Desenvolvido o Serviço de Sinais MetaTrader e Negociação social

Como Foi Desenvolvido o Serviço de Sinais MetaTrader e Negociação social

Continuamos a melhorar o Serviço de Sinais, os mecanismos, adicionamos novas funções e corrigimos falhas. Os Serviços de Sinais MetaTrader de 2012 e o atual é como se fossem dois serviços completamente diferentes. Atualmente estamos implementando um serviço de hospedagem virtual nas nuvens, que consiste de uma rede de servidores para suportar versões específicas do terminal do cliente MetaTrader. Os Traders terão de preencher apenas 5 passos para locar uma cópia virtual de seu terminal com latência mínima de rede ao servidor de negociação da sua corretora, diretamente do terminal do cliente MetaTrader.
Moving Mini-Max: um Novo Indicador para a Análise Técnica e sua Implementação no MQL5
Moving Mini-Max: um Novo Indicador para a Análise Técnica e sua Implementação no MQL5

Moving Mini-Max: um Novo Indicador para a Análise Técnica e sua Implementação no MQL5

No seguinte artigo, descrevo um processo de implementação do indicador Moving Mini-Max com base em um documento de Z.G.Silagadze 'Moving Mini-max: a new indicator for technical analysis'. A ideia do indicador baseia-se na simulação do fenômeno de tunelamento quântico, proposto por G. Gamov na teoria de desintegração alfa.
Provedores de Sinal Johnpaul77: "Nossa estratégia continua a ser rentável por mais de três anos. Então, por que devemos mudar isso?"
Provedores de Sinal Johnpaul77: "Nossa estratégia continua a ser rentável por mais de três anos. Então, por que devemos mudar isso?"

Provedores de Sinal Johnpaul77: "Nossa estratégia continua a ser rentável por mais de três anos. Então, por que devemos mudar isso?"

Vamos revelar um pequeno segredo: Os visitantes do site MQL5.com passam a maior parte do seu tempo na página do sinal Johnpaul77. Ele é líder em nosso ranking de sinais, com cerca de 900 assinantes e com fundos de contas reais no valor total de $5.7 milhões. Entrevistamos o provedor deste sinal. Acontece que há quatro deles! Como são distribuídos os deveres entre os membros da equipe? Quais são as ferramentas técnicas que eles usam? Por que eles se auto-denominam de John Paul? E, finalmente, como que simples jogadores da Indonésia se tornaram os principais provedores de sinais no MQL5.com? Descubra tudo neste artigo.
Como Proteger Seu Expert Advisor Investindo na Bolsa de Moscou
Como Proteger Seu Expert Advisor Investindo na Bolsa de Moscou

Como Proteger Seu Expert Advisor Investindo na Bolsa de Moscou

O artigo explora os métodos de negociação que garantem a segurança das operações de investimentos nos mercados de ações e de baixa liquidez, tomando como exemplo o Mercado de Derivativos da Bolsa de Moscou. Ele traz uma abordagem prática da teoria de negociação descrita no artigo "Princípios da Precificação da Bolsa Tomando Como Exemplo o Mercado de Derivativos da Bolsa de Moscou".
Criando EAs de rede neural usando o assistente do MQL5 e o gerador EA Hlaiman
Criando EAs de rede neural usando o assistente do MQL5 e o gerador EA Hlaiman

Criando EAs de rede neural usando o assistente do MQL5 e o gerador EA Hlaiman

O artigo descreve um método de criação automatizada de EAs de rede neural usando o assistente do MQL5 e o gerador EA Hlaiman. Ele mostra como você pode facilmente começar a trabalhar com redes neurais, sem ter que aprender todo o corpo de informações teóricas, e escrever o seu próprio código.
preview
Como criar gráficos 3D usando o DirectX no MetaTrader 5

Como criar gráficos 3D usando o DirectX no MetaTrader 5

Os gráficos 3D fornecem excelentes meios para analisar grandes quantidades de dados, pois permitem a visualização de padrões ocultos. Essas tarefas podem ser resolvidas diretamente em MQL5, enquanto as funções do DireсtX permitem a criação de objetos tridimensionais. Assim, é ainda possível criar programas de qualquer complexidade, até jogos 3D para a MetaTrader 5. Comece a aprender gráficos 3D desenhando formas tridimensionais simples.
Como trocar dados: um DLL para o MQL5 em 10 minutos
Como trocar dados: um DLL para o MQL5 em 10 minutos

Como trocar dados: um DLL para o MQL5 em 10 minutos

Agora, não muitos desenvolvedores lembram como escrever um simples DLL e quais são os recursos especiais da diferente ligação do sistema. Usando vários exemplos, vou tentar mostrar todo o processo da criação de um simples DLL em 10 minutos, bem como discutir alguns detalhes técnicos da nossa implementação de ligação. Mostrarei o processo passo-a-passo da criação de DLL no Visual Studio com exemplos de troca de diferentes tipos de variáveis (números, arrys, strings, etc.). Além disso, explicarei como proteger seu terminal do cliente de travamentos nos DLLs personalizados.
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.
Pasta do programa do terminal do cliente MetaTrader 4
Pasta do programa do terminal do cliente MetaTrader 4

Pasta do programa do terminal do cliente MetaTrader 4

O artigo descreve os conteúdos da pasta do programa do terminal do cliente MetaTrader 4. Ele será útil para aqueles que já começaram a compreender os detalhes da operação do terminal do cliente.
Desenvolvendo um EA de negociação do zero
Desenvolvendo um EA de negociação do zero

Desenvolvendo um EA de negociação do zero

Entenda como se dá o desenvolvimento de um EA para negociação programando o mínimo possível.
Tendência universal com GUI
Tendência universal com GUI

Tendência universal com GUI

No artigo, criaremos um indicador de tendência universal com base numa série de indicadores padrão. Será desenvolvida uma interface gráfica do usuário para selecionar o tipo de indicador e seus parâmetros. Exibiremos o indicador numa janela separada com fileiras de ícones coloridos.
Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'
Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'

Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'

Este artigo é uma continuação do artigo "Padrões de reversão: Testando o padrão 'topo/fundo duplo'" publicado anteriormente. Agora consideraremos o padrão de reversão O-C-O, o bem conhecido Ombro-Cabeça-Ombro, compararemos o desemprenho de dois padrões e, por último, tentaremos combinar o trading de dois padrões num só sistema de negociação.