Implementação em MQL5 de módulos práticos de outras linguagens (Parte 02): criação de uma biblioteca REQUESTS como a do Python
Neste artigo, vamos apresentar a implementação de um módulo semelhante ao requests do Python, com o objetivo de simplificar o envio de requisições web e o recebimento de respostas no MetaTrader 5 usando MQL5.
Desenvolvimento de ferramentas para análise de Price Action (Parte 31): Módulo de reconhecimento de padrões de candles em Python (I): reconhecimento manual
Os padrões de candles são fundamentais para a negociação baseada em Price Action e fornecem sinais valiosos de uma possível reversão do mercado ou da continuação da tendência. Imagine uma ferramenta confiável que monitora continuamente cada nova barra, identifica formações importantes, como padrões de engolfo, martelos, dojis e estrelas, e emite um alerta imediato sempre que detecta um setup operacional relevante. Foi exatamente essa funcionalidade que desenvolvemos. Seja você iniciante ou trader experiente, o sistema fornece alertas em tempo real sobre padrões de candles, permitindo abrir operações com mais confiança e eficiência. Continue a leitura para entender como ele funciona e de que forma pode aprimorar sua estratégia de negociação.
Implementação em MQL5 de módulos úteis de outras linguagens (Parte 1): Criação de uma biblioteca SQLite3 semelhante à do Python
O módulo sqlite3 do Python oferece uma maneira simples, rápida e prática de trabalhar com bancos de dados SQLite. Neste artigo, criaremos um módulo semelhante com base nas funções nativas do MQL5 para bancos de dados, com o objetivo de tornar o uso do SQLite3 em MQL5 tão simples e conveniente quanto em Python.
Recursos do Assistente MQL5 que você precisa conhecer (Parte 72): Uso de padrões MACD e OBV com aprendizado supervisionado
Dando continuidade ao artigo anterior sobre a combinação dos indicadores MACD e OBV, veremos como aprimorá-la com o uso de machine learning. O MACD e o OBV são indicadores complementares que refletem, respectivamente, a tendência e o volume. Nossa abordagem de machine learning utiliza uma rede neural convolucional (convolution neural network, CNN) que emprega um kernel exponencial (Exponential kernel) para definir as dimensões de seus kernels e o número de canais ao configurar as previsões geradas por essa combinação de indicadores. Como de costume, essa implementação é feita em um arquivo personalizado da classe de sinais (signal class), que interage com o Assistente MQL5 para criar um EA.
Machine Learning e Data Science (Parte 45): Previsão de séries temporais no Forex com o modelo PROPHET do Facebook
O modelo Prophet, desenvolvido pelo Facebook, permite prever séries temporais e identificar tendências, padrões sazonais e efeitos de feriados com o mínimo de ajustes manuais. Esse método é amplamente utilizado na previsão de demanda e no planejamento empresarial. Neste artigo, vamos investigar a eficácia do modelo Prophet na previsão da volatilidade de instrumentos cambiais e avaliar se ele também pode ser aplicado fora do contexto tradicional de negócios.
MetaTrader 5 Global Optimizer: Clusterização
Nesta terceira parte, o Global Optimizer deixa de escolher apenas o melhor passe do ISS e passa a identificar regiões paramétricas estáveis. Os resultados são analisados por clusterização, medóides e vizinhança, com suporte de execuções genéticas e possível refinamento local antes da validação OOS. O objetivo é reduzir a dependência de picos isolados e selecionar candidatos mais robustos.
Recursos do Assistente MQL5 que você precisa conhecer (Parte 70): Uso dos padrões SAR e RVI com uma rede neural cujos kernels crescem exponencialmente
No artigo anterior, apresentamos uma combinação dos indicadores SAR e RVI. Neste artigo, veremos como aprimorá-la com técnicas de machine learning. Juntos, o SAR e o RVI combinam informações de tendência e momentum. Nossa abordagem utiliza uma rede neural convolucional (convolutional neural network) com um kernel exponencial (Exponential kernel) para definir o tamanho dos kernels e o número de canais da rede, utilizada para aprimorar as previsões baseadas nesses dois indicadores. Como de costume, essa abordagem é implementada em um arquivo personalizado da classe de sinais (signal class), que interage com o Assistente MQL5 para gerar um EA.
Criação de um painel administrativo de negociação em MQL5 (Parte XII): Integração de uma calculadora Forex
O cálculo preciso das principais métricas de negociação é uma parte essencial da rotina de qualquer trader. Neste artigo, veremos como integrar uma ferramenta poderosa, a calculadora Forex, ao painel de gerenciamento de operações, ampliando ainda mais as funcionalidades do nosso sistema administrativo para traders, composto por vários painéis. Calcular corretamente o risco, o tamanho da posição e o lucro potencial é fundamental para a execução de operações. A nova funcionalidade busca agilizar esses cálculos e facilitar sua realização diretamente no painel. Ao longo do artigo, exploraremos a aplicação prática do MQL5 no desenvolvimento de painéis de negociação avançados.
Técnicas do Assistente MQL5 que você deve conhecer (Parte 62): Utilizando padrões de ADX e CCI com aprendizado por reforço via TRPO
Os osciladores ADX e CCI são indicadores de acompanhamento de tendência e momentum que podem ser combinados no desenvolvimento de um Expert Advisor. Damos continuidade ao ponto em que paramos no último artigo, analisando como o treinamento durante o uso e a atualização do modelo desenvolvido podem ser realizados por meio do aprendizado por reforço. Utilizaremos um algoritmo que ainda não abordamos nesta série, conhecido como Trust Region Policy Optimization (TRPO). E, como sempre, a montagem de Expert Advisors por meio do Assistente MQL5 nos permite preparar nossos modelos para testes de forma muito mais rápida, além de possibilitar sua distribuição e avaliação com diferentes tipos de sinais.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 61): Uso de padrões do ADX e CCI com aprendizado supervisionado
Os osciladores ADX e CCI são indicadores de acompanhamento de tendência e momentum que podem ser combinados no desenvolvimento de um Expert Advisor. Veremos como essa abordagem pode ser sistematizada utilizando os três principais métodos de treinamento de Machine Learning. Os Expert Advisors montados com o MQL5 Wizard nos permitem avaliar os padrões apresentados por esses dois indicadores, e começaremos analisando como o aprendizado supervisionado pode ser aplicado a esses padrões.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 60): Aprendizado por Inferência (Wasserstein-VAE) com Padrões da Média Móvel e do Oscilador Estocástico
Concluímos nossa análise sobre o uso complementar da Média Móvel (MA) e do Oscilador Estocástico examinando o papel que o aprendizado por inferência pode desempenhar após as etapas de aprendizado supervisionado e aprendizado por reforço. Existem diversas maneiras de abordar o aprendizado por inferência nesse contexto. No entanto, nossa abordagem consiste em utilizar Variational Autoencoders (VAEs). Primeiro, exploraremos essa abordagem em Python e, em seguida, exportaremos nosso modelo treinado no formato ONNX para utilizá-lo em um Expert Advisor desenvolvido com o MQL5 Wizard no MetaTrader.
Criando um Painel Administrativo de Trading em MQL5 (Parte X): Interface baseada em recursos externos
Hoje, estamos aproveitando as capacidades do MQL5 para utilizar recursos externos — como imagens no formato BMP — a fim de criar uma interface inicial com estilo exclusivo para o Painel de Administração de Negociações. A estratégia apresentada aqui é especialmente útil quando precisamos agrupar diversos recursos, incluindo imagens, sons e outros elementos, facilitando sua distribuição. Ao longo deste artigo, veremos como implementar esses recursos para criar uma interface moderna e visualmente atraente para nosso EA New_Admin_Panel.
Recursos do Assistente MQL5 que você precisa conhecer (Parte 66): Uso de padrões FrAMA e Force Index com kernel de produto escalar
O indicador FrAMA e o oscilador Force Index são ferramentas de análise de tendência e volume que podem ser usadas em conjunto no desenvolvimento de um EA. Dando continuidade ao artigo anterior, no qual apresentamos essa combinação, vamos analisar como o aprendizado de máquina pode ser aplicado a ela. Usaremos uma rede neural convolucional (convolutional neural network) que emprega um kernel de produto escalar (dot-product kernel) para gerar previsões com base nos dados de entrada desses indicadores. Essa lógica é implementada em um arquivo personalizado da classe de sinais (signal class), que interage com o Assistente MQL5 para criar o EA.
Criação de um painel administrativo de trading em MQL5 (Parte XI): Interface moderna de mensagens na plataforma (I)
Hoje vamos aprimorar a interface de troca de mensagens do painel de comunicação e alinhá-la aos padrões dos aplicativos modernos de comunicação de alto desempenho. Para isso, atualizaremos a classe CommunicationsDialog. Analisaremos todas essas alterações em detalhes e também definiremos os próximos passos para a evolução das interfaces dos nossos programas em MQL5.
Ferramentas personalizadas de depuração e profiling para desenvolvimento em MQL5 (Parte I): Logging avançado
Aprenda a implementar um poderoso framework personalizado de logging em MQL5 que vai muito além de simples chamadas a Print(), oferecendo suporte a níveis de severidade, vários handlers de saída e rotação automática de arquivos, tudo isso com possibilidade de ajuste dinâmico durante a execução. Integre o singleton CLogger com ConsoleLogHandler e FileLogHandler para registrar logs contextuais com marcas de tempo tanto na guia "Experts" quanto em arquivos persistentes. Torne a depuração e o rastreamento de desempenho dos seus EAs mais eficientes com formatos de log claros e configuráveis e gerenciamento centralizado.
Recursos do Assistente MQL5 que você precisa conhecer (Parte 64): Uso de padrões dos canais DeMarker e Envelopes com kernel de ruído branco
O oscilador DeMarker (DeMarker Oscillator) e o Envelopes são ferramentas que identificam o momentum e os níveis de suporte/resistência e podem ser combinadas no desenvolvimento de um EA. No artigo anterior, apresentamos esses dois indicadores. Agora, acrescentaremos machine learning a essa combinação. Utilizamos uma rede neural recorrente que aplica um kernel de ruído branco (white-noise kernel) para processar os sinais vetorizados desses dois indicadores. Essa lógica é implementada em um arquivo personalizado da classe de sinais (signal class), que interage com o Assistente MQL5 para criar o EA.
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 20): Fluxo Externo (IV) — Correlation Pathfinder
O Correlation Pathfinder oferece uma nova abordagem para compreender a dinâmica dos pares de moedas como parte da Série de Desenvolvimento do Kit de Ferramentas de Análise de Price Action. Essa ferramenta automatiza a coleta e a análise de dados, fornecendo insights sobre como pares como EUR/USD e GBP/USD interagem. Aprimore sua estratégia de trading com informações práticas e em tempo real que ajudam você a gerenciar riscos e identificar oportunidades com mais eficiência.
Algoritmo de estrutura cristalina, Crystal Structure Algorithm (CryStAl)
O artigo apresenta duas versões do Algoritmo de Estrutura Cristalina: a original e a modificada. O Crystal Structure Algorithm (CryStAl), publicado em 2021 e inspirado na física das estruturas cristalinas, foi apresentado como uma meta-heurística parameter-free para otimização global. No entanto, os testes revelaram um problema crítico no algoritmo. O artigo também apresenta a versão modificada CryStAlm, que corrige as principais deficiências da versão original.
Análise da influência dos ciclos solares e lunares sobre os preços das moedas
E se os ciclos lunares e os padrões sazonais influenciarem os mercados cambiais? Este artigo mostra como traduzir conceitos astrológicos para a linguagem da matemática e do machine learning. Criei um sistema em Python com 88 atributos baseados em ciclos astronômicos, treinei o CatBoost com 15 anos de dados do EUR/USD e obtive resultados intrigantes. O código é aberto, os métodos podem ser verificados e as conclusões são inesperadas: a sabedoria antiga encontra o gradient boosting.
Algoritmo de sistema artificial de circulação coronariana (Artificial Coronary Circulation System, ACCS)
Algoritmo meta-heurístico que simula o crescimento das artérias coronárias do coração humano para resolver problemas de otimização. Utiliza os princípios da angiogênese (crescimento de novos vasos), da bifurcação (ramificação) e da poda de ramos fracos para buscar soluções ótimas em um espaço multidimensional. Os testes de sua eficiência em uma ampla variedade de problemas produziram resultados inesperados.
Desenvolvemos um gerenciador de terminais (Parte 2): Execução de várias instâncias
Passamos a usar várias instâncias do terminal no servidor, criando um painel de controle simples para iniciá-las e encerrá-las. Agora chegou a hora de ampliar a funcionalidade e avançar para as próximas etapas, implementando recursos mais complexos, como o gerenciamento de várias instâncias, o armazenamento de estado, a integração com a API do MetaTrader 5 e uma interface web com informações completas sobre os terminais.
Desenvolvemos um gerenciador de terminais (Parte 1): Definição do problema
Como garantir um controle prático de vários terminais nos quais os EAs estão operando, inclusive em computadores diferentes? Vamos tentar criar uma interface web para gerenciar a inicialização dos terminais de negociação MetaTrader 5 e visualizar informações detalhadas sobre o funcionamento de cada instância.
Criando sistemas de trading com IA em MQL5 (Parte 3): Evoluindo para uma interface rolável voltada para um único chat
Neste artigo, aprimoramos o programa integrado ao ChatGPT em MQL5, adotando uma interface rolável voltada para um único chat e melhorando a exibição do histórico das conversas com marcas de tempo e rolagem dinâmica. O sistema utiliza parsing de JSON para gerenciar mensagens em conversas com múltiplos turnos e oferece modos configuráveis para a barra de rolagem, além de efeitos ao passar o mouse, melhorando a interação do usuário com o sistema.
Algoritmo do Bisão: Bison Algorithm (BIA)
O novo método de otimização Bison Algorithm (BIA) combina duas estratégias inspiradas no comportamento dos bisões para resolver problemas contínuos com uma única função objetivo. O BIA se baseia em dois princípios fundamentais observados no comportamento dos bisões: a capacidade de deslocamento dinâmico e a estratégia defensiva.
Equação simbólica para prever o preço com SymPy
O artigo apresenta uma abordagem interessante para o trading algorítmico, baseada em equações matemáticas simbólicas, em vez das tradicionais "caixas-pretas" do machine learning. O autor mostra como transformar redes neurais pouco transparentes em fórmulas matemáticas legíveis usando a biblioteca SymPy e regressão polinomial, o que permite compreender por completo a lógica por trás das decisões de trading. A abordagem combina o poder computacional do ML com a transparência dos métodos clássicos, permitindo que o trader analise, ajuste e adapte os modelos em tempo real.
Modificação do algoritmo de otimização Dingo: Dingo Optimization Algorithm M (DOAm)
A modificação do algoritmo Dingo proposta pelo autor e apresentada neste artigo elevou consideravelmente o patamar na busca pelo melhor algoritmo de otimização. Será que ainda é possível alcançar resultados superiores?
Robô de trading multithreaded com machine learning: da concepção à concretização
O artigo apresenta o desenvolvimento passo a passo de um robô de trading multithreaded com machine learning com Python e MetaTrader 5. O texto analisa a arquitetura do sistema, da coleta de dados e criação de indicadores técnicos ao treinamento de modelos XGBoost com gestão de risco no nível do portfólio. Também detalha a implementação de data augmentation, a clusterização de atributos por meio de Gaussian Mixture Models e a coordenação de threads para operar vários pares de moedas em paralelo.
Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização do Código (V): Classe AnalyticsPanel
Nesta discussão, exploramos como recuperar dados de mercado em tempo real e informações da conta de negociação, realizar diversos cálculos e exibir os resultados em um painel personalizado. Para alcançar esse objetivo, vamos nos aprofundar no desenvolvimento de uma classe AnalyticsPanel que encapsula todos esses recursos, incluindo a criação do painel. Este trabalho faz parte da nossa expansão contínua do EA New Admin Panel, introduzindo funcionalidades avançadas utilizando princípios de design modular e boas práticas de organização de código.
Algoritmo de otimização do dingo - Dingo Optimization Algorithm (DOA)
O artigo apresenta um novo método metaheurístico baseado nas estratégias de caça dos dingos australianos: ataque em grupo, perseguição e busca de carniça. Vamos ver como o algoritmo de otimização do dingo (DOA) se sai em termos algorítmicos.
Trading algorítmico de arbitragem com teoria dos grafos
Neste artigo, tratamos a arbitragem triangular como um problema de busca de ciclos em um grafo orientado, no qual os vértices representam moedas e as arestas representam pares de moedas com pesos correspondentes às taxas de câmbio. Um ciclo lucrativo ocorre quando o produto dos pesos é > 1. Os algoritmos Floyd-Warshall e DFS que desenvolvemos encontram os caminhos ideais de conversão de moedas com retorno ao ponto inicial e geração de lucro.
Criando um Painel Administrativo de Negociação em MQL5 (Parte IX): Organização do Código (IV): Classe do Painel de Gerenciamento de Negociações
Esta discussão aborda o Painel de Gerenciamento de Negociações atualizado em nosso EA New_Admin_Panel. A atualização aprimora o painel utilizando classes integradas para oferecer uma interface intuitiva para gerenciamento de negociações. Ela inclui botões de negociação para abertura de posições e controles para gerenciamento de negociações existentes e ordens pendentes. Um recurso importante é o gerenciamento de risco integrado, que permite definir valores de stop loss e take profit diretamente na interface. Esta atualização melhora a organização do código para programas de grande porte e simplifica o acesso às ferramentas de gerenciamento de ordens, que frequentemente são complexas no terminal.
Algoritmo de Otimização por Sonhos: Dream Optimization Algorithm (DOA)
Algoritmo populacional de otimização inspirado em um fenômeno controverso e pouco estudado: o mecanismo dos sonhos humanos. Grupos de agentes com diferentes níveis de "memória", modulação cossenoidal do movimento e uma distribuição incomum entre fases na proporção 99/1: descubra como essas características influenciam a eficiência da otimização das suas estratégias de trading.
Técnicas do MQL5 Wizard que você deve saber (Parte 59): Aprendizado por Reforço (DDPG) com Padrões da Média Móvel e do Oscilador Estocástico
Continuamos nosso último artigo sobre DDPG com indicadores de Média Móvel e Estocástico, examinando outras classes-chave de Aprendizado por Reforço cruciais para a implementação do DDPG. Embora estejamos codificando principalmente em Python, será exportado para o formato ONNX para o MQL5, onde a integraremos como um recurso em um Expert Advisor montado pelo Wizard.
Gerenciamento Avançado de Memória e Técnicas de Otimização em MQL5
Descubra técnicas práticas para otimizar o uso de memória em sistemas de negociação MQL5. Aprenda a construir Expert Advisors e indicadores eficientes, estáveis e com alto desempenho. Exploraremos como a memória realmente funciona no MQL5, as armadilhas comuns que desaceleram seus sistemas ou causam falhas e, mais importante ainda, como corrigi-las.
Algoritmo do Duelista - Duelist Algorithm
E se as suas estratégias de trading pudessem aprender umas com as outras, como verdadeiros combatentes? O Duelist Algorithm é um novo método de otimização em que os parâmetros dos sistemas de trading realmente duelam entre si pelo direito de serem chamados os melhores.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 58): Aprendizado por Reforço (DDPG) com Padrões de Média Móvel e Oscilador Estocástico
A Média Móvel e o Oscilador Estocástico são indicadores muito comuns cujos padrões coletivos exploramos no artigo anterior, por meio de uma rede de aprendizado supervisionado, para verificar quais “padrões permaneceriam consistentes”. Levamos nossas análises daquele artigo um passo adiante ao considerar os efeitos que o aprendizado por reforço, quando utilizado com essa rede treinada, teria sobre o desempenho. Os leitores devem observar que nossos testes foram realizados em uma janela de tempo muito limitada. Ainda assim, continuamos a aproveitar os requisitos mínimos de codificação proporcionados pelo MQL5 Wizard para demonstrar isso.
Aprendendo MQL5 do iniciante ao profissional (Parte VII): Princípios de depuração de aplicativos MQL
A correção de erros é uma parte indispensável do ciclo de programação. Neste artigo, veremos técnicas comuns de depuração, que é o processo de correção de erros, em qualquer aplicativo executado no ambiente MetaTrader 5.
MetaTrader 5 Global Optimizer: Uma Estrutura Profissional para Otimizar EAs por Grupos, Subgrupos e Critérios de Robustez
Apresentamos uma metodologia para transformar a otimização de EAs no MetaTrader 5 em um fluxo organizado e auditável. A automação em Python cria .set e .ini, orquestra otimizações por grupos e subgrupos, compara cada etapa ao baseline e aplica rewind quando necessário. O leitor poderá escolher os melhores parâmetros considerando lucro, estabilidade, drawdown, trades, concentração de resultado e consistência em vários ativos.
Algoritmo do Átomo Artificial — Artificial Atom Algorithm (A3)
Implementação do algoritmo A3 em MQL5, um método metaheurístico de otimização inspirado em processos químicos. Com apenas 2 parâmetros ajustáveis, sua estrutura compacta e a pequena população garantem alta velocidade de execução com qualidade satisfatória das soluções.
Do iniciante ao especialista: Criação de um EA animado para notícias em MQL5 (VIII): botões de negociação rápida para trading de notícias
Enquanto os sistemas algorítmicos de trading gerenciam operações automatizadas, muitos traders de notícias e scalpers preferem manter controle ativo durante eventos importantes de notícias e condições de mercado que mudam rapidamente, exigindo execução e gestão rápidas das ordens. Isso evidencia a necessidade de ferramentas de interface intuitivas que integrem feeds de notícias em tempo real, dados do calendário econômico, leituras dos indicadores, análises baseadas em IA e gestão adaptativa do trading.