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 X: Novos recursos para a tabela Renderizada (build 9)
Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)

Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)

Até agora, o tipo mais avançado de tabelas já desenvolvido em nossa biblioteca foi a CTable. Esta tabela é montada a partir de caixas de edição do tipo OBJ_EDIT, e seu posterior desenvolvimento tornou-se problemático. Portanto, em termos de capacidades máximas, é melhor desenvolver tabelas renderizadas do tipo CCanvasTable mesmo no atual estágio de desenvolvimento da biblioteca. Sua versão atual está completamente inerte, mas a partir deste artigo, nós vamos tentar corrigir esta situação.
preview
Como desenvolver um sistema de negociação baseado no indicador SAR Parabólico

Como desenvolver um sistema de negociação baseado no indicador SAR Parabólico

Neste artigo, nós continuaremos nossa série sobre como projetar um sistema de negociação usando os indicadores mais populares. Neste artigo, nós aprenderemos detalhadamente sobre o indicador SAR Parabólico e como nós podemos projetar um sistema de negociação para ser usado na MetaTrader 5 usando algumas estratégias simples.
preview
Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 10): Automação (II)

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

Automação não é nada sem que você consiga controlar o horário. Nenhum trabalhador consegue ser eficiente trabalhando 24 horas. No entanto, muitos acreditam que um sistema automático deva trabalhar 24 horas. Mas é sempre bom que você tenha meios de configurar um range de horário para o Expert Advisor. Neste artigo iremos tratar disto. Como adicionar adequadamente uma faixa de horário.
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.
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.
Falácias, Parte 2. A estatística é uma pseudociência ou uma crônica sobre a queda de uma fatia de pão com manteiga
Falácias, Parte 2. A estatística é uma pseudociência ou uma crônica sobre a queda de uma fatia de pão com manteiga

Falácias, Parte 2. A estatística é uma pseudociência ou uma crônica sobre a queda de uma fatia de pão com manteiga

Inúmeras tentativas de aplicar métodos estatísticos à realidade objetiva, ou seja, séries financeiras, falham quando encontramos processos não estacionários, "mentiras" sobre acompanhar a distribuição de probabilidade e volume insuficiente de dados financeiros. Nesta publicação, tentarei me referir não às séries financeiras como tal, mas sim as suas apresentações subjetivas - nesse caso, à forma que um trader tenta prender as séries, ou seja, ao sistema de trading. O ensino das regularidades estatísticas do processo de resultados de trading é uma tarefa atraente. Em alguns casos, conclusões bastante verdadeiras sobre o modelo desse processo podem ser feitas e elas podem ser aplicadas ao sistema de trading.
Diagramas tridimensionais - uma ferramenta profissional de análise de mercado
Diagramas tridimensionais - uma ferramenta profissional de análise de mercado

Diagramas tridimensionais - uma ferramenta profissional de análise de mercado

Neste artigo escreveremos uma biblioteca simples para a construção de diagramas 3D e sua exibição posterior no Microsoft Excel. Usaremos as opções padrão do MQL4 para preparar e exportar os dados ao arquivo *.csv.
Otimização Visual de Indicador e Sinal de Rentabilidade
Otimização Visual de Indicador e Sinal de Rentabilidade

Otimização Visual de Indicador e Sinal de Rentabilidade

Este artigo é uma continuação e desenvolvimento de meu artigo anterior "Testes Visuais de Rentabilidade dos Indicadores e Alertas". Tendo acrescentado alguma interatividade com o processo de mudança de parâmetro e reformulado os objetivos do estudo, além de obter uma nova ferramenta que mostra os potenciais resultados com base nos sinais utilizados, também permite que você obtenha imediatamente um layout de operações, gráfico do saldo e o resultado final da negociação, movendo controles deslizantes virtuais que funcionam como controladores para os valores dos parâmetros do sinal no gráfico principal.
preview
Usando a classe CCanvas em aplicativos MQL

