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
Interfaces Gráficas VIII: O Controle Navegador de Arquivos (Capítulo 3)
Interfaces Gráficas VIII: O Controle Navegador de Arquivos (Capítulo 3)

Interfaces Gráficas VIII: O Controle Navegador de Arquivos (Capítulo 3)

Nos capítulos anteriores da oitava parte da série, nossa biblioteca foi reforçada por várias classes para o desenvolvimento de ponteiros para o cursor do mouse, calendários e as listas hierárquicas. O presente artigo lida com o controle navegador de arquivos que também pode ser utilizado como parte de uma interface gráfica na aplicação MQL.
Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos
Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos

Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos

Neste artigo modificaremos todos os objetos da biblioteca. Para isso, atribuiremos um tipo único a cada objeto e continuaremos desenvolvendo a classe-coleção de objetos gráficos da biblioteca.
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.
Teste de Visualização: Gráficos do status da conta
Teste de Visualização: Gráficos do status da conta

Teste de Visualização: Gráficos do status da conta

Aproveite o processo de testes com gráficos exibindo o balanço, agora toda a informação necessária está sendo visualizada!
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
Negociação usando uma grade com ordens limitadas no MOEX

Negociação usando uma grade com ordens limitadas no MOEX

Desenvolvimento de um Expert Advisor na linguagem de estratégias de negociação MQL5 para MetaTrader 5. Esse EA irá negociar no MOEX (Bolsa de Valores de Moscou), usando o terminal MetaTrader 5 e uma estratégia de grade, que incluirá o fechamento de posição por stop loss ou take profit, exclusão de ordens pendentes quando atendidas certas condições de mercado.
Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção
Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção

Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção

Neste artigo, vamos finalizar as classes de objetos-gráficos e de sua coleção. Faremos o rastreamento automático das alterações das propriedades dos gráficos e das suas janelas, bem como o armazenamento de novos parâmetros nas propriedades do objeto. Este aprimoramento nos permitirá gerar uma funcionalidade de evento para toda a coleção de gráficos no futuro.
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!
Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)
Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)

Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)

Nós continuamos a complementar a tabela renderizada (CCanvasTable) com novas funcionalidades. A tabela terá agora: o realce das linhas quando o mouse estiver em cima; possibilidade de adicionar um array de ícones para cada célula e um método para trocá-los; possibilidade de definir ou modificar o texto da célula durante a execução do programa, e muito mais.
preview
Multibot no MetaTrader: lançando vários robôs a partir de um único gráfico

Multibot no MetaTrader: lançando vários robôs a partir de um único gráfico

Neste artigo, veremos um modelo simples para a criação de um robô universal no MetaTrader que pode ser usado em vários gráficos, mas que é fixado em apenas um gráfico, sem a necessidade de configurar cada instância do robô em cada gráfico individual.
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
Desenvolvendo um EA de negociação do zero (Parte 19): Um novo sistema de ordens (II)

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

Aqui vamos desenvolver um sistema gráfico de ordens, do tipo veja o que esta acontecendo. Mas não iremos partir do zero, iremos modificar o sistema já existente adicionando ainda mais objetos e eventos ao gráfico do ativo que estamos operando.
preview
Como Integrar o Conceito de Smart Money (BOS) Junto com o Indicador RSI em um EA

Como Integrar o Conceito de Smart Money (BOS) Junto com o Indicador RSI em um EA

Conceito de Smart Money (Break Of Structure) acoplado com o Indicador RSI para tomar decisões informadas de negociação automatizada com base na estrutura do mercado.
preview
Indicadores com controles interativos no gráfico

Indicadores com controles interativos no gráfico

O artigo oferece uma nova perspectiva sobre as interfaces dos indicadores. Eu vou focar na conveniência. Tendo tentado dezenas de diferentes estratégias de negociação ao longo dos anos, além de ter testado centenas de indicadores diferentes, eu cheguei a algumas conclusões que quero compartilhar com você neste artigo.
preview
Uso de modelos ONNX em MQL5

Uso de modelos ONNX em MQL5

O ONNX (Open Neural Network Exchange) é um padrão aberto para a representação de modelos de redes neurais. Neste artigo, consideraremos o processo de criação do modelo SNN-LSTM para previsão de séries temporais financeiras e o uso do modelo ONNX criado em um Expert Advisor MQL5.
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
Exemplo de criação da estratégia de negociação abrangente Owl

Exemplo de criação da estratégia de negociação abrangente Owl

Minha estratégia se baseia em fundamentos clássicos de negociação e no aprimoramento de indicadores amplamente usados em todos os tipos de mercados. Na verdade, trata-se de uma ferramenta pronta para trabalhar integralmente com a nova estratégia de negociação lucrativa que proponho.
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 Expert Advisor que opera de forma automática (Parte 13): Automação (V)

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

Você sabe o que é um Fluxograma ? Sabe como usar ele ? Acha que fluxograma é apenas conversa de programador aprendiz ? Bem, veja este artigo e aprenda como trabalhar com fluxogramas.
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
Otimização Walk Forward contínua (Parte 8): Melhorias e correções do programa

Otimização Walk Forward contínua (Parte 8): Melhorias e correções do programa

O programa foi modificado com base nos comentários e solicitações dos usuários e leitores desta série de artigos. Este artigo contém uma nova versão do otimizador automático. Esta versão implementa os recursos solicitados e fornece outras melhorias, que eu descobri ao trabalhar com o programa.
preview
Encontrando padrões de velas usando MQL5

Encontrando padrões de velas usando MQL5

Neste artigo, falaremos sobre como detectar automaticamente padrões de velas usando MQL5.
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.
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.
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.
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
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.
preview
Gestão de risco e capital utilizando Expert Advisors

Gestão de risco e capital utilizando Expert Advisors

Este artigo é sobre o que você não pode ver em um relatório de backtest, o que você deve esperar usando um software de negociação automatizado, como gerenciar seu dinheiro se estiver usando expert advisors e como cobrir uma perda significativa para permanecer na atividade de negociação quando você está usando procedimentos automatizados.
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
DoEasy. Controles (Parte 1): Primeiros passos

DoEasy. Controles (Parte 1): Primeiros passos

Com este artigo, iniciamos um tópico extenso sobre a criação de controles em MQL5 com base no estilo do Windows Forms. E vamos começar criando uma classe-painel. Tudo já está se tornando difícil sem a presença de controles. Por isso, criaremos todos os controles possíveis no estilo do Windows Forms.
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.
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
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
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
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 ....
Comentador do sistema do expert. Uso prático dos indicadores integrados a um programa MQL4
Comentador do sistema do expert. Uso prático dos indicadores integrados a um programa MQL4

Comentador do sistema do expert. Uso prático dos indicadores integrados a um programa MQL4

O artigo descreve o uso de indicadores técnicos na programação com o MQL4.
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
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
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.
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.