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
Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica
Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica

Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica

No artigo de hoje criaremos a funcionalidade base para rastrear eventos de eventos de objetos gráficos padrão. Vamos começar com o clique duplo do mouse sobre o objeto gráfico.
preview
Redes neurais de maneira fácil (Parte 23): Criando uma ferramenta para transferência de aprendizado

Redes neurais de maneira fácil (Parte 23): Criando uma ferramenta para transferência de aprendizado

Nesta série de artigos, já mencionamos a transferência de aprendizado mais de uma vez. Mas até agora o assunto não foi além das menções. Sugiro preencher essa lacuna e dar uma olhada mais de perto na transferência de aprendizado.
preview
Redes neurais de maneira fácil (Parte 50): Soft Actor-Critic (otimização do modelo)

Redes neurais de maneira fácil (Parte 50): Soft Actor-Critic (otimização do modelo)

No artigo anterior, implementamos o algoritmo Soft Actor-Critic, mas não conseguimos treinar um modelo lucrativo. Neste artigo, vamos realizar a otimização do modelo previamente criado para obter os resultados desejados a nível de seu funcionamento.
preview
Introdução ao MQL5 (Parte 12): Um Guia para Iniciantes sobre a Criação de Indicadores Personalizados

Introdução ao MQL5 (Parte 12): Um Guia para Iniciantes sobre a Criação de Indicadores Personalizados

Aprenda como criar um indicador personalizado em MQL5. Com uma abordagem baseada em projetos. Este guia voltado para iniciantes aborda buffers de indicadores, propriedades e visualização de tendências, permitindo que você aprenda passo a passo.
preview
Alan Andrews e suas técnicas de análise de séries temporais

Alan Andrews e suas técnicas de análise de séries temporais

Alan Andrews é um dos mais renomados "educadores" do mundo do trading atual, no campo da análise de mercado. Suas "forquilhas" estão presentes em praticamente todos os programas modernos de análise de cotações. No entanto, a maioria dos traders utiliza apenas uma pequena fração das possibilidades oferecidas por essa ferramenta. O curso original de Andrews abrange não apenas a descrição das forquilhas (embora sejam o aspecto principal), mas também outras diretrizes úteis. Este artigo apresenta uma visão dessas incríveis técnicas de análise de gráficos que Andrews ensinou em seu curso original. Atenção: muitas imagens serão utilizadas.
preview
Transformada Discreta de Hartley

Transformada Discreta de Hartley

Neste artigo, vamos nos familiarizar com um dos métodos de análise espectral e processamento de sinais - a transformada discreta de Hartley. Com ela, é possível filtrar sinais, analisar seus espectros e muito mais. As capacidades da DHT não são menores do que as da transformada discreta de Fourier. No entanto, ao contrário dela, a DHT utiliza apenas números reais, o que a torna mais conveniente para implementação na prática, e os resultados de sua aplicação mais visíveis.
preview
Introdução ao MQL5 (Parte 3): Estudando os elementos básicos do MQL5

Introdução ao MQL5 (Parte 3): Estudando os elementos básicos do MQL5

Neste artigo, continuamos a estudar os fundamentos da programação em MQL5. Vamos abordar arrays, funções personalizadas, pré-processadores e manipulação de eventos. Para maior clareza, cada passo de todas as explicações será acompanhado por código. Esta série de artigos estabelece a base para o estudo do MQL5, com ênfase na explicação de cada linha de código.
preview
Expert Advisor de scalping Ilan 3.0 AI com aprendizado de máquina

Expert Advisor de scalping Ilan 3.0 AI com aprendizado de máquina

Lembra do EA Ilan 1.6 Dynamic? Vamos tentar aprimorá-lo com aprendizado de máquina! Vamos reviver esse antigo projeto neste artigo e adicionar aprendizado de máquina com uma tabela Q. Passo a passo.
preview
Criando um Painel de Administrador de Negociação em MQL5 (Parte I): Construindo uma Interface de Mensagens

Criando um Painel de Administrador de Negociação em MQL5 (Parte I): Construindo uma Interface de Mensagens

Este artigo discute a criação de uma Interface de Mensagens para o MetaTrader 5, voltada para Administradores de Sistema, para facilitar a comunicação com outros traders diretamente dentro da plataforma. Integrações recentes de plataformas sociais com o MQL5 permitem a transmissão rápida de sinais através de diferentes canais. Imagine ser capaz de validar sinais enviados com apenas um clique—"SIM" ou "NÃO". Continue lendo para saber mais.
preview
Desenvolvendo um sistema de Replay (Parte 36): Ajeitando as coisas (II)

