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
Redes neurais de maneira fácil (Parte 52): exploração com otimização e correção de distribuição

Redes neurais de maneira fácil (Parte 52): exploração com otimização e correção de distribuição

À medida que a política do Ator se afasta cada vez mais dos exemplos armazenados no buffer de reprodução de experiências, a eficácia do treinamento do modelo, baseado nesse buffer, diminui. Neste artigo, examinamos um algoritmo que aumenta a eficácia do uso de amostras em algoritmos de aprendizado por reforço.
preview
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: metodologia TDD (Parte 3)

Desenvolvimento de um Cliente MQTT para o MetaTrader 5: metodologia TDD (Parte 3)

Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos em detalhes como aplicar o princípio do desenvolvimento orientado por testes para implementar a troca de pacotes CONNECT/CONNACK. Ao final desta etapa, nosso cliente DEVE ser capaz de agir apropriadamente ao trabalhar com todos os possíveis resultados do servidor ao tentar se conectar.
preview
Algoritmos de otimização populacional: sistema imune micro-artificial (Micro Artificial Immune System, Micro-AIS)

Algoritmos de otimização populacional: sistema imune micro-artificial (Micro Artificial Immune System, Micro-AIS)

Este artigo fala sobre um método de otimização baseado nos princípios de funcionamento do sistema imunológico do organismo — Micro Artificial Immune System (Micro-AIS) — uma modificação do AIS. O Micro-AIS utiliza um modelo mais simples do sistema imunológico e operações mais simples de processamento de informações imunológicas. O artigo também aborda as vantagens e desvantagens do Micro-AIS em comparação com o AIS tradicional.
preview
Do básico ao intermediário: Passagem por valor ou por referência

Do básico ao intermediário: Passagem por valor ou por referência

Neste artigo você entenderá na prática a diferença entre passagem por valor e passagem por referência. Apesar de ser algo aparentemente simples e que não causa problemas. Muitos programadores com uma boa carga de experiência costumam tomar verdadeiras surras de seus códigos, justamente por conta deste pequeno detalhe. Saber quando, como e porque usar uma passagem por valor ou uma passagem por referência, fará grande diferença na sua vida como programador. 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
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
Determinação de taxas de câmbio justas com base na PPC usando dados do FMI

Determinação de taxas de câmbio justas com base na PPC usando dados do FMI

Criação, em Python, de um sistema de análise de taxas de câmbio baseado na paridade do poder de compra (PPC). O autor desenvolveu um algoritmo com 5 métodos de cálculo de taxas justas, utilizando dados do FMI. Trata-se de um guia prático de análise fundamentalista de moedas, processamento de dados econômicos e integração com sistemas de trading. Código completo de fonte aberta.
preview
Fatorando Matrizes — Uma modelagem mais prática

Fatorando Matrizes — Uma modelagem mais prática

Muito provavelmente você não tenha se dado conta, que a modelagem das matrizes estava um tanto quanto estranha. Já que não havia a indicação de linhas e colunas, mas apenas indicações de colunas. O que é muito estranho, quando se está lendo um código, que faz fatorações de matrizes. E se você estava esperando ver linhas e colunas sendo indicadas. Pode acabar ficando bastante confuso, no momento de tentar implementar a fatoração. Além do mais, aquela forma de modelar as matrizes, não é nem de longe a melhor maneira. Isto por que, quando modelamos matrizes daquela maneira, passamos a ter uma certa limitação, que nos obriga a usar outras técnicas, ou funções, que não seriam de fato necessárias. Isto quando a modelagem é feita de uma maneira um pouco mais adequada.
preview
Construção de um modelo de restrição de tendência de velas (Parte 1): Para EAs e indicadores técnicos

Construção de um modelo de restrição de tendência de velas (Parte 1): Para EAs e indicadores técnicos

Este artigo é voltado para desenvolvedores iniciantes e experientes em MQL5. Ele oferece um código que define indicadores para gerar sinais, limitando-os com base nas tendências de timeframes mais altos. Dessa forma, traders podem aprimorar suas estratégias ao incluir uma visão mais ampla do mercado, o que pode resultar em sinais de negociação potencialmente mais confiáveis.
preview
Construindo Expert Advisors Auto-otimizantes Com MQL5 E Python (Parte II): Ajustando Redes Neurais Profundas

Construindo Expert Advisors Auto-otimizantes Com MQL5 E Python (Parte II): Ajustando Redes Neurais Profundas

Modelos de aprendizado de máquina vêm com vários parâmetros ajustáveis. Nesta série de artigos, exploraremos como personalizar seus modelos de IA para se ajustar ao seu mercado específico utilizando a biblioteca SciPy.
preview
DoEasy. Controles (Parte 30): Animando o controle "ScrollBar"

