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
Ciência de Dados e Aprendizado de Máquina (Parte 05): Árvores de Decisão

Ciência de Dados e Aprendizado de Máquina (Parte 05): Árvores de Decisão

As árvores de decisão imitam a maneira como os humanos pensam para classificar os dados. Vamos ver como construir árvores e usá-las para classificar e prever alguns dados. O principal objetivo do algoritmo de árvores de decisão é separar os dados impuros em puros ou próximos a nós.
preview
Otimização Automatizada de Parâmetros para Estratégias de Trading Usando Python e MQL5

Otimização Automatizada de Parâmetros para Estratégias de Trading Usando Python e MQL5

Existem vários tipos de algoritmos para auto-otimização de estratégias de trading e parâmetros. Esses algoritmos são usados para melhorar automaticamente as estratégias de trading com base em dados históricos e atuais de mercado. Neste artigo, veremos um desses algoritmos com exemplos em Python e MQL5.
preview
Desenvolvendo um EA de negociação do zero (Parte 28): Em direção ao futuro (III)

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

Nosso sistema de ordem ainda não consegue fazer uma coisa. Mas aqui vamos resolver FINALMENTE isto ....
Melhorar a Qualidade do Código com Ajuda do Teste de Unidade
Melhorar a Qualidade do Código com Ajuda do Teste de Unidade

Melhorar a Qualidade do Código com Ajuda do Teste de Unidade

Mesmo programas simples muitas vezes têm erros que parecem inacreditáveis. "Como eu fiz isto?" é o nosso primeiro pensamento quando tal erro é revelado. "Como posso evitar isto?" é a segunda questão que vem à nossa mente com menos freqüência. É impossível criar um código absolutamente impecável, especialmente em grandes projetos, mas é possível usar tecnologias para auxiliar na detecção oportuna. O artigo descreve como a qualidade do código MQL4 pode ser melhorada com a ajuda do popular método de Teste de Unidade.
Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas
Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas

Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas

Neste artigo, começaremos a desenvolver funcionalidades para trabalhar com o livro de ofertas. Criaremos uma classe de objeto para uma ordem abstrata do livro de ofertas e dos seus herdeiros.
Múltiplas recontagens de barra nula em alguns indicadores
Múltiplas recontagens de barra nula em alguns indicadores

Múltiplas recontagens de barra nula em alguns indicadores

O artigo trata do problema de se recontar o valor do indicador no terminal do cliente MetaTrader 4 quando a barra nula muda. Nele, é delineada a ideia geral de como adicionar ao código do indicador alguns programas extras que permitem restaurar o código do programa salvo antes de recontagens múltiplas.
Uma Sandbox Aleatória
Uma Sandbox Aleatória

Uma Sandbox Aleatória

O artigo inclui uma "sandbox" interativa como um arquivo do Excel que simula dados aleatórios para backtest de Expert Advisor. Os leitores podem usar a sandbox para ajudar a explorar e compreender mais profundamente as métricas de desempenho dos EAs oferecidos por padrão com o MetaTrader. O texto do artigo é projetado para ajudar o usuário durante esta experiência.
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.
Um método para o desenho dos níveis de apoio/resistência
Um método para o desenho dos níveis de apoio/resistência

Um método para o desenho dos níveis de apoio/resistência

Este artigo descreve o processo de criação de um script simples para a detecção dos níveis de apoio/resistência. Ele foi escrito para iniciantes, então você encontrará uma explicação detalhada de cada estágio do processo. Contudo, apesar do script ser bastante simples, o artigo também será útil para traders avançados e usuários da plataforma MetaTrader 4. Ele contém exemplos da exportação de dados para o formato tabular, da importação da tabela para o Microsoft Excel, e do delineamento de gráficos para a realização de uma análise mais detalhada.
Como desenvolver um sistema de negociação baseado no indicador CCI
Como desenvolver um sistema de negociação baseado no indicador CCI

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

Neste novo artigo da nossa série para aprender a projetar os sistemas de negociação, eu apresentarei o indicador Commodities Channel Index (CCI), eu explicarei suas especificidades e compartilharei com você como criar um sistema de negociação baseado neste indicador.
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.
Lite_EXPERT2.mqh: Kit Funcional para Desenvolvedores de Expert Advisors
Lite_EXPERT2.mqh: Kit Funcional para Desenvolvedores de Expert Advisors

Lite_EXPERT2.mqh: Kit Funcional para Desenvolvedores de Expert Advisors

Este artigo continua a série "Expert Advisors Baseados nos Sistemas de Negociação Populares e na Alquimia da Otimização de Robô de Negociação". Tem o objetivo de familiarizar os leitores com uma biblioteca de funções mais universal do arquivo Lite_EXPERT2.mqh.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 55): classe-coleção de indicadores

Trabalhando com séries temporais na biblioteca DoEasy (Parte 55): classe-coleção de indicadores