Desenvolvendo um sistema de Replay (Parte 36): Ajeitando as coisas (II)

Uma das coisas que mais pode complicar a nossa vida como programadores é o fato de supor as coisas. Neste artigo mostrarei o perigo de fazer suposições. Tanto na parte da programação em MQL5, onde você supõem que um tipo terá um dado tamanho. Assim como no uso do MetaTrader 5, onde você supõem que servidores diferentes funcionam da mesma forma.
preview
Introdução ao MQL5 (Parte 8): Guia do Iniciante para Construção de Expert Advisors (II)

Introdução ao MQL5 (Parte 8): Guia do Iniciante para Construção de Expert Advisors (II)

Este artigo aborda perguntas comuns de iniciantes nos fóruns de MQL5 e apresenta soluções práticas. Aprenda a realizar tarefas essenciais, como comprar e vender, obter preços de velas e gerenciar aspectos de negociação automatizada, como limites de operações, períodos de negociação e limites de lucro/perda. Receba orientações passo a passo para aprimorar sua compreensão e implementação desses conceitos no MQL5.
preview
Como escolher um Expert Advisor: Vinte caraterísticas de um robô de baixa qualidade

Como escolher um Expert Advisor: Vinte caraterísticas de um robô de baixa qualidade

Neste artigo, iremos responder à pergunta de como escolher o Expert Advisor correto. Quais são os mais adequados para o nosso portfólio e como podemos filtrar a maioria dos robôs de negociação disponíveis no mercado? Este artigo apresenta vinte caraterísticas evidentes de um EA de baixa qualidade. Ele ajudará você a tomar decisões mais informadas e criar uma coleção de EAs lucrativos.
preview
Desenvolvimento de um EA baseado na estratégia de rompimento do intervalo de consolidação em MQL5

Desenvolvimento de um EA baseado na estratégia de rompimento do intervalo de consolidação em MQL5

O artigo descreve os passos para criar um EA (Expert Advisor) que aproveita os rompimentos de preços após períodos de consolidação. Ao identificar esses intervalos e estabelecer os níveis de rompimento, os traders podem automatizar suas decisões de negociação com base nessa estratégia. O EA foi projetado para fornecer pontos claros de entrada e saída, evitando rompimentos falsos.
preview
Algoritmos de otimização populacionais: Algoritmo do macaco (MA)

Algoritmos de otimização populacionais: Algoritmo do macaco (MA)

Neste artigo, estaremos analisando o algoritmo do macaco (Monkey Algorithm, MA). A habilidade destes animais ágeis para superar obstáculos complexos e atingir as partes mais inacessíveis das árvores foi a inspiração para a concepção do MA.
preview
Experimentos com redes neurais (Parte 6): O perceptron como uma ferramenta de previsão de preços autossuficiente

Experimentos com redes neurais (Parte 6): O perceptron como uma ferramenta de previsão de preços autossuficiente

Veja um exemplo do uso do perceptron como um meio autossuficiente de previsão de preços. Esse artigo aborda conceitos gerais, apresenta um Expert Advisor simples e pronto para uso e os resultados de sua otimização.
preview
Padrões de projeto no MQL5 (Parte 2): Padrões estruturais

Padrões de projeto no MQL5 (Parte 2): Padrões estruturais

Neste artigo, continuaremos a estudar os padrões de projeto que permitem aos desenvolvedores criar aplicativos expansíveis e confiáveis não apenas no MQL5, mas também em outras linguagens de programação. Desta vez, falaremos sobre outro tipo: modelos estruturais. Aprenderemos a projetar sistemas usando as classes disponíveis para formar estruturas maiores.
preview
Ganhe uma Vantagem sobre Qualquer Mercado (Parte II): Previsão de Indicadores Técnicos

Ganhe uma Vantagem sobre Qualquer Mercado (Parte II): Previsão de Indicadores Técnicos

Você sabia que podemos obter mais precisão ao prever certos indicadores técnicos do que ao prever o preço subjacente de um símbolo negociado? Junte-se a nós para explorar como aproveitar essa percepção para melhores estratégias de negociação
preview
O Filtro de Kalman para Estratégias de Reversão à Média no Forex

