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
Do básico ao intermediário: Filas, Listas e Árvores (VI)

Do básico ao intermediário: Filas, Listas e Árvores (VI)

Neste artigo iremos retomar a implementação do que seria uma árvore. Agora que temos os conceitos básicos sobre como um constructor e destructor funcionam. Poderemos finalmente corrigir o código visto no último artigo. Mas se prepare para uma verdadeira aventura dentro da programação MQL5.
preview
Redes neurais em trading: Generalização de séries temporais sem vinculação a dados (Módulos básicos do modelo)

Redes neurais em trading: Generalização de séries temporais sem vinculação a dados (Módulos básicos do modelo)

Damos continuidade ao conhecimento do framework Mamba4Cast. E hoje vamos nos aprofundar na implementação prática das abordagens propostas. O Mamba4Cast foi criado não para um longo aquecimento em cada nova série temporal, mas para entrar em operação de forma instantânea. Graças à ideia de Zero-Shot Forecasting, o modelo é capaz de fornecer imediatamente previsões de alta qualidade em dados reais sem retreinamento e sem ajuste fino de hiperparâmetros.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 51): Aprendizado por Reforço com SAC

Técnicas do MQL5 Wizard que você deve conhecer (Parte 51): Aprendizado por Reforço com SAC

Soft Actor Critic é um algoritmo de Aprendizado por Reforço que utiliza 3 redes neurais. Uma rede ator e 2 redes críticas. Esses modelos de aprendizado de máquina são combinados em uma parceria mestre-escravo onde as redes críticas são modeladas para melhorar a precisão de previsão da rede ator. Ao mesmo tempo em que introduzimos ONNX nesta série, exploramos como essas ideias podem ser colocadas à prova como um sinal personalizado de um Expert Advisor montado pelo wizard.
preview
Desenvolvimento do Kit de Ferramentas de Análise de Ação de Preço (Parte 14): Ferramenta de Stop Parabolic e Reversão

Desenvolvimento do Kit de Ferramentas de Análise de Ação de Preço (Parte 14): Ferramenta de Stop Parabolic e Reversão

Adotar indicadores técnicos na análise de price action é uma abordagem poderosa. Esses indicadores frequentemente destacam níveis-chave de reversões e retrações, oferecendo insights valiosos sobre a dinâmica do mercado. Neste artigo, demonstramos como desenvolvemos uma ferramenta automatizada que gera sinais utilizando o indicador Parabolic SAR.
preview
Exemplo de Análise de Rede de Causalidade (CNA) e Modelo de Autorregressão Vetorial para Predição de Eventos de Mercado

Exemplo de Análise de Rede de Causalidade (CNA) e Modelo de Autorregressão Vetorial para Predição de Eventos de Mercado

Este artigo apresenta um guia abrangente para implementar um sistema de negociação sofisticado utilizando Análise de Rede de Causalidade (CNA) e Autorregressão Vetorial (VAR) em MQL5. Ele aborda o embasamento teórico desses métodos, fornece explicações detalhadas das funções-chave no algoritmo de negociação e inclui exemplos de código para implementação.
preview
Redes Generativas Adversariais (GANs) para Dados Sintéticos em Modelagem Financeira (Parte 1): Introdução às GANs e Dados Sintéticos em Modelagem Financeira

Redes Generativas Adversariais (GANs) para Dados Sintéticos em Modelagem Financeira (Parte 1): Introdução às GANs e Dados Sintéticos em Modelagem Financeira

Este artigo introduz os traders às Redes Generativas Adversariais (GANs) para geração de dados financeiros sintéticos, abordando limitações de dados no treinamento de modelos. Ele cobre os fundamentos das GANs, implementações em Python e MQL5, e aplicações práticas em finanças, capacitando traders a aumentar a precisão e a robustez dos modelos por meio de dados sintéticos.
preview
Algoritmo de Busca com Retrocesso — Backtracking Search Algorithm (BSA)

Algoritmo de Busca com Retrocesso — Backtracking Search Algorithm (BSA)

E se um algoritmo de otimização pudesse lembrar suas viagens passadas e usar essa memória para buscar soluções melhores? O BSA faz exatamente isso, equilibrando a exploração do novo e o retorno ao que já foi testado. No artigo, revelamos os segredos do algoritmo. Ideia simples, mínimo de parâmetros e resultado estável.
preview
Aplicação da Teoria dos Jogos de Nash com Filtragem HMM em Trading