Usando a classe CCanvas em aplicativos MQL

Neste artigo falaremos sobre o uso da classe CCanvas em aplicações MQL, com uma descrição detalhada e exemplos, para que o usuário tenha uma compreensão básica de como usar esta ferramenta
preview
Análise de ciclos usando o algoritmo de Goertzel

Análise de ciclos usando o algoritmo de Goertzel

Neste artigo, são apresentados utilitários que implementam o algoritmo de Goertzel em MQL5 e duas maneiras de aplicar esse método na análise de cotações de preços para o desenvolvimento de estratégias.
Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5
Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5

Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5

Este artigo é uma leitura obrigatória destinada a todos que desejam melhorar sua carreira como programadores. O objetivo desta série de artigos é ajudar o leitor, incluindo experientes, a melhorar suas habilidades de programação. As ideias descritas são aplicáveis tanto a programadores iniciantes em MQL5 quanto a profissionais.
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
Redes neurais de maneira fácil (Parte 51): ator-crítico comportamental (BAC)

Redes neurais de maneira fácil (Parte 51): ator-crítico comportamental (BAC)

Nos últimos dois artigos, discutimos o algoritmo Soft Actor-Critic, que incorpora regularização de entropia na função de recompensa. Essa abordagem permite equilibrar a exploração do ambiente e a exploração do modelo, mas é aplicável apenas a modelos estocásticos. Neste artigo, exploraremos uma abordagem alternativa que é aplicável tanto a modelos estocásticos quanto determinísticos.
Como desenvolver um sistema de negociação baseado no indicador Estocástico
Como desenvolver um sistema de negociação baseado no indicador Estocástico

Como desenvolver um sistema de negociação baseado no indicador Estocástico

Neste artigo, nós continuamos nossa série de aprendizado - desta vez, nós aprenderemos como projetar um sistema de negociação usando um dos indicadores mais populares e úteis, que é o indicador Oscilador Estocástico, para construir um novo bloco em nosso conhecimento básico.
Concurso de Expert Advisors dentro de um Expert Advisor
Concurso de Expert Advisors dentro de um Expert Advisor

Concurso de Expert Advisors dentro de um Expert Advisor

Usando negociação virtual, você pode criar um Expert Advisor adaptativo que vai ligar e desligar as negociações no mercado real. Combine várias estratégias num único Expert Advisor! O sistema múltiplo de Expert Advisor irá escolher automaticamente uma estratégia de negociação, aquela mais apropriada ao mercado real com base na rentabilidade dos negócios virtuais. Este tipo de abordagem permite diminuir o rebaixamento e aumentar a rentabilidade do seu investimento no mercado. Experimente e compartilhe seus resultados com os outros! Eu acho que muitas pessoas vão se interessar em saber sobre o seu portfólio de estratégias.
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.
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.
Usando o Skype para enviar mensagens de um Expert Advisor
Usando o Skype para enviar mensagens de um Expert Advisor

Usando o Skype para enviar mensagens de um Expert Advisor

O artigo trata de como enviar mensagens internas e SMS do Expert Advisor para celulares utilizando o Skype.
Negócios sociais com as plataformas de negócios MetaTrader 4 e MetaTrader 5
Negócios sociais com as plataformas de negócios MetaTrader 4 e MetaTrader 5

Negócios sociais com as plataformas de negócios MetaTrader 4 e MetaTrader 5

O que são negócios sociais? São uma cooperação mútua benéfica entre negociadores e investidores pelo meio dos quais negociadores de sucesso permitem o monitoramento de suas negociações e investidores em potencial aproveitam a oportunidade de monitorar seus desempenhos e copiar negociações daqueles que parecerem mais promissores.
Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas
Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas

Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas

Neste artigo, atualizaremos em tempo real da coleção de dados de ticks e prepararemos a classe do objeto-símbolo para trabalhar com o livro de ofertas, cujo funcionamento abordaremos no próximo artigo.
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.
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
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.
Como se tornar um bom programador (Parte 7): como se tornar um desenvolvedor freelancer de sucesso
Como se tornar um bom programador (Parte 7): como se tornar um desenvolvedor freelancer de sucesso

