Artigos sobre programação na linguagem 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
Dominando Registros de Log (Parte 1): Conceitos Fundamentais e Primeiros Passos em MQL5

Dominando Registros de Log (Parte 1): Conceitos Fundamentais e Primeiros Passos em MQL5

Bem-vindo ao início de mais uma jornada! Este artigo abre uma série especial onde criaremos, passo a passo, uma biblioteca para manipulação de logs, feita sob medida para quem desenvolve na linguagem MQL5.
preview
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 5): Volatility Navigator EA

Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 5): Volatility Navigator EA

Determinar a direção do mercado pode ser simples, mas saber quando entrar pode ser desafiador. Como parte da série intitulada "Desenvolvimento do Kit de Ferramentas de Análise de Price Action", tenho o prazer de apresentar mais uma ferramenta que fornece pontos de entrada, níveis de take profit e definições de stop loss. Para isso, utilizamos a linguagem de programação MQL5. Vamos nos aprofundar em cada etapa neste artigo.
preview
Redes neurais no trading: Dupla clusterização de séries temporais (DUET)

Redes neurais no trading: Dupla clusterização de séries temporais (DUET)

O framework DUET propõe uma abordagem inovadora para a análise de séries temporais, combinando clusterização temporal e de canais para identificar padrões ocultos nos dados analisados. Isso permite adaptar os modelos às mudanças ao longo do tempo e aumentar a precisão das previsões por meio da eliminação de ruídos.
preview
Criação de um painel de administração de trading no MQL5 (Parte IV): Segurança no login

Criação de um painel de administração de trading no MQL5 (Parte IV): Segurança no login

Imagine que um invasor tenha conseguido entrar no sistema de gerenciamento de trading e obtido acesso aos computadores e ao painel de administração usados para transmitir informações valiosas a milhões de traders em todo o mundo. Isso pode resultar em consequências catastróficas, como o envio não autorizado de mensagens enganosas ou cliques acidentais em botões que disparam ações indesejadas. Neste artigo, analisaremos as medidas de segurança do MQL5 e os novos recursos de proteção implementados em nosso painel de administração para evitar tais ameaças. Ao aprimorar nossos protocolos de segurança, buscamos proteger nossos canais de comunicação e manter a confiança dos membros de nossa comunidade de trading.
preview
Redes neurais em trading: Modelo hiperbólico de difusão latente (HypDiff)

Redes neurais em trading: Modelo hiperbólico de difusão latente (HypDiff)

Esse artigo analisa formas de codificar dados brutos no espaço latente hiperbólico por meio de processos de difusão anisotrópicos. Isso ajuda a preservar com mais precisão as características topológicas da situação atual do mercado e melhora a qualidade de sua análise.
preview
Introdução ao MQL5 (Parte 10): Um Guia para Iniciantes sobre como Trabalhar com Indicadores Embutidos no MQL5

Introdução ao MQL5 (Parte 10): Um Guia para Iniciantes sobre como Trabalhar com Indicadores Embutidos no MQL5

Este artigo introduz o trabalho com indicadores embutidos no MQL5, com foco na criação de um Expert Advisor (EA) baseado em RSI usando uma abordagem orientada a projeto. Você aprenderá a recuperar e utilizar valores de RSI, lidar com varreduras de liquidez e aprimorar a visualização de trades usando objetos no gráfico. Além disso, o artigo enfatiza a gestão eficaz de risco, incluindo a definição de risco baseado em porcentagem, implementação de relações risco-retorno e aplicação de modificações de risco para garantir lucros.
preview
Redes neurais em trading: Modelos bidimensionais do espaço de conexões (Conclusão)

Redes neurais em trading: Modelos bidimensionais do espaço de conexões (Conclusão)

Damos continuidade ao estudo do framework inovador Chimera, um modelo bidimensional do espaço de estados que utiliza tecnologias de redes neurais para análise de séries temporais multidimensionais. Esse método garante alta precisão de previsão com baixo custo computacional.
preview
Algoritmo de Otimização de Bilhar — Billiards Optimization Algorithm (BOA)

Algoritmo de Otimização de Bilhar — Billiards Optimization Algorithm (BOA)