Aplicação da Teoria dos Jogos de Nash com Filtragem HMM em Trading

Este artigo explora a aplicação da teoria dos jogos de John Nash, especificamente o Equilíbrio de Nash, no mercado financeiro. Ele discute como os traders podem utilizar scripts em Python e MetaTrader 5 para identificar e explorar ineficiências do mercado utilizando os princípios de Nash. O artigo oferece um guia passo a passo sobre como implementar essas estratégias, incluindo o uso de Modelos Ocultos de Markov (HMM) e análise estatística para melhorar o desempenho das negociações.
preview
Do básico ao intermediário: Eventos em Objetos (III)

Do básico ao intermediário: Eventos em Objetos (III)

Neste artigo iremos preparar o terreno para algo que será visto no próximo artigo. Mas também iremos ver como permitir que um objeto do tipo OBJ_LABEL possa ser editado e movido de forma completamente interativa. Ou seja, poderemos mudar tanto o texto quanto a posição de um objeto do tipo OBJ_LABEL, sem abrir a janela de propriedades do objeto.
preview
Observador Connexus (Parte 8): Adicionando Request Observer (Observador de requisições)

Observador Connexus (Parte 8): Adicionando Request Observer (Observador de requisições)

Nesta parte final da nossa série sobre a biblioteca Connexus, analisamos a implementação do padrão Observador, além dos principais refatoramentos nos caminhos dos arquivos e nomes dos métodos. Esta série apresenta todo o desenvolvimento do Connexus, criado para simplificar a interação HTTP em aplicativos complexos.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 28): GANs revisitados com uma introdução às taxas de aprendizado

Técnicas do MQL5 Wizard que você deve conhecer (Parte 28): GANs revisitados com uma introdução às taxas de aprendizado

A Taxa de Aprendizado é um tamanho de passo em direção a um objetivo de treinamento nos processos de treinamento de muitos algoritmos de aprendizado de máquina. Examinamos o impacto que seus diversos cronogramas e formatos podem ter no desempenho de uma Rede Generativa Adversária, um tipo de rede neural que já havíamos analisado em um artigo anterior.
preview
Do básico ao intermediário: Classes (III)

Do básico ao intermediário: Classes (III)

Neste artigo será demonstrado como podemos controlar melhor o nosso código. Isto quando estivermos efetuando uma programação orientada em objetos. Apesar de que ainda, estamos apenas no inicio do que pretendo abordar quando o assunto é programação orientada em objetos. Mas o que será visto aqui, lhe ajudará a entender diversas coisas. Minimizando assim futuras dúvidas que podem surgir.
preview
Algoritmo de Partenogênese Cíclica — Cyclic Parthenogenesis Algorithm (CPA)

Algoritmo de Partenogênese Cíclica — Cyclic Parthenogenesis Algorithm (CPA)

Neste artigo, vamos analisar um novo algoritmo populacional de otimização, o CPA (Cyclic Parthenogenesis Algorithm), inspirado na estratégia reprodutiva única dos pulgões. O algoritmo combina dois mecanismos de reprodução — partenogênese e sexual — e utiliza uma estrutura de colônia populacional com possibilidade de migração entre colônias. As principais características do algoritmo são a alternância adaptativa entre diferentes estratégias reprodutivas e o sistema de troca de informação entre colônias por meio do mecanismo de voo.
preview
Operando com o Calendário Econômico do MQL5 (Parte 6): Automatizando a Entrada de Trades com Análise de Eventos de Notícias e Temporizadores de Contagem Regressiva

Operando com o Calendário Econômico do MQL5 (Parte 6): Automatizando a Entrada de Trades com Análise de Eventos de Notícias e Temporizadores de Contagem Regressiva

Neste artigo, implementamos a entrada automática de trades utilizando o Calendário Econômico do MQL5, aplicando filtros definidos pelo usuário e deslocamentos de tempo para identificar eventos de notícias qualificados. Comparamos os valores de previsão e valores anteriores para determinar se devemos abrir uma operação BUY ou SELL. Temporizadores dinâmicos de contagem regressiva exibem o tempo restante até a divulgação da notícia e são redefinidos automaticamente após a execução de um trade.
preview
Redes neurais em trading: Detecção de objetos com reconhecimento de cena (HyperDet3D)

Redes neurais em trading: Detecção de objetos com reconhecimento de cena (HyperDet3D)

