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
Algoritmo de arquearia — Archery Algorithm (AA)

Algoritmo de arquearia — Archery Algorithm (AA)

Neste artigo, examinamos detalhadamente o algoritmo de otimização inspirado na arquearia, com foco no uso do método de roleta como mecanismo de seleção de áreas promissoras para a colocação das "flechas". Esse método permite avaliar a qualidade das soluções e selecionar as posições mais promissoras para um estudo mais aprofundado.
preview
Redes neurais de maneira fácil (Parte 68): Otimização off-line de políticas baseada em preferências

Redes neurais de maneira fácil (Parte 68): Otimização off-line de políticas baseada em preferências

Desde os primeiros artigos sobre aprendizado por reforço, a gente sempre falou de duas coisas: como explorar o ambiente e definir a função de recompensa. Os artigos mais recentes foram dedicados à exploração durante o aprendizado off-line. Neste aqui, quero apresentar a você um algoritmo em que os autores resolveram deixar de lado a função de recompensa.
preview
Integre seu próprio LLM no EA (Parte 3): Treinando seu próprio LLM com CPU

Integre seu próprio LLM no EA (Parte 3): Treinando seu próprio LLM com CPU

Com o rápido desenvolvimento da inteligência artificial hoje em dia, os modelos de linguagem (LLMs) são uma parte importante da IA, então 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 depois aplicá-los ao trading algorítmico. Esta série de artigos adotará uma abordagem passo a passo para alcançar esse objetivo.
preview
De Novato a Especialista: A Jornada Essencial no Comércio MQL5

De Novato a Especialista: A Jornada Essencial no Comércio MQL5

Desbloqueie seu potencial! Você está cercado de oportunidades. Descubra 3 segredos principais para iniciar sua jornada MQL5 ou levá-la para o próximo nível. Vamos mergulhar na discussão de dicas e truques para iniciantes e profissionais.
preview
Do básico ao intermediário: União (II)

Do básico ao intermediário: União (II)

Este será um artigo muito divertido e bastante curioso em diversos aspectos. Ele abordará a união para resolver um problema discutido anteriormente. Além disso, exploraremos algumas situações inusitadas que podem surgir ao usar uma união em aplicativos. O conteúdo exposto aqui visa pura e simplesmente a didática. De modo algum deve ser encarado como uma aplicação cuja finalidade não seja o aprendizado e estudo dos conceitos mostrados.
preview
Reimaginando Estratégias Clássicas (Parte V): Análise de Múltiplos Símbolos no USDZAR

Reimaginando Estratégias Clássicas (Parte V): Análise de Múltiplos Símbolos no USDZAR

Nesta série de artigos, revisitamos estratégias clássicas para verificar se podemos melhorá-las usando IA. No artigo de hoje, examinaremos uma estratégia popular de análise de múltiplos símbolos utilizando uma cesta de ativos correlacionados. Focaremos no par de moedas exótico USDZAR.
preview
Do básico ao intermediário: Indicador (V)

Do básico ao intermediário: Indicador (V)

Neste artigo, iremos ver como podemos lidar com requerimentos do usuário a fim de mudar o modo de plotagem do gráfico. Isto para que consigamos fazer com que um indicador, voltado a utilizar o modo de plotagem gráfica atual, não fique estranho ou diferente do que seria esperado pelo usuário do MetaTrader 5.
preview
Redes neurais em trading: Transformer parâmetro-eficiente com atenção segmentada (PSformer)

Redes neurais em trading: Transformer parâmetro-eficiente com atenção segmentada (PSformer)

Apresentamos o novo framework PSformer, que adapta a arquitetura do Transformer puro para resolver tarefas de previsão de séries temporais multivariadas. O framework é baseado em duas inovações principais: o mecanismo de compartilhamento de parâmetros (PS) e a atenção aos segmentos espaço-temporais (SegAtt).
preview
Interpretação de modelos: Compreensão mais profunda dos modelos de aprendizado de máquina

Interpretação de modelos: Compreensão mais profunda dos modelos de aprendizado de máquina