DoEasy. Controles (Parte 30): Animando o controle "ScrollBar"

Neste artigo continuaremos a desenvolver o controle ScrollBar e começaremos a fazer a funcionalidade de interação com o mouse. Além disso, vamos expandir as listas de bandeiras de status e eventos com o mouse.
preview
Desenvolvendo um EA multimoeda (Parte 18): Automação da seleção de grupos considerando o período forward

Desenvolvendo um EA multimoeda (Parte 18): Automação da seleção de grupos considerando o período forward

Continuaremos automatizando etapas que anteriormente realizávamos manualmente. Desta vez, voltaremos à automação da segunda etapa, ou seja, a escolha do grupo ideal de instâncias individuais de estratégias de negociação, complementada pela capacidade de considerar os resultados dessas instâncias no período forward.
preview
Do básico ao intermediário: Estruturas (VII)

Do básico ao intermediário: Estruturas (VII)

Neste artigo, será mostrado como podemos lidar com problemas de forma a estruturar as coisas, a fim de criar uma solução mais fácil e atrativa. Apesar do conteúdo ser voltado para a didática, não representando assim um código real. Os conceitos e conhecimento vistos aqui, precisam de fato ser muito bem assimilados. Isto para que no futuro, você consiga acompanhar os códigos que iremos mostrar.
preview
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 9): Fluxo Externo

Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 9): Fluxo Externo

Este artigo explora uma nova dimensão de análise utilizando bibliotecas externas especificamente projetadas para análises avançadas. Essas bibliotecas, como o pandas, fornecem ferramentas poderosas para processar e interpretar dados complexos, permitindo que os traders obtenham percepções mais profundas sobre a dinâmica do mercado. Ao integrar essas tecnologias, podemos reduzir a lacuna entre dados brutos e estratégias acionáveis. Junte-se a nós enquanto estabelecemos as bases dessa abordagem inovadora e desbloqueamos o potencial de combinar tecnologia com expertise em trading.
preview
Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)

Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)

As últimas 2 partes foram dedicadas ao método transformador de decisões (DT), que modela sequências de ações no contexto de um modelo autorregressivo de recompensas desejadas. Neste artigo, vamos considerar outro algoritmo de otimização deste método.
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: Ponto Flutuante

Do básico ao intermediário: Ponto Flutuante

Este artigo é uma breve introdução ao que seria o ponto flutuante. Como este conteúdo é muito complicado, aconselho você o ler com calma e atenção. Não espere dominar o sistema de ponto flutuante de maneira rápida. O mesmo somente é dominado com o tempo e experiência de uso. Mas este artigo irá lhe ajudar a entender, por que as vezes sua aplicação, reporta um resultado diferente daquele esperado originalmente. 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
Redes neurais em trading: Modelo multidimensional de ponta a ponta para previsão de séries temporais (Conclusão)

Redes neurais em trading: Modelo multidimensional de ponta a ponta para previsão de séries temporais (Conclusão)

Apresentamos a parte final da série dedicada ao GinAR, um framework de redes neurais para previsão de séries temporais. Neste artigo, analisamos os resultados do teste do modelo com novos dados e avaliamos sua estabilidade em condições reais de mercado.
preview
Redes neurais de maneira fácil (Parte 55): Controle interno contrastivo (CIC)

Redes neurais de maneira fácil (Parte 55): Controle interno contrastivo (CIC)

O aprendizado contrastivo é um método de aprendizado de representação sem supervisão. Seu objetivo é ensinar o modelo a identificar semelhanças e diferenças nos conjuntos de dados. Neste artigo, discutiremos o uso de abordagens de aprendizado contrastivo para explorar diferentes habilidades do Ator.
preview
Redes neurais de maneira fácil (Parte 64): Método de clonagem de comportamento ponderada conservadora (CWBC)

Redes neurais de maneira fácil (Parte 64): Método de clonagem de comportamento ponderada conservadora (CWBC)

Pelo resultado dos testes realizados em artigos anteriores, concluímos que a qualidade da estratégia treinada depende muito da amostra de treinamento utilizada. Neste artigo, apresento a vocês um método simples e eficaz para selecionar trajetórias com o objetivo de treinar modelos.
preview
Reimaginando Estratégias Clássicas (Parte II): Rompimentos das Bandas de Bollinger

Reimaginando Estratégias Clássicas (Parte II): Rompimentos das Bandas de Bollinger