Apresentamos uma nova abordagem para a detecção de objetos por meio de hiper-redes. Uma hiper-rede de geração de pesos para o modelo subjacente, que nos permite levar em conta as peculiaridades do estado atual do mercado. Essa abordagem melhora a precisão da previsão, adaptando o modelo a diferentes condições de mercado.
preview
Do básico ao intermediário: Navegando na SandBox

Do básico ao intermediário: Navegando na SandBox

Neste artigo veremos duas formas de observar e até mesmo ter alguma interação com o conteúdo presente em uma SandBox. Isto usando a plataforma MetaTrader 5 como ponto de apoio. Entender o conteúdo mostrado neste artigo, será primordial para entender o que será visto nos próximos artigos.
preview
Do básico ao intermediário: Indicadores técnico (II)

Do básico ao intermediário: Indicadores técnico (II)

Neste artigo mostramos como criar um indicador em MQL5 que desenha múltiplas médias móveis no mesmo gráfico, reduzindo código duplicado. São usados iMA, buffers de indicador, CopyBuffer, PlotIndexSetInteger/String e uma estrutura constante que concentra períodos, métodos e cores. O dimensionamento de indicatorbuffers e indicatorplots é derivado de Averange.Size(). O resultado facilita manutenção e permite adicionar ou remover médias alterando apenas uma lista.
preview
Redes neurais em trading: Transformador hierárquico com duas torres (Conclusão)

Redes neurais em trading: Transformador hierárquico com duas torres (Conclusão)

Continuamos a desenvolver o modelo transformador hierárquico com duas torres, o Hidformer, projetado para análise e previsão de séries temporais multivariadas complexas. Neste artigo, levaremos o trabalho iniciado anteriormente até sua conclusão lógica, com testes do modelo em dados históricos reais.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 23): CNNs

Técnicas do MQL5 Wizard que você deve conhecer (Parte 23): CNNs

As Redes Neurais Convolucionais são outro algoritmo de aprendizado de máquina que tende a se especializar em decompor conjuntos de dados multidimensionais em partes constituintes principais. Vamos ver como isso é normalmente alcançado e explorar uma possível aplicação para traders em outra classe de sinais do MQL5 Wizard.
preview
Do básico ao intermediário: Indicadores técnico (II)

Do básico ao intermediário: Indicadores técnico (II)

Neste artigo mostramos como criar um indicador em MQL5 que desenha múltiplas médias móveis no mesmo gráfico, reduzindo código duplicado. São usados iMA, buffers de indicador, CopyBuffer, PlotIndexSetInteger/String e uma estrutura constante que concentra períodos, métodos e cores. O dimensionamento de indicatorbuffers e indicatorplots é derivado de Averange.Size(). O resultado facilita manutenção e permite adicionar ou remover médias alterando apenas uma lista.
preview
Migrando para o MQL5 Algo Forge (Parte 2): Trabalhando com múltiplos repositórios

Migrando para o MQL5 Algo Forge (Parte 2): Trabalhando com múltiplos repositórios

Vamos analisar uma das possíveis abordagens para organizar o armazenamento do código-fonte de um projeto em um repositório público. Utilizando a distribuição em diferentes branches, criaremos regras claras e práticas para o desenvolvimento do projeto.
preview
Integre seu próprio LLM ao EA (Parte 5): Desenvolva e Teste Estratégia de Trading com LLMs (III) – Adapter-Tuning

Integre seu próprio LLM ao EA (Parte 5): Desenvolva e Teste Estratégia de Trading com LLMs (III) – Adapter-Tuning

Com o rápido desenvolvimento da inteligência artificial atualmente, os modelos de linguagem (LLMs) são uma parte importante da inteligência artificial, portanto devemos pensar em como integrar LLMs poderosos ao nosso trading algorítmico. Para a maioria das pessoas, é difícil ajustar esses modelos poderosos de acordo com suas necessidades, implantá-los localmente e então aplicá-los ao trading algorítmico. Esta série de artigos adotará uma abordagem passo a passo para alcançar esse objetivo.
preview
Simulação de mercado: Position View (XVIII)

Simulação de mercado: Position View (XVIII)