O Filtro de Kalman para Estratégias de Reversão à Média no Forex

O filtro de Kalman é um algoritmo recursivo utilizado em trading algorítmico para estimar o verdadeiro estado de uma série temporal financeira ao filtrar o ruído dos movimentos de preço. Ele atualiza dinamicamente as previsões com base em novos dados de mercado, tornando-se valioso para estratégias adaptativas como reversão à média. Este artigo primeiro apresenta o filtro de Kalman, abordando seu cálculo e implementação. Em seguida, aplicamos o filtro a uma estratégia clássica de reversão à média no forex como exemplo. Por fim, realizamos diversas análises estatísticas comparando o filtro com uma média móvel em diferentes pares de forex.
preview
Integração de Modelos Ocultos de Markov no MetaTrader 5

Integração de Modelos Ocultos de Markov no MetaTrader 5

Neste artigo, demonstramos como os Modelos Ocultos de Markov, treinados utilizando Python, podem ser integrados em aplicações MetaTrader 5. Os Modelos Ocultos de Markov são uma poderosa ferramenta estatística utilizada para modelar dados de séries temporais, onde o sistema modelado é caracterizado por estados não observáveis (ocultos). Uma premissa fundamental dos HMMs é que a probabilidade de estar em um determinado estado em um momento específico depende do estado do processo no instante anterior.
preview
Desenvolvendo um sistema de Replay (Parte 43): Projeto do Chart Trade (II)

Desenvolvendo um sistema de Replay (Parte 43): Projeto do Chart Trade (II)

Grande parte das pessoas que querem, ou desejam aprender a programar, não fazem de fato ideia, do que estão fazendo. O que elas fazem é tentar criar as coisas de uma determinada maneira. No entanto, quando programamos não estamos de fato tentando criar um solução. Se você tentar fazer isto, desta forma irá gerar mais problemas do que realmente uma solução. Aqui iremos fazer algo um pouco mais avançado, e por consequência diferente.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 06): Primeiras melhorias (I)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 06): Primeiras melhorias (I)

Neste artigo vamos começar a estabilizar todo o sistema. Pois sem que o sistema esteja de fato estabilizado, podemos correr risco de não conseguir cumprir os próximos passos.
preview
Padrões de projeto no MQL5 (Parte 4): Padrões comportamentais 2

Padrões de projeto no MQL5 (Parte 4): Padrões comportamentais 2

Com este artigo concluímos a série sobre padrões de projeto na área de software. Já mencionei que existem três tipos de padrões de projeto: criacionais, estruturais e comportamentais. Finalizaremos os padrões comportamentais restantes, que ajudarão a definir a maneira de interação entre objetos, de modo a tornar nosso código mais limpo.
preview
Algoritmo baseado em fractais - Fractal-Based Algorithm (FBA)

Algoritmo baseado em fractais - Fractal-Based Algorithm (FBA)

Um novo método metaheurístico baseado na abordagem fractal de divisão do espaço de busca para resolver tarefas de otimização. O algoritmo identifica e divide sequencialmente áreas promissoras, criando uma estrutura fractal auto-semelhante que concentra os recursos computacionais nos trechos mais promissores. Um mecanismo exclusivo de mutação, direcionado para as melhores soluções, garante um equilíbrio ideal entre diversificação e intensificação do espaço de busca, aumentando significativamente a eficiência do algoritmo.
preview
Desenvolvendo um sistema de Replay (Parte 31): Projeto Expert Advisor - Classe C_Mouse (V)

Desenvolvendo um sistema de Replay (Parte 31): Projeto Expert Advisor - Classe C_Mouse (V)

Desenvolver uma forma de colocar o cronometro, de modo que durante um replay / simulação, ele consiga nos dizer quanto tempo falta, pode parecer a principio uma tarefa simples e de rápida solução. Muitos iriam simplesmente tentar adaptar e usar o mesmo sistema que é usado quando temos o servidor de negociação ao nosso lado. Mas aqui mora um ponto que muitos talvez não se atentem ao pensar em tal solução. Quando você está fazendo um replay, e isto para não falar do fato da simulação, o relógio não funciona da mesma forma. Este tipo de coisa torna complexo construir tal sistema.
preview
DoEasy. Controles (Parte 24): Objeto WinForms dica