O aprendizado de máquina é uma área fascinante e essencial para todos, independentemente da experiência que possuam. Neste artigo, vamos mergulhar nos detalhes dos mecanismos que fundamentam os modelos desenvolvidos, desvendaremos o intricado universo das características, das previsões e das soluções robustas, e alcançaremos uma interpretação cristalina dos modelos. Descubra como “fazer concessões”, aprimorar previsões, priorizar a importância dos parâmetros e fazer escolhas assertivas. Este texto servirá de guia para você aprimorar a eficácia dos modelos de aprendizado de máquina e maximizar os benefícios das metodologias aplicadas.
preview
Do básico ao intermediário: Struct (I)

Do básico ao intermediário: Struct (I)

Que tal começarmos a estudar estruturas de uma forma bem mais simples, prática e agradável? Isto por que estruturas é um dos fundamentos, ou pilares da programação. Seja ela estruturada ou não. Sei que muitos acham que estruturas são apenas coleções de dados. Mas posso garantir que elas são muito mais do que isto. E aqui iremos começar a explorar este novo universo, de uma maneira que seja a mais didática possível.
preview
Negociando com o Calendário Econômico do MQL5 (Parte 5): Aprimorando o Painel com Controles Responsivos e Botões de Filtro

Negociando com o Calendário Econômico do MQL5 (Parte 5): Aprimorando o Painel com Controles Responsivos e Botões de Filtro

Neste artigo, criamos botões para filtros de pares de moedas, níveis de importância, filtros de tempo e uma opção de cancelamento para melhorar o controle do painel. Esses botões são programados para responder dinamicamente às ações do usuário, permitindo uma interação contínua. Também automatizamos seu comportamento para refletir mudanças em tempo real no painel. Isso aprimora a funcionalidade geral, a mobilidade e a responsividade do painel.
preview
Do básico ao intermediário: Struct (I)

Do básico ao intermediário: Struct (I)

Que tal começarmos a estudar estruturas de uma forma bem mais simples, prática e agradável? Isto por que estruturas é um dos fundamentos, ou pilares da programação. Seja ela estruturada ou não. Sei que muitos acham que estruturas são apenas coleções de dados. Mas posso garantir que elas são muito mais do que isto. E aqui iremos começar a explorar este novo universo, de uma maneira que seja a mais didática possível.
preview
Como publicar código no CodeBase: Guia prático

Como publicar código no CodeBase: Guia prático

Neste artigo, vamos analisar, com exemplos reais, como publicar diferentes tipos de programas para o terminal na Biblioteca de códigos-fonte em linguagem MQL5.
preview
Simulação de mercado (Parte 16): Sockets (X)

Simulação de mercado (Parte 16): Sockets (X)

Estamos a um passo de concluir este desafio. Porém, quero que você, caro leitor, procure entender primeiro estes dois artigos. Tanto este como o anterior. Isto para que consiga de fato entender o próximo onde abordarei exclusivamente a parte referente a programação em MQL5. Apesar de que ali a coisa será igualmente voltada a ser fácil de entender. Se você não compreender estes dois últimos artigos. Com toda a certeza terá grandes problemas em entender o próximo. O motivo disto é simples: As coisas vão se acumulando. Quando mais coisas é preciso fazer, mais coisas é preciso criar e entender para poder atingir o objetivo.
preview
Algoritmos de otimização populacional: Mudamos a forma e deslocamos as distribuições de probabilidade e testamos com o "Cabeçudinho Inteligente" (Smart Cephalopod, SC)

Algoritmos de otimização populacional: Mudamos a forma e deslocamos as distribuições de probabilidade e testamos com o "Cabeçudinho Inteligente" (Smart Cephalopod, SC)