Neste artigo, continuaremos a desenvolver as classes de objetos-indicadores e suas coleções. Para cada objeto-indicador vamos criar uma descrição e ajustar a classe-coleção para armazenamento sem erros e recuperação de objetos-indicadores a partir da lista-coleção.
preview
Algoritmos de otimização populacionais: Algoritmo de otimização de cuco (COA)

Algoritmos de otimização populacionais: Algoritmo de otimização de cuco (COA)

O próximo algoritmo que abordaremos será a otimização de busca de cuco usando voos Levy. Este é um dos algoritmos de otimização mais recentes e um novo líder na tabela de classificação.
preview
Analisando as razões pelas quais alguns EAs fracassam

Analisando as razões pelas quais alguns EAs fracassam

Neste artigo, analisaremos dados de moedas e tentaremos entender com isso por que os Expert Advisors podem mostrar bons resultados em alguns intervalos e, ao mesmo tempo, ter um desempenho ruim em outros.
Quem é quem na MQL5.community?
Quem é quem na MQL5.community?

Quem é quem na MQL5.community?

O site MQL5.com o lembra muito bem disso! Quantos dos seus tópicos são épicos, quão popular são os seus artigos e quantas vezes seus programas na base do código são baixados - esta é apenas uma pequena parte do que é lembrado em MQL5.com. Suas realizações estão disponíveis no seu perfil, mas e o quadro geral? Neste artigo, vamos mostrar o quadro geral de todas as conquistas do membros da MQL5.community.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 06): Gradiente Descendente

Ciência de Dados e Aprendizado de Máquina (Parte 06): Gradiente Descendente

O gradiente descendente desempenha um papel significativo no treinamento das redes neurais e muitos algoritmos de aprendizado de máquina. Ele é um algoritmo rápido e inteligente, apesar do seu trabalho impressionante, ele ainda é mal interpretado por muitos cientistas de dados, vamos ver do que ele se trata.
Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico
Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico

Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico

Neste artigo, continuaremos a desenvolver a classe do objeto-gráfico. Vamos adicionar uma lista de objetos-janelas, onde, por sua vez, estarão disponíveis as listas de indicadores colocados nestas.
preview
Aprendendo a construindo um EA que opera de forma automática (Parte 05): Gatilhos manuais (II)

Aprendendo a construindo um EA que opera de forma automática (Parte 05): Gatilhos manuais (II)

Aprenda como criar um EA que opera de forma automática, isto de forma simples e o mais seguro possível. No final daquele artigo, pensei que seria adequado permitir o uso do EA, de uma maneira manual, pelo menos por um tempo.
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
Criação de Previsões de Séries Temporais Usando Redes Neurais LSTM: Normalizando Preço e Tokenizando o Tempo

Criação de Previsões de Séries Temporais Usando Redes Neurais LSTM: Normalizando Preço e Tokenizando o Tempo

Este artigo descreve uma estratégia simples para normalizar os dados de mercado usando o intervalo diário e treinar uma rede neural para aprimorar as previsões de mercado. Os modelos desenvolvidos podem ser utilizados em conjunto com estruturas de análise técnica existentes ou de forma independente para auxiliar na previsão da direção geral do mercado. A estrutura delineada neste artigo pode ser ainda mais refinada por qualquer analista técnico para desenvolver modelos adequados para estratégias de negociação manuais e automatizadas.
Interação entre o MеtaTrader 4 e a máquina MATLAB (Máquina virtual MATLAB)
Interação entre o MеtaTrader 4 e a máquina MATLAB (Máquina virtual MATLAB)

Interação entre o MеtaTrader 4 e a máquina MATLAB (Máquina virtual MATLAB)

O artigo contém considerações sobre a criação da biblioteca DLL - empacotador que permitirá a interação do pacote matemático da área de trabalho MetaTrader 4 e do MATLAB. Ele descreve as "armadilhas" e formas de superá-las. O artigo destina-se a programadores de C/C++ preparados que usem o compilador Borland C++ Builder 6.
Trading automatizado não padrão
Trading automatizado não padrão

Trading automatizado não padrão

Trading bem sucedido e confortável utilizando a plataforma MT4 sem análise detalhada do mercado - é possível? Esse tipo de trading pode ser implementado na prática? Acredito que sim. Especialmente em termos de trading automatizado!
preview
GIT: Mas que coisa é esta ?

GIT: Mas que coisa é esta ?

Neste artigo apresentarei uma ferramenta de suma importância para quem desenvolve programas. Se você não conhece GIT, veja este artigo para ter uma noção do que se trata, tal ferramenta. E como usá-la junto ao MQL5.
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.
preview
Construa Expert Advisors Auto-Otimizáveis em MQL5

Construa Expert Advisors Auto-Otimizáveis em MQL5

Construa expert advisors que olhem para frente e se ajustem a qualquer mercado.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 02): Regressão Logística

Ciência de Dados e Aprendizado de Máquina (Parte 02): Regressão Logística