DoEasy. Controles (Parte 24): Objeto WinForms dica

Neste artigo, vamos reformular a lógica de especificação dos objetos base e principal para todos os objetos WinForms da biblioteca. Vamos desenvolver também um novo objeto dica que será base e algumas classes herdeiras para indicar a possível direção do movimento da linha divisória.
preview
Medindo o valor informativo do Indicador

Medindo o valor informativo do Indicador

O aprendizado de máquina se tornou uma técnica popular de desenvolvimento de estratégias. Na negociação, tradicionalmente, mais atenção é dada à maximização da lucratividade e à precisão das previsões. Enquanto isso, o processamento de dados usado para construir modelos preditivos permanece na periferia. Neste artigo, discutimos o uso do conceito de entropia para avaliar a adequação de indicadores na construção de modelos preditivos, conforme descrito no livro Testing and Tuning Market Trading Systems escrito por Timothy Masters.
preview
Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 3): Prefixos/sufixos de símbolos e sessão de negociação

Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 3): Prefixos/sufixos de símbolos e sessão de negociação

Recebi comentários de vários colegas traders sobre como usar o Expert Advisor multimoedas que estou analisando com corretoras que usam prefixos e/ou sufixos com nomes de símbolos, bem como sobre como implementar fusos horários de negociação ou sessões de negociação no Expert Advisor.
preview
Testes de Robustez em Expert Advisors

Testes de Robustez em Expert Advisors

No desenvolvimento de estratégias, há muitos detalhes complexos a serem considerados, muitos dos quais não são destacados para traders iniciantes. Como resultado, muitos traders, eu incluído, tiveram de aprender essas lições da maneira mais difícil. Este artigo é baseado em minhas observações sobre armadilhas comuns que a maioria dos traders iniciantes encontra ao desenvolver estratégias em MQL5. Ele oferecerá uma variedade de dicas, truques e exemplos para ajudar a identificar a desqualificação de um EA e testar a robustez dos nossos próprios EAs de uma forma fácil de implementar. O objetivo é educar os leitores, ajudando-os a evitar futuros golpes ao comprar EAs, bem como a prevenir erros no desenvolvimento de suas próprias estratégias.
preview
Do básico ao intermediário: Array e Strings (II)

Do básico ao intermediário: Array e Strings (II)

Neste artigo, irei demostrar que apesar de ainda estamos em um nível iniciante, e bem básico. Já conseguimos implementar algum tipo de aplicação interessante. No caso iremos criar um gerador de senhas bem simples. Isto de modo a conseguir aplicar alguns conceitos que foram explicados até aqui. Além disto, irei mostrar como você pode desenvolver soluções para alguns problemas especiais.
preview
Criando um painel dinâmico multissímbolo e multiperíodo do Índice de Força Relativa (RSI) em MQL5

Criando um painel dinâmico multissímbolo e multiperíodo do Índice de Força Relativa (RSI) em MQL5

Este artigo aborda o desenvolvimento de um painel dinâmico multissímbolo e multiperíodo do indicador RSI em MQL5. O painel tem como objetivo fornecer aos traders os valores do RSI em tempo real para diferentes símbolos e períodos gráficos. Ele será equipado com botões interativos, atualizações em tempo real e indicadores de cores para ajudar os traders a tomarem decisões informadas.
preview
Implementação do EA Deus: Negociação automatizada com RSI e médias móveis em MQL5

Implementação do EA Deus: Negociação automatizada com RSI e médias móveis em MQL5

O artigo descreve as etapas para a implementação do EA Deus baseado nos indicadores RSI e média móvel para gerenciar a negociação automatizada.
preview
Desenvolvendo um sistema de Replay (Parte 68): Acertando o tempo (I)

Desenvolvendo um sistema de Replay (Parte 68): Acertando o tempo (I)

Aqui vamos dar prosseguimento, ao trabalho de conseguir fazer com que o indicador de mouse, consiga nos informar o tempo restante da barra, quando em momentos de baixa liquidez. Apesar de a primeira vista parecer algo simples, você verá que esta tarefa é bem mais complicada do que parece. Isto por conta de alguns percalços que teremos de enfrentar. Então acompanhe esta primeira parte para entender as próximas.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 44): Indicador técnico Average True Range (ATR)

Técnicas do MQL5 Wizard que você deve conhecer (Parte 44): Indicador técnico Average True Range (ATR)