Com este artigo investigaremos como a mudança de forma das distribuições de probabilidade afetam o desempenho dos algoritmos de otimização. Realizaremos experimentos baseados no algoritmo de teste "cabeçudinho inteligente" (Smart Cephalopod, SC) para avaliar o desempenho de diferentes distribuições de probabilidade no contexto de tarefas de otimização.
preview
Algoritmos de otimização populacionais: algoritmo híbrido de otimização de forrageamento bacteriano com algoritmo genético (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

Algoritmos de otimização populacionais: algoritmo híbrido de otimização de forrageamento bacteriano com algoritmo genético (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)

Este artigo apresenta uma nova abordagem para resolver problemas de otimização, combinando as ideias dos algoritmos de otimização de forrageamento bacteriano (BFO) com as técnicas usadas no algoritmo genético (GA), resultando no algoritmo híbrido BFO-GA. Ele utiliza o comportamento de enxameamento das bactérias para a busca global da solução ótima e operadores genéticos para refinar os ótimos locais. Ao contrário do BFO original, as bactérias agora podem mutar e herdar genes.
preview
Simplificando a negociação com base em notícias (Parte 4): Aumentando o desempenho

Simplificando a negociação com base em notícias (Parte 4): Aumentando o desempenho

Neste artigo, serão apresentados métodos para melhorar o desempenho do EA no testador de estratégias, além da implementação de um código para dividir o horário dos eventos de notícias em categorias por hora. O acesso a esses eventos será permitido apenas no horário especificado para cada um. Isso permite que o EA gerencie operações de maneira eficiente com base nos eventos, tanto em condições de alta quanto de baixa volatilidade.
preview
Do básico ao intermediário: Herança

Do básico ao intermediário: Herança

Este com toda a certeza, é um artigo, que você deverá dedicar um bom tempo a fim de entender como, por que as coisas mostradas aqui funcionam. Isto pelo simples fato de que, tudo que será visto e mostrado aqui, é originalmente direcionado ao que seria uma programação orientada em objetos. Mas que na verdade, tem como base e princípios uma programação estrutural.
preview
Do básico ao intermediário: Indicador (IV)

Do básico ao intermediário: Indicador (IV)

Neste artigo, vermos como é fácil de criar e implementar uma metodologia operacional, visando colorir candles. Sendo este um conceito, que diversos operadores apreciam imensamente. Porém, é preciso se tomar cuidado ao implementar tal tipo de coisa. Isto para que as barras, ou candles, mantenham a sua aparência original. Visando assim não prejudicar a leitura que muitos operadores fazem candle a candle.
preview
Desenvolvendo Sistemas de Trading ICT Avançados: Implementando Order Blocks em um Indicador

Desenvolvendo Sistemas de Trading ICT Avançados: Implementando Order Blocks em um Indicador

Neste artigo, vamos aprender a criar um indicador que detecta, desenha e emite alertas sobre a mitigação de order blocks. Também veremos em detalhes como identificar esses blocos no gráfico, configurar alertas precisos e visualizar sua posição utilizando retângulos, para compreender melhor a ação do preço. Este indicador servirá como uma ferramenta-chave para traders que seguem os Smart Money Concepts e a metodologia do Inner Circle Trader.
preview
Percepções de Negociação por Meio do Volume: Confirmação de Tendência

Percepções de Negociação por Meio do Volume: Confirmação de Tendência

A Técnica Aprimorada de Confirmação de Tendência combina ação de preço, análise de volume e aprendizado de máquina para identificar movimentos genuínos do mercado. Ela requer tanto rompimentos de preço quanto aumentos de volume (50% acima da média) para validação da negociação, enquanto utiliza uma rede neural LSTM para confirmação adicional. O sistema emprega dimensionamento de posição baseado em ATR e gerenciamento dinâmico de risco, tornando-o adaptável a várias condições de mercado, ao mesmo tempo em que filtra sinais falsos.
preview
Indicador de força e direção da tendência em barras 3D

Indicador de força e direção da tendência em barras 3D

Vamos considerar uma nova abordagem para analisar tendências de mercado, baseada em visualização tridimensional e análise tensora da microestrutura do mercado.
preview
Desenvolvendo um sistema de Replay (Parte 75): Um novo Chart Trade (II)

Desenvolvendo um sistema de Replay (Parte 75): Um novo Chart Trade (II)

Neste artigo explicarei grande parte da classe C_ChartFloatingRAD. Esta é responsável por fazer com que o Chart Trade funcione. Porém aqui não irei de fato terminar a explicação. A mesma será finalizada no próximo artigo. Já que o conteúdo neste artigo é bastante denso e precisa ser compreendido a fundo. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.
preview
Adicionando um LLM personalizado a um robô investidor (Parte 5): Desenvolvimento e teste de estratégia de trading com LLM (I) - Ajuste fino

Adicionando um LLM personalizado a um robô investidor (Parte 5): Desenvolvimento e teste de estratégia de trading com LLM (I) - Ajuste fino

Os modelos de linguagem (LLMs) são uma parte importante da inteligência artificial que evolui rapidamente. E para aproveitar isso devemos pensar em como integrar LLMs avançados em nossa negociação algorítmica Muitos acham desafiador ajustar esses modelos de acordo com suas necessidades, implantá-los localmente e, logo, aplicá-los à negociação algorítmica. Esta série de artigos explorará uma abordagem passo a passo para alcançar esse objetivo.
preview
Otimização por Quimiotaxia Bacteriana (BCO)

Otimização por Quimiotaxia Bacteriana (BCO)

Este artigo apresenta a versão original do algoritmo de otimização por quimiotaxia bacteriana (Bacterial Chemotaxis Optimization, BCO) e sua variante modificada. Examinaremos detalhadamente todas as diferenças, com foco especial na nova versão BCOm, que simplifica o mecanismo de movimento das bactérias, reduz a dependência do histórico de mudanças de posição e emprega operações matemáticas mais simples em comparação com a versão original, que possui um alto custo computacional. Além disso, serão realizados testes e apresentadas conclusões.
preview
Redes neurais em trading: Transformer com codificação relativa

Redes neurais em trading: Transformer com codificação relativa

O aprendizado autossupervisionado pode ser uma forma eficaz de analisar grandes volumes de dados brutos não rotulados. O principal fator de sucesso é a adaptação dos modelos às particularidades dos mercados financeiros, o que melhora o desempenho dos métodos tradicionais. Este artigo apresentará um mecanismo alternativo de atenção, que permite levar em conta dependências relativas e inter-relações entre os dados brutos.
preview
Avaliação visual e ajuste da negociação no MetaTrader 5

Avaliação visual e ajuste da negociação no MetaTrader 5

No testador de estratégias, é possível não apenas otimizar os parâmetros do robô de negociação. Vamos mostrar como avaliar, após o fato, o histórico de negociação de sua conta e fazer ajustes na negociação dentro do testador, alterando os tamanhos dos stop orders das posições abertas.
preview
Simulação de mercado (Parte 09): Sockets (III)

Simulação de mercado (Parte 09): Sockets (III)

Este artigo é continuação do artigo anterior. Aqui vamos ver como o Expert Advisor será implementado. Mas principalmente como deverá ser feito o código do servidor. Isto por que, o código que foi visto no artigo anterior não é o suficiente para que possamos de fato fazer com que as coisas funcionem como deverão. Então é necessário que você veja ambos artigos para compreender mais profundamente o que estará acontecendo.
preview
Teoria das Categorias em MQL5 (Parte 21): Transformações naturais com LDA

Teoria das Categorias em MQL5 (Parte 21): Transformações naturais com LDA

Este artigo, o 21º de nossa série, continua nossa análise das transformações naturais e de como elas podem ser implementadas usando a análise discriminante linear. Assim como no artigo anterior, a implementação é apresentada no formato de uma classe de sinal.
preview
Ciência de dados e aprendizado de máquina (Parte 29): Como selecionar os melhores dados de Forex para treinar IA

Ciência de dados e aprendizado de máquina (Parte 29): Como selecionar os melhores dados de Forex para treinar IA

Neste artigo, analisamos em detalhes os aspectos importantes para a escolha dos dados mais relevantes e de qualidade do mercado Forex e para melhorar o desempenho dos modelos de inteligência artificial.
preview
Análise de todas as variantes do movimento do preço em um computador quântico da IBM

Análise de todas as variantes do movimento do preço em um computador quântico da IBM

Usamos o computador quântico da IBM para abrir todos os cenários possíveis de movimento do preço. Parece ficção científica? Bem-vindo ao mundo dos cálculos quânticos aplicados ao trading!
preview
Desenvolvendo um sistema de Replay (Parte 52): Complicando as coisas (IV)

Desenvolvendo um sistema de Replay (Parte 52): Complicando as coisas (IV)

Neste artigo vamos fazer uma mudança no indicador de mouse a fim de poder efetuar a interação com o indicador de controle, já que a interação está sendo feita de forma errática.
preview
Simulação de mercado (Parte 10): Sockets (IV)

Simulação de mercado (Parte 10): Sockets (IV)

Aqui neste artigo mostrei o que você precisa fazer para começar a usar o Excel para controlar o MetaTrader 5. Mas faremos isto de uma forma bastante interessante. Para fazer isto iremos usar um Add-in no Excel. Isto para não precisar de fato fazer uso do VBA presente no Excel. Se você não sabe de que Add-in estou falando. Veja este artigo e aprenda como fazer para programar em Python diretamente dentro do Excel.
preview
Simulação de mercado (Parte 22): Iniciando o SQL (V)

Simulação de mercado (Parte 22): Iniciando o SQL (V)

Antes que você chute o balde, e decida abandonar o estudo sobre como usar o SQL. Deixe-me lembrá-lo, meu caro leitor, que aqui estamos ainda usando apenas o básico do básico. Ainda não exploramos algumas coisas que são possíveis de serem feitas no SQL. Assim que as explorarmos você verá que o SQL é bem mais prático do que parece. Mesmo que muito provavelmente, eu venha a mudar a direção do que estamos criando. Isto por que, o processo de criação é dinâmico. Irei mostrar um pouco mais sobre como fazer as coisas no SQL. Isto por que, ele de fato é algo que você precisa entender e conhecer. Ficar simplesmente achando que é mais capaz, que toda uma comunidade de programadores e desenvolvedores, apenas lhe fará perder tempo e oportunidade. Tenha calma, pois a coisa irá se tornar ainda mais interessante.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 16): Uma nova perspectiva sobre árvores de decisão