Neste artigo, mostrei da forma o mais didática possível. Como você pode conseguir modificar e gerar um código que seja capaz de cumprir alguns objetivos. Isto modificando o mínimo possível um código já existente. Iremos adicionar um indicador de volume, ao mesmo tempo impedir que o usuário ou operador venha a remover objetos criados pelo indicador de posição.
preview
Ganhe uma Vantagem Sobre Qualquer Mercado (Parte III): Índice de Gastos com Cartões Visa

Ganhe uma Vantagem Sobre Qualquer Mercado (Parte III): Índice de Gastos com Cartões Visa

No mundo dos big data, existem milhões de conjuntos de dados alternativos que têm o potencial de aprimorar nossas estratégias de negociação. Nesta série de artigos, vamos ajudá-lo a identificar os conjuntos de dados públicos mais informativos.
preview
Previsão de taxas de câmbio usando métodos clássicos de aprendizado de máquina: Modelos Logit e Probit

Previsão de taxas de câmbio usando métodos clássicos de aprendizado de máquina: Modelos Logit e Probit

Tentou-se criar um EA para prever cotações de taxas de câmbio. Como base para o algoritmo, foram adotados modelos clássicos de classificação, como regressão logística e probit. O critério de razão de verossimilhança é utilizado para filtrar os sinais de negociação.
preview
Do básico ao intermediário: Filas, Listas e Árvores (II)

Do básico ao intermediário: Filas, Listas e Árvores (II)

Este é um artigo do qual você meu caro leitor, deverá estudar com muita calma. Isto devido ao tipo de coisa que será explicado nele. Apesar de termos procurando manter as coisas o mais simples e didáticas quanto foi possível ser feito. O conteúdo apresentado aqui, é sem sobra de dúvida algo muito complicado para quem está iniciando na programação. Mas isto não é motivo para que você venha a desanimar ou ignorar o que está sendo explicado aqui. Já que este artigo fará um elo, entre dois assuntos completamente diferentes, porém intimamente ligados.
preview
Algoritmo de busca circular — Circle Search Algorithm (CSA)

Algoritmo de busca circular — Circle Search Algorithm (CSA)

Este artigo apresenta um novo algoritmo metaheurístico de otimização, o CSA (Circle Search Algorithm), baseado nas propriedades geométricas do círculo. O algoritmo utiliza o princípio de movimentação de pontos ao longo das tangentes para encontrar a solução ideal, combinando fases de diversificação global e intensificação local.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 54): Aprendizado por Reforço com SAC híbrido e Tensores

Técnicas do MQL5 Wizard que você deve conhecer (Parte 54): Aprendizado por Reforço com SAC híbrido e Tensores

Soft Actor Critic é um algoritmo de Aprendizado por Reforço que analisamos em um artigo anterior, onde também introduzimos Python e ONNX nesta série como abordagens eficientes para treinar redes. Retomamos o algoritmo com o objetivo de explorar tensores, grafos computacionais que frequentemente são utilizados em Python.
preview
Simulação de mercado: Position View (XI)

Simulação de mercado: Position View (XI)

Neste artigo, mostrarei como você, meu caro e estimado leitor, pode sem muito esforço. Conseguir modificar o indicador de posição a fim de que ele venha a ser capaz de fazer bem mais coisas, do que originalmente era capaz de fazer. Veremos como incluir a capacidade de podermos mover tanto os preços, quanto também criar as linhas de preço. E isto diretamente no gráfico. Algo que muitos imaginariam ser extremamente complicado e de difícil solução. Porém você notará que faremos tudo isto, com muita facilidade e com um mínimo de esforço. Tudo que será preciso fazer é parar e pensar um pouco.
preview
Desenvolvendo um EA multimoeda (Parte 28): Adicionando um gerenciador de fechamento de posições

Desenvolvendo um EA multimoeda (Parte 28): Adicionando um gerenciador de fechamento de posições

Ao executar muitas estratégias em paralelo, pode surgir a necessidade de, de tempos em tempos, fechar todas as posições abertas e reiniciar as estratégias. O código já escrito permite implementar esse comportamento apenas em conjunto com manipulações manuais. Vamos tentar automatizar essa parte.
preview
Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, Box-Muller

Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, Box-Muller

Este artigo apresenta uma imersão fascinante no mundo do comportamento social de organismos vivos e sua influência na criação de um novo modelo matemático — ASBO (Adaptive Social Behavior Optimization). Exploramos como os princípios de liderança, vizinhança e cooperação, observados em sociedades de seres vivos, inspiram o desenvolvimento de algoritmos de otimização inovadores.
preview
Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 29): Taxas de aprendizado e perceptrons multicamadas

Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 29): Taxas de aprendizado e perceptrons multicamadas