Este artigo explora uma estratégia de trading que integra a Análise Discriminante Linear (LDA) com Bandas de Bollinger, aproveitando previsões de zonas categóricas para gerar sinais estratégicos de entrada no mercado.
preview
Algoritmos avançados de execução de ordens em MQL5: TWAP, VWAP e ordens Iceberg

Algoritmos avançados de execução de ordens em MQL5: TWAP, VWAP e ordens Iceberg

Um framework MQL5 que oferece a traders de varejo algoritmos de execução de nível institucional (TWAP, VWAP, Iceberg) por meio de um gerenciador de execução unificado e de um analisador de desempenho, para fracionar ordens e analisar o desempenho com mais suavidade e precisão.
preview
Como integrar o conceito de Smart Money (OB) em combinação com o indicador Fibonacci para entrada ideal na operação

Como integrar o conceito de Smart Money (OB) em combinação com o indicador Fibonacci para entrada ideal na operação

As SMC (Order Block) são áreas-chave em que os traders institucionais realizam compras ou vendas significativas. Após uma movimentação considerável de preço, os níveis de Fibonacci ajudam a identificar um possível recuo desde o máximo recente de oscilação (swing high) até o mínimo de oscilação (swing low), de modo a determinar o ponto de entrada ideal na operação.
preview
Desenvolvendo um EA multimoeda (Parte 19): Criando etapas implementadas em Python

Desenvolvendo um EA multimoeda (Parte 19): Criando etapas implementadas em Python

Até agora, analisamos a automação da execução de procedimentos sequenciais de otimização de EAs exclusivamente no testador de estratégias padrão. Mas o que fazer se, entre essas execuções, quisermos processar alguns dados já obtidos por outros meios? Vamos tentar adicionar a possibilidade de criar novas etapas de otimização, executadas por programas escritos em Python.
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
O escore de propensão na inferência causalidade

O escore de propensão na inferência causalidade

O artigo examina o tema de pareamento na inferência causal. O pareamento é utilizado para comparar observações semelhantes em um conjunto de dados. Isso é necessário para determinar corretamente os efeitos causais e eliminar o viés. O autor explica como isso ajuda na construção de sistemas de negociação baseados em aprendizado de máquina, que se tornam mais estáveis em novos dados nos quais não foram treinados. O escore de propensão desempenha um papel central e é amplamente utilizado na inferência causal.
preview
Busca com restrições — Tabu Search (TS)

Busca com restrições — Tabu Search (TS)

O artigo analisa o algoritmo de busca tabu, um dos primeiros e mais conhecidos métodos meta-heurísticos. Exploraremos detalhadamente como o algoritmo funciona, desde a escolha da solução inicial até a exploração das soluções vizinhas, com foco no uso da lista tabu. O artigo cobre os aspectos-chave do algoritmo e suas particularidades.
preview
Criando um Painel de Administração de Trading em MQL5 (Parte VI): Interface de Funções Múltiplas (I)

Criando um Painel de Administração de Trading em MQL5 (Parte VI): Interface de Funções Múltiplas (I)

O papel do Administrador de Trading vai além das comunicações via Telegram; ele também pode realizar várias atividades de controle, incluindo gerenciamento de ordens, acompanhamento de posições e personalização da interface. Neste artigo, compartilharemos insights práticos sobre como expandir nosso programa para suportar múltiplas funcionalidades em MQL5. Esta atualização tem como objetivo superar a limitação atual do Painel de Administração de se concentrar principalmente na comunicação, permitindo que ele lide com uma gama mais ampla de tarefas.
preview
Redes neurais de maneira fácil (Parte 39): Go-Explore - uma abordagem diferente para exploração

Redes neurais de maneira fácil (Parte 39): Go-Explore - uma abordagem diferente para exploração

Continuamos com o tema da exploração do ambiente no aprendizado por reforço. Neste artigo, abordaremos mais um algoritmo, o Go-Explore, que permite explorar eficazmente o ambiente durante a fase de treinamento do modelo.
preview
Aprendendo MQL5 do iniciante ao profissional (Parte VI):  Fundamentos da criação de EAs

Aprendendo MQL5 do iniciante ao profissional (Parte VI): Fundamentos da criação de EAs

O artigo dá continuidade à série para iniciantes. Aqui serão abordados os princípios básicos da construção de EAs. Primeiro, criaremos um EA que operará sem indicadores, usando ordens pendentes, depois, criaremos um segundo EA, baseado no indicador padrão MA, operando com ordens a preço atual. Parto do princípio de que você já não é totalmente iniciante e domina o material dos artigos anteriores.
preview
Superando Desafios de Integração com ONNX

Superando Desafios de Integração com ONNX