Inspirado no jogo clássico de bilhar, o método BOA modela o processo de busca por soluções ótimas como uma partida em que as bolas tentam cair nas caçapas, que simbolizam os melhores resultados. Neste artigo, analisaremos os fundamentos do funcionamento do BOA, seu modelo matemático e sua eficácia na resolução de diferentes problemas de otimização.
preview
Simulação de mercado: Position View (V)

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

Apesar do que foi visto no artigo anterior, se algo aparentemente simples. Ali, temos diversos problemas e muitas coisas a serem resolvidas e feita. Você caro leitor, pode imaginar que tudo é fácil e simples. E de maneira inocente, vai simplesmente aceitando o que lhe é apresentado. Isto é uma falha, na qual você, caro leitor, deverá tentar se livrar. Mas pior do que aceitar, é simplesmente, não entender e tentar usar algo sem de fato compreender o que está sendo usado. Não é raro, entre iniciantes, a fase de cópia e cola. Porém, caso você não queira ficar sempre nesta, é bom aprender como usar certas ferramentas. E uma das ferramentas mais utilizadas por programadores é a documentação. E a segunda ferramenta é os testes e arquivos de log. Aqui veremos como fazer isto.
preview
MQL5 Trading Toolkit (Parte 5): Expansão da biblioteca EX5 para gerenciamento do histórico com funções do último ordem pendente executada

MQL5 Trading Toolkit (Parte 5): Expansão da biblioteca EX5 para gerenciamento do histórico com funções do último ordem pendente executada

Aprenda a criar um módulo EX5 com funções exportáveis que permite consultar e armazenar facilmente os dados da última ordem pendente executada. Neste guia passo a passo, aprimoraremos a biblioteca EX5 de gerenciamento de histórico (History Management) desenvolvendo funções especializadas e independentes para extrair as principais propriedades da última ordem pendente executada. Entre essas propriedades estão o tipo de ordem, o horário de colocação, o horário de execução, o tipo de execução e outros dados importantes necessários para o gerenciamento e análise eficaz do histórico de operações com ordens pendentes.
preview
Redes neurais em trading: Sistema multiagente com confirmação conceitual (Conclusão)

Redes neurais em trading: Sistema multiagente com confirmação conceitual (Conclusão)

Continuamos a implementação das abordagens propostas pelos autores do framework FinCon. O FinCon é um sistema multiagente baseado em grandes modelos de linguagem (LLM). Hoje vamos implementar os módulos necessários e realizar testes abrangentes do modelo com dados históricos reais.
preview
Visualização de estratégias em MQL5: distribuindo os resultados da otimização em gráficos de critérios

Visualização de estratégias em MQL5: distribuindo os resultados da otimização em gráficos de critérios

Neste artigo, escreveremos um exemplo de visualização do processo de otimização e exibiremos os três melhores passes para quatro critérios de otimização. Além disso, implementaremos a possibilidade de selecionar um dos três melhores passes para exibir seus dados em tabelas e no gráfico.
preview
Redes neurais em trading: Modelo universal de geração de trajetórias (UniTraj)

Redes neurais em trading: Modelo universal de geração de trajetórias (UniTraj)

Compreender o comportamento de agentes é importante em diversas áreas, mas a maioria dos métodos se concentra em uma única tarefa (compreensão, remoção de ruído ou previsão), o que reduz sua eficácia em cenários reais. Neste artigo, apresento um modelo capaz de se adaptar à solução de diferentes tarefas.
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
Automatizando Estratégias de Trading em MQL5 (Parte 5): Desenvolvendo a Estratégia Adaptive Crossover RSI Trading Suite

Automatizando Estratégias de Trading em MQL5 (Parte 5): Desenvolvendo a Estratégia Adaptive Crossover RSI Trading Suite

Neste artigo, desenvolvemos o Sistema Adaptive Crossover RSI Trading Suite, que utiliza cruzamentos de médias móveis de 14 e 50 períodos para geração de sinais, confirmados por um filtro de RSI de 14 períodos. O sistema inclui um filtro de dias de negociação, setas de sinal com anotações e um painel em tempo real para monitoramento. Essa abordagem garante precisão e adaptabilidade no trading automatizado.
preview
Otimização com Jogo do Caos — Chaos Game Optimization (CGO)