Estamos concluindo a análise da sensibilidade da taxa de aprendizado ao desempenho do EA, estudando taxas de aprendizado adaptáveis Essas taxas devem ser ajustadas para cada parâmetro da camada durante o treinamento, por isso precisamos avaliar os potenciais benefícios em relação às perdas esperadas no desempenho.
preview
Do básico ao intermediário: FileSave e FileLoad

Do básico ao intermediário: FileSave e FileLoad

Neste artigo será explicado e explorado algumas formas de lidar com as funções de biblioteca FileSave e FileLoad. Apesar de muita gente, as considerar pouco promissoras, devido a algumas limitações ou dificuldades que as mesmas nos gera em alguns tipos de cenários. Entender da forma correta como estas duas funções trabalham, podem lhe poupar muito trabalho em certos momento. Além é claro, das mesmas, serem uma ótima forma de promover arquivos de log.
preview
Do básico ao intermediário: Sub Janelas (IV)

Do básico ao intermediário: Sub Janelas (IV)

Neste artigo iremos ver que nem tudo é como muitos pensam ser no inicio. Uma das coisas mais interessantes em utilizar a programação é o fato de que podemos garantir que as coisas sempre serão da forma como as planejamos. Então leiam este artigo com atenção, para que possam aprender alguns dos conceitos mais confusos envolvidos no uso de sub janelas. Se você entender o que será explicado aqui, irá conseguir fazer compreender diversas coisas que iremos fazer futuramente.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 43): Aprendizado por reforço com SARSA

Recursos do Assistente MQL5 que você precisa conhecer (Parte 43): Aprendizado por reforço com SARSA

O SARSA (State-Action-Reward-State-Action, estado–ação–recompensa–estado–ação) é outro algoritmo que pode ser utilizado na implementação de aprendizado por reforço. Vamos analisar como esse algoritmo pode ser implementado como um modelo independente (e não apenas como um mecanismo de aprendizado) em Expert Advisors gerados no Wizard, de forma semelhante ao que fizemos nos casos de Q-learning e DQN.
preview
Do básico ao intermediário: Filas, Listas e Árvores (III)

Do básico ao intermediário: Filas, Listas e Árvores (III)

Neste artigo iremos dar o que será o próximo passo a fim de implementar e entender o que seria e como funciona uma lista encadeada. Apesar do conteúdo aqui, ser de certa maneira bastante denso e confuso para quem está iniciando. Procurei deixar as coisas o mais didática possível. Assim, você conseguirá entender por que e quando usar uma lista encadeada.
preview
Do básico ao intermediário: Filas, Listas e Árvores (V)

Do básico ao intermediário: Filas, Listas e Árvores (V)

Neste artigo começamos a trabalhar com a implementação do mecanismo de árvore. Como sei que este mecanismo pode ser extremamente complicado de ser compreendido e assimilado, no começo do aprendizado. Iremos implementar as coisas com calma e devagar. Assim todos irão conseguir entender como uma árvore funciona e qual o melhor momento para utiliza-la.
preview
Análise espectral singular unidimensional

Análise espectral singular unidimensional

O artigo aborda os aspectos teóricos e práticos do método de análise espectral singular (SSA), que constitui um método eficaz de análise de séries temporais e permite representar a estrutura complexa da série como uma decomposição em componentes simples, tais como tendência, oscilações sazonais (periódicas) e ruído.
preview
Teoria dos grafos: Algoritmo de Dijkstra no trading

Teoria dos grafos: Algoritmo de Dijkstra no trading

O algoritmo de Dijkstra é uma solução clássica para a busca do caminho mais curto na teoria dos grafos, permitindo otimizar estratégias de trading por meio da modelagem de redes de mercado. Traders podem utilizá-lo para encontrar as rotas mais eficientes nos dados de um gráfico de candles.
preview
Implementação do circuito quântico de Quantum Reservoir Computing (QRC)

Implementação do circuito quântico de Quantum Reservoir Computing (QRC)

Trata-se de uma abordagem revolucionária do aprendizado de máquina aplicado ao trading por meio da computação quântica. O artigo descreve a aplicação prática de um sistema QRC adaptativo com ajuste contínuo incremental para prever movimentos do mercado em tempo real.