A classificação de dados é uma coisa crucial para um algotrader e um programador. Neste artigo, nós vamos nos concentrar em um dos algoritmos de classificação logística que provavelmente podem nos ajudar a identificar os Sims ou Nãos, as Altas e Baixas, Compras e Vendas.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 04): Ajustando as coisas (II)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 04): Ajustando as coisas (II)

Vamos continuar a criação do sistema e controle. Já que sem uma forma de controlar o serviço, fica muito complicado dar algum outro passo a fim de melhorar algo no sistema.
preview
Indicadores alternativos de risco e rentabilidade em MQL5

Indicadores alternativos de risco e rentabilidade em MQL5

Neste artigo, apresentaremos a implementação de vários indicadores de rentabilidade e risco, considerados alternativas ao índice de Sharpe, e exploraremos curvas de patrimônio líquido hipotéticas para analisar suas características.
preview
Redes neurais de maneira fácil (Parte 87): Segmentação de séries temporais

Redes neurais de maneira fácil (Parte 87): Segmentação de séries temporais

A previsão desempenha um papel importante na análise de séries temporais. No novo artigo, falaremos sobre as vantagens da segmentação de séries temporais.
Interação entre o MetaTrader 4 e Matlab via DDE
Interação entre o MetaTrader 4 e Matlab via DDE

Interação entre o MetaTrader 4 e Matlab via DDE

Instruções passo a passo de como organizar transferência de dados do Matlab para o MetaTrader 4 usando DDE.
preview
Gradient boosting no aprendizado de máquina transdutivo e ativo

Gradient boosting no aprendizado de máquina transdutivo e ativo

Neste artigo, nós consideraremos os métodos de aprendizado de máquina ativo que se baseiam em dados reais e discutiremos seus prós e contras. Talvez você considere esses métodos úteis e os inclua em seu arsenal de modelos de aprendizado de máquina. A transdução foi introduzida por Vladimir Vapnik, que é o coinventor da Support-Vector Machine (SVM).
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).
preview
Aprendendo a construindo um EA que opera de forma automática (Parte 06): Tipos de contas (I)

Aprendendo a construindo um EA que opera de forma automática (Parte 06): Tipos de contas (I)

Aprenda como criar um EA que opera de forma automática, isto de forma simples e o mais seguro possível. Nosso EA, até o momento consegue trabalhar, em qualquer tipo de situação, mas para torná-lo automatizado, ele não está adequado, precisamos fazer algumas coisas.
Trabalhando com arquivos. Um exemplo de visualização de eventos de mercado importantes
Trabalhando com arquivos. Um exemplo de visualização de eventos de mercado importantes

Trabalhando com arquivos. Um exemplo de visualização de eventos de mercado importantes

O artigo trata das perspectivas do uso do MQL4 para a realização de trabalhos mais produtivos nos mercados FOREX.
preview
Como desenvolver um sistema de negociação baseado no indicador Gator Oscillator

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

Um novo artigo em nossa série sobre como aprender a desenvolver um sistema de negociação baseado nos indicadores técnicos mais populares será sobre o indicador técnico Gator Oscillator e como criar um sistema de negociação por meio de estratégias simples.
Resultados do MQL5 Market para o primeiro trimestre de 2013
Resultados do MQL5 Market para o primeiro trimestre de 2013

Resultados do MQL5 Market para o primeiro trimestre de 2013

Desde sua fundação, a loja de robôs de negociação e indicadores técnicos MQL5 Market já atraiu mais de 250 desenvolvedores que publicaram 580 produtos. O primeiro trimestre de 2013 acabou se tornando de grande sucesso para alguns vendedores do MQL5 Market que conseguiram ganhar bons lucros vendendo seus produtos.
Gráficos na biblioteca DoEasy (Parte 79): classe para o objeto quadro-de-animação e seus objetos herdeiros
Gráficos na biblioteca DoEasy (Parte 79): classe para o objeto quadro-de-animação e seus objetos herdeiros

Gráficos na biblioteca DoEasy (Parte 79): classe para o objeto quadro-de-animação e seus objetos herdeiros

Neste artigo, desenvolveremos uma classe para um quadro de animação e seus herdeiros. A classe permitirá desenhar formas, bem como salvar e restaurar o plano de fundo.
preview
Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)

Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)

Este artigo descreve uma forma de otimização rápida por meio do método de enxame de partículas e apresenta uma implementação em MQL pronta para ser utilizada tanto no modo thread único dentro do EA quanto no modo multi-thread paralelo com complemento que executado nos agentes locais do testador.
preview
Algoritmos de otimização populacionais: algoritmo de vaga-lumes

Algoritmos de otimização populacionais: algoritmo de vaga-lumes

Vamos considerar o método de otimização de vaga-lumes (Firefly Algorithm, FA). Esse algoritmo evoluiu de um método desconhecido por meio de modificações para se tornar um líder real na tabela de classificação.