ONNX é uma ótima ferramenta para integrar códigos complexos de IA entre diferentes plataformas, sendo uma ferramenta excelente, mas que vem com alguns desafios que devem ser superados para aproveitar ao máximo suas capacidades. Neste artigo, discutimos os problemas mais comuns que você pode enfrentar e como mitigá-los.
preview
Um algoritmo de seleção de características usando aprendizado baseado em energia em MQL5 puro

Um algoritmo de seleção de características usando aprendizado baseado em energia em MQL5 puro

Neste artigo, apresentamos a implementação de um algoritmo de seleção de características descrito em um artigo acadêmico intitulado "FREL: Um algoritmo estável de seleção de características", chamado de Ponderação de Características como Aprendizado Baseado em Energia Regularizada.
preview
Algoritmo de Fechadura Codificada (Code Lock Algorithm, CLA)

Algoritmo de Fechadura Codificada (Code Lock Algorithm, CLA)

Neste artigo, vamos repensar as fechaduras codificadas, transformando-as de mecanismos de proteção em ferramentas para resolver tarefas complexas de otimização. Descubra o mundo das fechaduras codificadas, não como simples dispositivos de segurança, mas como inspiração para uma nova abordagem à otimização. Vamos criar uma população inteira de "fechaduras", onde cada uma representa uma solução única para um problema. Em seguida, desenvolveremos um algoritmo que "destrancará" essas fechaduras e encontrará soluções ideais em várias áreas, desde o aprendizado de máquina até o desenvolvimento de sistemas de trading.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 33): Kernels de Processos Gaussianos

Técnicas do MQL5 Wizard que você deve conhecer (Parte 33): Kernels de Processos Gaussianos

Os Kernels de Processos Gaussianos são a função de covariância da Distribuição Normal que pode desempenhar um papel em previsões. Exploramos esse algoritmo único em uma classe de sinal personalizada em MQL5 para ver se pode ser utilizado como um sinal principal de entrada e saída.
preview
Teoria das Categorias em MQL5 (Parte 19): Indução do quadrado de naturalidade

Teoria das Categorias em MQL5 (Parte 19): Indução do quadrado de naturalidade

Continuamos a análise das transformações naturais, examinando a indução do quadrado de naturalidade. Por causa das limitações na implementação de várias moedas para os Expert Advisors desenvolvidos com o assistente MQL5, temos de buscar soluções criativas e eficientes para a classificação de dados usando scripts. As principais áreas de aplicação consideradas são a classificação de variações de preço e, consequentemente, sua previsão.
preview
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)

Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)

Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos como está organizando nosso código, os primeiros arquivos de cabeçalho e classes, e como escrever testes. Este artigo também inclui notas breves sobre o desenvolvimento orientado por testes (Test-Driven Development) e sua aplicação neste projeto.
preview
Algoritmos de otimização populacional: simulação de têmpera isotrópica (Simulated Isotropic Annealing, SIA). Parte II

Algoritmos de otimização populacional: simulação de têmpera isotrópica (Simulated Isotropic Annealing, SIA). Parte II

A primeira parte do artigo foi dedicada ao conhecido e popular algoritmo de têmpera simulada, onde foram analisadas suas vantagens e descritos detalhadamente os pontos fracos. A segunda parte do artigo é dedicada a uma transformação radical do algoritmo, seu renascimento em um novo algoritmo de otimização, a simulação de têmpera isotrópica, SIA.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 24): Médias Móveis

Técnicas do MQL5 Wizard que você deve conhecer (Parte 24): Médias Móveis

Médias Móveis são um indicador muito comum, usado e compreendido pela maioria dos traders. Exploramos possíveis casos de uso que podem não ser tão comuns dentro dos Expert Advisors montados no MQL5 Wizard.
preview
Introdução ao Connexus (Parte 1): Como usar a função WebRequest?

Introdução ao Connexus (Parte 1): Como usar a função WebRequest?

Este artigo é o início de uma série de desenvolvimentos para uma biblioteca chamada “Connexus”, que tem como objetivo facilitar requisições HTTP com MQL5. O objetivo deste projeto é fornecer ao usuário final essa oportunidade e mostrar como usar esta biblioteca auxiliar. Eu procurei torná-lo o mais simples possível para facilitar o estudo e proporcionar a possibilidade de futuros desenvolvimentos.
preview
Redes neurais em trading: Modelo adaptativo multiagente (MASA)

Redes neurais em trading: Modelo adaptativo multiagente (MASA)

Apresento o framework adaptativo multiagente MASA, que une aprendizado por reforço e estratégias adaptativas, oferecendo um equilíbrio harmonioso entre rentabilidade e controle de riscos em condições de mercado turbulentas.
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.