Ciência de Dados e Aprendizado de Máquina (Parte 16): Uma nova perspectiva sobre árvores de decisão

Na última parte da nossa série sobre aprendizado de máquina e trabalho com big data, voltamos a falar sobre as árvores de decisão. Este artigo é destinado a traders que desejam entender o papel das árvores de decisão na análise de tendências de mercado. Aqui, reunimos todas as informações principais sobre a estrutura, o propósito e o uso dessas árvores. Vamos explorar as raízes e os ramos das árvores algorítmicas e descobrir como elas podem ser aplicadas na tomada de decisões de negociação. Vamos juntos dar um novo olhar às árvores de decisão e ver como elas podem ajudar a superar as dificuldades nos mercados financeiros.
preview
Redes neurais de maneira fácil (Parte 75): aumentando a produtividade dos modelos de previsão de trajetórias

Redes neurais de maneira fácil (Parte 75): aumentando a produtividade dos modelos de previsão de trajetórias

Os modelos que estamos criando estão se tornando cada vez maiores e mais complexos. Com isso, aumentam os custos não apenas para o treinamento, mas também para a operação. Além disso, muitas vezes nos deparamos com situações em que o tempo de tomada de decisão é crítico. E, por isso, voltamos nossa atenção para métodos de otimização de desempenho dos modelos sem perder qualidade.
preview
Redes neurais de maneira fácil (Parte 81): Análise da dinâmica dos dados considerando o contexto (CCMR)