Otimização com Jogo do Caos — Chaos Game Optimization (CGO)

Apresentamos o novo algoritmo meta-heurístico Chaos Game Optimization (CGO), que demonstra capacidade única de manter alta eficiência em tarefas de grande dimensionalidade. Ao contrário da maioria dos algoritmos de otimização, o CGO não apenas não perde desempenho, como também às vezes melhora sua performance quando a complexidade do problema aumenta, o que constitui sua principal característica.
preview
Simulação de mercado: Iniciando o SQL no MQL5 (II)

Simulação de mercado: Iniciando o SQL no MQL5 (II)

Apesar de muitos imaginarem que podemos usar tranquilamente códigos em SQL dentro de outros códigos. Isto normalmente não se aplica. Devido ao fato, de que um código SQL, será sempre colocado dentro de um executável, como sendo uma string. E este fato de colocar o código SQL como sendo uma string, apesar de não ser problemático, para pequenos trechos de código. Podem sim ser algo que nos causará muitos transtornos e uma baita de uma dor de cabeça.
preview
Simulação de mercado: Position View (XIX)

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

Uma das coisas que mais tem me incomodado, é o fato da classe C_ElementsTrade, ter em seu código, coisas que permitem acessar as posições. Não entenda isto como uma falha, pois de fato não é. Apenas torna algumas partes do que precisaremos fazer no futuro, algo um tanto quanto sujeitas a erros. Todo o trabalho que tem sido feito, para implementar o indicador de posição. Tem sido feito, pensando em usar ele no replay/simulador. Porém, uma vez que ele esteja sendo usado no replay/simulador. Não teremos de forma alguma acesso a uma posição real. Sendo assim, qualquer chamada da biblioteca MQL5, cujo objetivo é acessar dados da posição. Não terão qualquer efeito no código.
preview
Optimização por nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Prática

Optimização por nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Prática

Neste artigo, continuaremos a explorar a implementação do algoritmo ACMO (Atmospheric Cloud Model Optimization). Em particular, discutiremos dois aspectos-chave: o movimento das nuvens para regiões de baixa pressão e a modelagem do processo de chuva, incluindo a inicialização das gotas e sua distribuição entre as nuvens. Analisaremos também outros métodos importantes para a gestão do estado das nuvens e para garantir sua interação com o ambiente.
preview
Algoritmo do Restaurateur de Sucesso — Successful Restaurateur Algorithm (SRA)

Algoritmo do Restaurateur de Sucesso — Successful Restaurateur Algorithm (SRA)

O Algoritmo do Restaurateur de Sucesso (SRA) é um método inovador de otimização inspirado nos princípios de gestão de um restaurante. Ao contrário das abordagens tradicionais, o SRA não descarta as soluções mais fracas, mas as melhora, combinando-as com elementos das soluções de maior sucesso. O algoritmo apresenta resultados competitivos e traz uma nova perspectiva sobre como equilibrar a diversificação e a intensificação em problemas de otimização.
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
Redes neurais em trading: Modelos com uso de transformação wavelet e atenção multitarefa

Redes neurais em trading: Modelos com uso de transformação wavelet e atenção multitarefa

Apresentamos um framework que combina a transformação wavelet com um modelo multitarefa de Self-Attention, visando aumentar a responsividade e a precisão das previsões em cenários de mercado voláteis. A transformação wavelet permite decompor o retorno dos ativos em frequências altas e baixas, capturando com precisão as tendências de longo prazo do mercado e as flutuações de curto prazo.
preview
Simulação de mercado (Parte 24): Iniciando o SQL (VII)

Simulação de mercado (Parte 24): Iniciando o SQL (VII)

No artigo anterior terminamos de fazer as devidas apresentações sobre o SQL. Então o que eu havia me proposto a mostrar e explicar, sobre SQL, ao meu ver, foi devidamente explicado. Isto para que todos, que vierem a ver o sistema de replay / simulador, sendo construído. Consigam no mínimo terem alguma noção do que pode estar se passando ali. Devido ao fato, de que não faz sentido, programar diversas coisas, que podem ser perfeitamente cobertas pelo SQL.
preview
Simulação de mercado: Position View (IV)

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