O oscilador ATR é um indicador muito popular para atuar como um proxy de volatilidade, especialmente nos mercados de forex onde os dados de volume são escassos. Nós o examinamos com base em padrões, assim como fizemos com indicadores anteriores, e compartilhamos estratégias e relatórios de testes graças às classes da biblioteca MQL5 wizard e sua montagem.
preview
Desenvolvendo um sistema de Replay (Parte 28): Projeto Expert Advisor — Classe C_Mouse (II)

Desenvolvendo um sistema de Replay (Parte 28): Projeto Expert Advisor — Classe C_Mouse (II)

Quanto de fato os primeiros sistema capazes de fatorar alguma coisa, começaram a ser produzidos. Tudo tinha que ser feito por engenheiros com grande conhecimento, no que estava sendo projetado. Isto nos primórdios da computação, onde se quer existia algum tipo de terminal, para que fosse possível programar algo. Conforme ia se desenvolvendo, e o interesse de que mais pessoas também conseguisse criar algo, começou surgir novas ideias e meios, de programar aquelas máquinas, que antes era feito mudando a posição dos conectores. Assim começamos a ter os primeiros terminais.
preview
Redes neurais de maneira fácil (Parte 35): Módulo de curiosidade intrínseca

Redes neurais de maneira fácil (Parte 35): Módulo de curiosidade intrínseca

Continuamos a explorar algoritmos de aprendizado por reforço. Todos os algoritmos que analisamos até agora exigiam a criação de uma política de recompensa de tal forma que o agente pudesse avaliar cada uma de suas ações em cada transição de um estado do sistema para outro. No entanto, essa abordagem é bastante artificial. Na prática, existe um intervalo de tempo entre a ação e a recompensa. Neste artigo, proponho que você se familiarize com um algoritmo de aprendizado de modelo capaz de lidar com diferentes atrasos temporais entre a ação e a recompensa.
preview
Redes neurais de maneira fácil (Parte 38): Exploração auto-supervisionada via desacordo (Self-Supervised Exploration via Disagreement)

Redes neurais de maneira fácil (Parte 38): Exploração auto-supervisionada via desacordo (Self-Supervised Exploration via Disagreement)

Um dos principais desafios do aprendizado por reforço é a exploração do ambiente. Anteriormente, já nos iniciamos no método de exploração baseado na curiosidade interna. E hoje proponho considerar outro algoritmo, o de exploração por desacordo.
preview
Rede neural na prática: Mínimos Quadrados

Rede neural na prática: Mínimos Quadrados

Aqui neste artigo, veremos algumas coisas, entre elas: Como muitas vezes fórmulas matemáticas parecem mais complicadas, quando a olhamos, do que quando a implementamos em código. Além deste fato, também será mostrado, como você pode ajustar o quadrante do gráfico, assim como uma coisa sinistra, que pode acontecer no seu código MQL5. Algo que sinceramente não sei como explicar, por não ter entendido. Apesar de mostrar como corrigir no código.
preview
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD

Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD

Este artigo apresenta a primeira tentativa de desenvolver um cliente MQTT nativo para o MQL5. MQTT é um protocolo de troca de dados no formato "publicador - assinante". Ele é leve, aberto, simples e projetado para ser facilmente implementado. Isso o torna aplicável em muitas situações.
preview
Análise causal de séries temporais usando entropia de transferência

Análise causal de séries temporais usando entropia de transferência

Neste artigo, discutimos como a causalidade estatística pode ser aplicada para identificar variáveis preditivas. Exploraremos a relação entre causalidade e entropia de transferência, além de apresentar um código MQL5 para detectar transferências direcionais de informação entre duas variáveis.
preview
Desenvolvendo um sistema de Replay (Parte 44): Projeto do Chart Trade (III)

Desenvolvendo um sistema de Replay (Parte 44): Projeto do Chart Trade (III)

No artigo anterior, expliquei como você pode manipular os dados do template a fim de usá-los em um OBJ_CHART. Mas lá apenas introduzi a questão, mas sem entrar em muitos detalhes, já que naquela versão o trabalho foi feito de uma maneira bem simplificada. No entanto, ela foi feita daquela forma, justamente para facilitar a explicação do conteúdo. Pois apesar de parecer simples fazer certas coisas, algumas não são tão evidentes, e sem compreender a parte mais simples e básica, você não irá de fato entender o que estou fazendo.