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
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.
Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas
Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas

Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas

Vamos revisar o conceito de construção de objetos gráficos, que vimos no artigo anterior, e preparar uma classe base para todos os objetos gráficos da biblioteca criados com base na classe CCanvas da Biblioteca Padrão.
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.
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.
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.
preview
Desenvolvendo um EA de negociação do zero (Parte 21): Um novo sistema de ordens (IV)

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

Finalmente o sistema visual estará funcionando .... não totalmente ainda. Aqui vamos terminar de fazer as mudanças básicas, e elas não serão poucas, serão muitas e todas elas necessárias e todo o trabalho será bastante interessante.
Gráficos na biblioteca DoEasy (Parte 84): classes herdeiras do objeto gráfico abstrato padrão
Gráficos na biblioteca DoEasy (Parte 84): classes herdeiras do objeto gráfico abstrato padrão

Gráficos na biblioteca DoEasy (Parte 84): classes herdeiras do objeto gráfico abstrato padrão

Neste artigo, veremos como se criam classes herdeiras do objeto gráfico abstrato padrão do terminal. O objeto deste tipo de classe descreve propriedades comuns a todos os objetos gráficos, isto é, ele é apenas um tipo de objeto gráfico. Para entender se pertence a um objeto gráfico real, precisamos gerar herança a partir dele, já na classe do objeto herdeiro precisamos escrever as propriedades que são específicas do objeto gráfico em particular.
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 ....
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.
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.
preview
Estudando o indicador de perfil de mercado — Market Profile: O que é e como funciona?

Estudando o indicador de perfil de mercado — Market Profile: O que é e como funciona?

Hoje vamos conhecer o "Perfil de Mercado". Vamos entender o que está por trás desse nome, tentar compreender os princípios de funcionamento do Perfil e analisar a versão apresentada no terminal chamada MarketProfile.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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
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.
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
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
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.
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
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.
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.
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).
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.
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
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.
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.
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
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.
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.