Redes neurais de maneira fácil (Parte 81): Análise da dinâmica dos dados considerando o contexto (CCMR)

Em trabalhos anteriores, sempre avaliamos o estado atual do ambiente. No entanto, a dinâmica das mudanças dos indicadores sempre ficou "nos bastidores". Neste artigo, quero apresentar a vocês um algoritmo que permite avaliar a mudança direta dos dados entre dois estados consecutivos do ambiente.
preview
Algoritmo da Cauda de Cometa (Comet Tail Algorithm, CTA)

Algoritmo da Cauda de Cometa (Comet Tail Algorithm, CTA)

Neste artigo, vamos explorar o novo algoritmo de otimização autoral CTA (Comet Tail Algorithm), que se inspira em objetos cósmicos únicos, nomeadamente em cometas e suas impressionantes caudas, formadas quando se aproximam do Sol. Esse algoritmo é baseado no conceito de movimento dos cometas e suas caudas, e foi projetado para encontrar soluções ótimas em problemas de otimização.
preview
Desenvolvendo um EA multimoeda (Parte 15): Preparando o EA para o trading real

Desenvolvendo um EA multimoeda (Parte 15): Preparando o EA para o trading real

À medida que nos aproximamos de um EA pronto, é necessário prestar atenção em questões secundárias na etapa de teste da estratégia de trading, mas que se tornam importantes ao migrar para o trading real.
preview
Do básico ao intermediário: Array (IV)

Do básico ao intermediário: Array (IV)

Neste artigo iremos ver como podemos fazer algo muito parecido com o encontrado em linguagens como C, C++ e Java. Onde podemos enviar um número quase infinito de parâmetros para dentro de uma função ou procedimento. Apesar de aparentemente ser um tópico avançado. Na minha visão, o que será visto aqui, pode muito bem ser implementado por qualquer iniciante. Desde que ele tenha compreendido os conceitos vistos arteriormente. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.