Aqui começaremos a unir diversas coisas, ou aplicações que antes estavam complemente isoladas entre si. Apesar de que o Chart Trade, o Indicador de Mouse e o Expert Advisor, já terem algum tipo de relacionamento. Não havia ainda uma forma de podermos observar, posições que estivessem abertas no servidor de negociação, isto diretamente no gráfico. Fazendo muitas das vezes uso de um sistema cross order. Mas a partir deste momento isto começa a se tornar possível. Abrindo diversas portas para novas ideias e implementações futuras. Se bem que estamos apenas começando a fazer as coisas acontecerem. Mas já teremos uma direção na qual seguir.
preview
Desenvolvendo um EA multimoeda (Parte 23): Colocando em ordem o pipeline de etapas da otimização automática de projetos (II)

Desenvolvendo um EA multimoeda (Parte 23): Colocando em ordem o pipeline de etapas da otimização automática de projetos (II)

Estamos buscando criar um sistema de otimização periódica e automática das estratégias de trading utilizadas em um único EA final. À medida que o sistema evolui, ele se torna mais complexo, sendo necessário, periodicamente, analisá-lo como um todo para identificar gargalos e soluções pouco eficientes.
preview
Busca dialética — Dialectic Search (DA)

Busca dialética — Dialectic Search (DA)

Apresentamos o Algoritmo Dialético (DA), um novo método de otimização global inspirado no conceito filosófico de dialética. O algoritmo utiliza uma divisão única da população em pensadores especulativos e práticos. Os testes mostram um desempenho impressionante de até 98% em tarefas de baixa dimensionalidade e uma eficácia geral de 57,95%. Este artigo explica esses números e apresenta uma descrição detalhada do algoritmo e os resultados dos experimentos em diferentes tipos de funções.
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
Automatizando Estratégias de Trading em MQL5 (Parte 6): Dominando a Detecção de Order Blocks para Trading com Smart Money

Automatizando Estratégias de Trading em MQL5 (Parte 6): Dominando a Detecção de Order Blocks para Trading com Smart Money

Neste artigo, automatizamos a detecção de order blocks em MQL5 usando análise pura de price action. Definimos os order blocks, implementamos sua detecção e integramos a execução automatizada de trades. Por fim, realizamos o backtest da estratégia para avaliar seu desempenho.
preview
Otimização por herança sanguínea — Blood Inheritance Optimization (BIO)

Otimização por herança sanguínea — Blood Inheritance Optimization (BIO)

Apresento a vocês meu novo algoritmo populacional de otimização BIO (Blood Inheritance Optimization), inspirado no sistema de herança dos tipos sanguíneos humanos. Neste algoritmo, cada solução possui seu próprio "tipo sanguíneo", que define a forma de sua evolução. Assim como na natureza, o tipo sanguíneo de uma criança é herdado segundo regras específicas, no BIO as novas soluções recebem suas características através de um sistema de herança e mutações.
preview
Redes neurais em trading: Detecção de anomalias no domínio da frequência (Conclusão)

Redes neurais em trading: Detecção de anomalias no domínio da frequência (Conclusão)

Damos continuidade ao trabalho de implementação das abordagens do framework CATCH, que combina a transformada de Fourier e o mecanismo de patching em frequência, possibilitando a detecção precisa de anomalias de mercado. Nesta etapa, concluímos a realização da nossa própria versão das abordagens propostas e conduziremos testes com os novos modelos utilizando dados históricos reais.
preview
Simulação de mercado: Position View (XIII)

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

Neste artigo, mostrarei como você, pode sem muito esforço, conseguir implementar a indicação se uma posição, está lhe dando prejuízo ou mesmo lucro. Isto de maneira extremamente simples e eficaz. Usando este indicador que estou mostrando como desenvolver, você, mesmo sem muito conhecimento, conseguirá facilmente saber quando é hora de fechar uma posição. E ao fazê-lo, não virá a ter um resultado diferente do esperado. Isto por que, estamos efetuando o calculo de forma a termos a real situação de nossa posição.
preview
Redes neurais em trading: Modelos de difusão direcionada (DDM)