Como se tornar um bom programador (Parte 7): como se tornar um desenvolvedor freelancer de sucesso

Quer se tornar um desenvolvedor de sucesso no Freelance da MQL5.Community? Então recomendo a leitura das dicas deste artigo.
Controle Gráfico dos Parâmetros Externos dos Indicadores
Controle Gráfico dos Parâmetros Externos dos Indicadores

Controle Gráfico dos Parâmetros Externos dos Indicadores

Variáveis externas de indicadores são controladas usando uma janela especial, onde os parâmetros podem ser alterados e então o indicador é executado novamente. O inconveniente óbvio destas manipulações deu origem à necessidade de exibir os parâmetros na tela e controlar o indicador graficamente.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 07): Regressão Polinomial

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

Ao contrário da regressão linear, a regressão polinomial é um modelo flexível destinado a performar melhor em tarefas que o modelo de regressão linear não poderia lidar. Vamos descobrir como fazer modelos polinomiais em MQL5 e tirar algo positivo disso.
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!
preview
Entendendo a programação orientada a objetos (POO) em MQL5

Entendendo a programação orientada a objetos (POO) em MQL5

Como desenvolvedores, precisamos aprender a criar e desenvolver software que possa ser usado de forma repetida e flexível, sem duplicação de código, especialmente quando lidamos com diferentes objetos que têm comportamentos distintos. Isso pode ser facilmente alcançado usando métodos e princípios de programação orientada a objetos. Neste artigo, apresentaremos os fundamentos da programação orientada a objetos em MQL5.
preview
Introdução ao MQL5 (Parte 1): Um guia para principiantes em algotrading

Introdução ao MQL5 (Parte 1): Um guia para principiantes em algotrading

Este artigo serve como uma introdução à programação em MQL5 para novatos, abrindo portas para o empolgante mundo da negociação algorítmica. Aqui, você vai descobrir os princípios básicos do MQL5, a linguagem de programação usada para desenvolver estratégias de negociação no MetaTrader 5, que facilita a entrada no universo da negociação automatizada. Abrangendo desde a compreensão dos conceitos iniciais até os primeiros passos na programação, este texto é projetado para desbloquear as possibilidades da negociação algorítmica para todos os leitores, incluindo aqueles sem nenhuma experiência prévia em programação. Espero que aprecie esta incursão pelo mundo do trading com MQL5.
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.
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
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.
Pontos de interrupção no verificador: É possível!
Pontos de interrupção no verificador: É possível!

Pontos de interrupção no verificador: É possível!

O artigo trata da emulação do ponto de interrupção quando passa pelo verificador, informações de depuração estão sendo exibidas.
preview
Robô de trading multimódulo em Python e MQL5 (Parte I): Criando a arquitetura básica e os primeiros módulos

Robô de trading multimódulo em Python e MQL5 (Parte I): Criando a arquitetura básica e os primeiros módulos

Estamos desenvolvendo um sistema de trading modular que combina Python para análise de dados com MQL5 para execução de ordens. Quatro módulos independentes monitoram paralelamente diferentes aspectos do mercado: volumes, arbitragem, economia e riscos, utilizando RandomForest com 400 árvores para análise. É dado um foco especial no gerenciamento de risco, pois sem uma gestão adequada, até os algoritmos de trading mais avançados tornam-se inúteis.
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.
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.
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
Algoritmos de otimização populacional: Método Nelder-Mead (NM)

Algoritmos de otimização populacional: Método Nelder-Mead (NM)

O artigo apresenta um estudo completo do método Nelder-Mead explicando como o simplex — o espaço dos parâmetros da função — muda e se reestrutura a cada iteração para alcançar a solução ótima, e também descreve como melhorar este método.
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 ....
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.