Redes neurais em trading: Modelos de difusão direcionada (DDM)

Apresentamos os modelos de difusão direcionada, que utilizam ruídos anisotrópicos e direcionais, dependentes dos dados, no processo de propagação para frente, para capturar representações de grafos significativas.
preview
Do básico ao intermediário: Filas, Listas e Árvores (I)

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

Neste artigo começaremos a explorar uma pequena série de conceitos, que é de suma importância para quem realmente deseja aprender a programar da maneira correta. Com se trata de algo que a principio pode ser muito complicado. Apesar de usar coisas simples. Iremos ver isto aos poucos. Então aqui iremos começar a ver o que seria filas de dados.
preview
Redes neurais em trading: Identificação de anomalias no domínio da frequência (CATCH)

Redes neurais em trading: Identificação de anomalias no domínio da frequência (CATCH)

O framework CATCH combina a transformada de Fourier e o patching de frequência para a identificação precisa de anomalias de mercado, inacessíveis aos métodos tradicionais. Neste trabalho, examinaremos como essa abordagem revela padrões ocultos nos dados financeiros.
preview
Trading por pares: negociação algorítmica com auto-otimização baseada na diferença de pontuação Z

Trading por pares: negociação algorítmica com auto-otimização baseada na diferença de pontuação Z

Neste artigo, analisaremos o que é o trading por pares e como ocorre a negociação baseada em correlações. Também criaremos um EA para automatizar o trading por pares e adicionaremos a possibilidade de otimização automática desse algoritmo de negociação com base em dados históricos. Além disso, dentro do projeto, aprenderemos a calcular as divergências entre dois pares por meio da pontuação Z.
preview
Rede neural na prática: Quando usar um neurônio artificial e entender sua função em MQL5

Rede neural na prática: Quando usar um neurônio artificial e entender sua função em MQL5

Implementamos em MQL5 um neurônio com Gradiente Descendente Estocástico e comparamos sua função de custo à regressão linear. Mostramos, com código e gráficos, como normalização, escolha de taxa e estrutura do problema afetam a convergência. O artigo oferece um roteiro para depurar treinamento, ler os sinais do erro e selecionar a arquitetura ou função de ativação adequada.
preview
Redes neurais em trading: Modelos de espaço de estados

Redes neurais em trading: Modelos de espaço de estados

A base de muitos dos modelos que examinamos anteriormente é a arquitetura Transformer. No entanto, eles podem ser ineficientes ao lidar com sequências longas. Neste artigo, proponho uma abordagem alternativa de previsão de séries temporais com base em modelos de espaço de estados.
preview
Otimização de nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoria

Otimização de nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoria

Este artigo é dedicado ao algoritmo meta-heurístico Atmosphere Clouds Model Optimization (ACMO), que modela o comportamento das nuvens para resolver problemas de otimização. O algoritmo utiliza os princípios de geração, movimento e dispersão de nuvens, adaptando-se às "condições climáticas" no espaço de soluções. O artigo explora como a simulação meteorológica do algoritmo encontra soluções ótimas em um espaço complexo de possibilidades e descreve detalhadamente as etapas do ACMO, incluindo a preparação do "céu", o nascimento das nuvens, seu deslocamento e a concentração de chuva.
preview
Redes neurais em trading: Agente multimodal complementado com ferramentas (Conclusão)

Redes neurais em trading: Agente multimodal complementado com ferramentas (Conclusão)

Damos continuidade à implementação dos algoritmos do agente multimodal para negociação financeira, o FinAgent, desenvolvido para análise de dados multimodais da dinâmica de mercado e de padrões históricos de trading.
preview
Redes neurais em trading: Redução de consumo de memória com o método de otimização Adam-mini

Redes neurais em trading: Redução de consumo de memória com o método de otimização Adam-mini

Uma das abordagens para aumentar a eficiência no treinamento e na convergência de modelos é aprimorar os métodos de otimização. O Adam-mini é um método adaptativo projetado para aprimorar o algoritmo base Adam.