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
Definição de sobrecompra e sobrevenda segundo a teoria do caos

Definição de sobrecompra e sobrevenda segundo a teoria do caos

Determinamos as zonas de sobrecompra e sobrevenda do mercado a partir da teoria do caos: uma integração dos princípios da teoria do caos, da geometria fractal e das redes neurais para prever os mercados financeiros. O estudo demonstra o uso do expoente de Lyapunov como medida da natureza caótica do mercado e a adaptação dinâmica dos sinais de trade. A metodologia inclui um algoritmo de geração de ruído fractal, ativação tangencial hiperbólica e otimização com momento.
preview
Simulação de mercado: Position View (VII)

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

Neste artigo, começaremos a fazer algumas melhorias no indicador de posição. Isto para que seja possível interagir com ele. E modificar as linhas de preço, ou fechar uma posição diretamente via interação com o indicador de posição. Antes de realmente começarmos a parte da implementação. Vamos entender uma coisa aqui. Isto para os menos avisados. Não é possível, de maneira ou forma alguma, usar um indicador a fim de modificar algo no servidor de negociação. Isto por conta que o MetaTrader 5, conta com um sistema de segurança que permite apenas e somente aos Expert Advisores, fazerem algo em uma ordem ou posição. Nenhuma outra aplicação que não seja um Expert Advisor, conseguirá manipular ordens ou posições.
preview
Redes neurais de maneira fácil (Parte 77): Cross-Covariance Transformer (XCiT)

Redes neurais de maneira fácil (Parte 77): Cross-Covariance Transformer (XCiT)

Em nossos modelos, frequentemente usamos vários algoritmos de atenção. E, provavelmente, usamos Transformadores com mais frequência. A principal desvantagem deles é a exigência de recursos. Neste artigo, quero apresentar um algoritmo que ajuda a reduzir os custos computacionais sem perda de qualidade.
preview
Reimaginando Estratégias Clássicas (Parte IV): SP500 e Notas do Tesouro dos EUA

Reimaginando Estratégias Clássicas (Parte IV): SP500 e Notas do Tesouro dos EUA

Nesta série de artigos, analisamos estratégias clássicas de negociação usando algoritmos modernos para determinar se podemos melhorar a estratégia utilizando IA. No artigo de hoje, revisamos uma abordagem clássica para negociar o SP500 usando a relação que ele tem com as Notas do Tesouro dos EUA.
preview
Análise de Múltiplos Símbolos com Python e MQL5 (Parte II): Análise de Componentes Principais para Otimização de Portfólio

Análise de Múltiplos Símbolos com Python e MQL5 (Parte II): Análise de Componentes Principais para Otimização de Portfólio

Gerenciar o risco da conta de negociação é um desafio para todos os traders. Como podemos desenvolver aplicações de trading que aprendam dinamicamente modos de risco alto, médio e baixo para vários símbolos no MetaTrader 5? Usando PCA, ganhamos mais controle sobre a variância do portfólio. Vou demonstrar como criar aplicações que aprendem esses três modos de risco a partir de dados de mercado obtidos do MetaTrader 5.
preview
Técnicas do Assistente MQL5 que você deve conhecer (Parte 53): Índice de Facilitação de Mercado

Técnicas do Assistente MQL5 que você deve conhecer (Parte 53): Índice de Facilitação de Mercado

O Índice de Facilitação de Mercado é outro indicador de Bill Williams que tem como objetivo medir a eficiência do movimento de preços em conjunto com o volume. Como sempre, analisamos os vários padrões desse indicador dentro dos limites de uma classe de sinal de montagem do assistente e apresentamos uma variedade de relatórios de teste e análises para os diversos padrões.
preview
Do básico ao intermediário: Eventos (II)

Do básico ao intermediário: Eventos (II)

Neste artigo iremos ver que nem sempre precisamos implementar as coisas de uma ou de outra maneira. Existem maneiras alternativas de se fazer as coisas. Entender conceitos que foram explicados em artigos anteriores é primordial para conseguir compreender adequadamente o que será visto neste artigo. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como uma aplicação final, onde o objetivo não seja o estudo dos conceitos aqui mostrados.
preview
Seleção de características e redução de dimensionalidade com Análise de Componentes Principais (PCA)

Seleção de características e redução de dimensionalidade com Análise de Componentes Principais (PCA)

O artigo analisa a implementação de um algoritmo modificado de análise de componentes de seleção direta, inspirado nas pesquisas apresentadas no livro de Luca Puggini e Sean McLoone "Análise de Componentes de Seleção Direta: algoritmos e aplicações".
preview
Redes neurais em trading: Representação adaptativa de grafos (NAFS)

Redes neurais em trading: Representação adaptativa de grafos (NAFS)

Apresentamos o método NAFS (Node-Adaptive Feature Smoothing), uma abordagem não paramétrica para criar representações de nós que não requer o treinamento de parâmetros. O NAFS extrai as características de cada nó considerando seus vizinhos e, então, combina essas características de forma adaptativa para formar a representação final.
preview
Simulação de mercado: Position View (XII)

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

No artigo, você aprenderá como criar uma indicação visual na sua plataforma de trading para saber se você está em uma posição comprada ou vendida no gráfico, sem precisar acessar o terminal. Além disso, o texto aborda a implementação de uma funcionalidade que melhora a visualização ao mover linhas de take profit e stop loss, ocultando a linha de preço do mouse durante a movimentação para evitar confusões. A leitura oferece insights práticos para customizar sistemas de simulação de mercado.
preview
Simulação de mercado: Position View (XVII)

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

No artigo anterior, fizemos com que o indicador, nos mostrasse o resultado financeiro. Porém, nem todos gostam de fazer uso de tal modo de visualização. O motivo pode variar de operador para operador. Mas em alguns casos o motivo de fato me parece bastante plausível e justificável. Fazer as atualizações no código para promover isto. Não é nem de longe uma das tarefas mais complicadas. Na verdade é algo bastante simples e singelo. Assim neste artigo, veremos como fazer este tipo de coisa.
preview
Redes neurais de maneira fácil (Parte 70): melhorando a política usando operadores de forma fechada (CFPI)

Redes neurais de maneira fácil (Parte 70): melhorando a política usando operadores de forma fechada (CFPI)

Neste artigo, propomos explorar um algoritmo que utiliza operadores de melhoria de política de forma fechada para otimizar as ações do Agente em um ambiente off-line.
preview
DoEasy. Funções de Serviço (Parte 3): Padrão "Barra Externa"

DoEasy. Funções de Serviço (Parte 3): Padrão "Barra Externa"

Neste artigo, desenvolveremos o padrão Price Action "Barra Externa" na biblioteca DoEasy e otimizaremos os métodos de acesso ao gerenciamento de padrões de preço. Além disso, realizaremos correções de erros e melhorias identificadas durante os testes da biblioteca.
preview
Algoritmo de otimização da sociedade anárquica — Anarchic society optimization (ASO)

Algoritmo de otimização da sociedade anárquica — Anarchic society optimization (ASO)

No próximo artigo, conheceremos o algoritmo Anarchic Society Optimization (ASO) e discutiremos como um algoritmo baseado no comportamento irracional e aventureiro dos participantes de uma sociedade anárquica — um sistema anômalo de interação social, livre de autoridade centralizada e de qualquer tipo de hierarquia — é capaz de explorar o espaço de soluções e evitar armadilhas de ótimos locais. O artigo apresentará uma estrutura unificada do ASO, aplicável tanto a problemas contínuos quanto a problemas discretos.
preview
Algoritmo de otimização de migração animal (AMO)

Algoritmo de otimização de migração animal (AMO)

O artigo é dedicado ao algoritmo AMO, que modela o processo de migração sazonal dos animais em busca de condições ideais para sobrevivência e reprodução. As principais características do AMO incluem o uso da vizinhança topológica e um mecanismo probabilístico de atualização, tornando-o simples de implementar e flexível para diversas tarefas de otimização.
preview
Métodos de otimização da biblioteca Alglib (Parte II)

Métodos de otimização da biblioteca Alglib (Parte II)

Neste artigo, continuaremos a análise dos métodos de otimização restantes da biblioteca ALGLIB, com foco especial em seus testes em funções complexas e multidimensionais. Isso nos permitirá não apenas avaliar a eficiência de cada algoritmo, mas também identificar seus pontos fortes e fracos em diferentes condições.
preview
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

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.
preview
Desenvolvendo um sistema de Replay (Parte 72): Uma comunicação inusitada (I)

Desenvolvendo um sistema de Replay (Parte 72): Uma comunicação inusitada (I)

O que iremos construir será complexo de entender. Por isso, apresentarei apenas o início da construção neste artigo. Leia com calma, pois entender o conteúdo aqui é essencial para o próximo passo. O objetivo deste conteúdo é apenas didático, sem aplicação prática além do aprendizado e estudo dos conceitos apresentados.
preview
Migrando para o MQL5 Algo Forge (Parte 4): Trabalhando com versões e lançamentos

Migrando para o MQL5 Algo Forge (Parte 4): Trabalhando com versões e lançamentos

Vamos continuar o desenvolvimento dos projetos Simple Candles e Adwizard, detalhando os aspectos do uso do sistema de controle de versão e do repositório MQL5 Algo Forge.
preview
Replay e Simulação de mercado: Gran Finale

Replay e Simulação de mercado: Gran Finale

Bem, finalmente chegamos a um sistema de replay/simulador, que você, meu caro e paciente leitor, pode finalmente usufruir. Sei que muitos poderiam imaginar que seria feito mais artigos, explicando mais pontos do sistema. As partes faltantes são simples de serem implementadas. Mas mesmo assim, será algo que lhe mostrará o qual preparado você de fato está.
preview
Critério de homogeneidade de Smirnov como indicador de não-estacionaridade de séries temporais

Critério de homogeneidade de Smirnov como indicador de não-estacionaridade de séries temporais

Este artigo analisa um dos mais conhecidos critérios de homogeneidade não-paramétricos, o critério de Smirnov. São analisados tanto dados modelados quanto cotações reais. É apresentado um exemplo de construção do indicador de não-estacionaridade (iSmirnovDistance).
preview
Introdução ao MQL5 (Parte 11): Um guia para iniciantes sobre como trabalhar com indicadores incorporados no MQL5 (II)

Introdução ao MQL5 (Parte 11): Um guia para iniciantes sobre como trabalhar com indicadores incorporados no MQL5 (II)

Descubra como desenvolver um Expert Advisor (EA) em MQL5 usando múltiplos indicadores como RSI, MA e Oscilador Estocástico para detectar divergências ocultas de alta e de baixa. Aprenda a implementar um gerenciamento de risco eficaz e a automatizar negociações com exemplos detalhados e código-fonte totalmente comentado para fins educacionais!
preview
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

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.
preview
Desenvolvendo um sistema de Replay (Parte 64): Dando play no serviço (V)

Desenvolvendo um sistema de Replay (Parte 64): Dando play no serviço (V)

Neste artigo irei mostrar como corrigir duas falhas que se encontram presentes no código. No entanto tais correções foram explicadas para que você, aspirante a programador, consiga entender que nem sempre as coisas irão acontecer como você havia previsto. Mas isto não é motivo para desespero e sim uma oportunidade de aprendizado. 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
Do básico ao intermediário: Recursividade

Do básico ao intermediário: Recursividade

Este artigo, veremos um conceito de programação muito interessante e bem divertido. Porém que deve ser tratado com extremo respeito. Já que um mal uso, ou mal entendimento do mesmo, torna programas relativamente simples em algo desnecessariamente complicado. Porém o bom uso, e a perfeita adequação em situações igualmente adequadas. Torna a recursividade um grande aliado para resolver questões que de outra forma seria muito mais trabalhoso e demorado. 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
Integração do MQL5 com pacotes de processamento de dados (Parte 3): Visualização de dados aprimorada

Integração do MQL5 com pacotes de processamento de dados (Parte 3): Visualização de dados aprimorada

Neste artigo, vamos explorar a visualização de dados avançada, incluindo recursos como interatividade, dados em camadas e elementos dinâmicos, que permitem aos traders examinar tendências, padrões e correlações com mais eficácia.
preview
Redes neurais em trading: Extração eficiente de características para classificação precisa (Mantis)

Redes neurais em trading: Extração eficiente de características para classificação precisa (Mantis)

Conheça o Mantis, um modelo fundamental leve para classificação de séries temporais baseado em Transformer, com pré-treinamento contrastivo e atenção híbrida, que garantem precisão recorde e escalabilidade.
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
Redes neurais de maneira fácil (Parte 76): explorando diversos modos de interação (Multi-future Transformer)

Redes neurais de maneira fácil (Parte 76): explorando diversos modos de interação (Multi-future Transformer)

Neste artigo, continuamos o tema de previsão do movimento de preços. E convido você a conhecer a arquitetura do Multi-future Transformer. A ideia principal é decompor a distribuição multimodal do futuro em várias distribuições unimodais, permitindo modelar eficientemente diversos modos de interação entre os agentes na cena.
preview
Reimaginando estratégias clássicas (Parte III): Prevendo máximas mais altas e mínimas mais baixas

Reimaginando estratégias clássicas (Parte III): Prevendo máximas mais altas e mínimas mais baixas

Neste artigo, analisamos empiricamente estratégias de trading clássicas para verificar se é possível aprimorá-las com inteligência artificial (IA). Utilizaremos o modelo de Análise Discriminante Linear (Linear Discriminant Analysis) para tentar prever máximas mais altas e mínimas mais baixas.
preview
Redes neurais em trading: Transformer contrastivo de padrões

Redes neurais em trading: Transformer contrastivo de padrões

O Transformer contrastivo de padrões realiza a análise de situações de mercado, tanto no nível de velas individuais quanto no de padrões completos. Isso contribui para aprimorar a modelagem das tendências de mercado. Além disso, o uso do aprendizado contrastivo para alinhar as representações das velas e dos padrões leva à autorregulação e ao aumento da precisão das previsões.
preview
Kit de Ferramentos de Negociação MQL5(Parte 8): Como Implementar e Utilizar a Biblioteca History Manager EX5 em sua Base de Código

Kit de Ferramentos de Negociação MQL5(Parte 8): Como Implementar e Utilizar a Biblioteca History Manager EX5 em sua Base de Código

Descubra como importar e utilizar facilmente a biblioteca History Manager EX5 em seu código-fonte MQL5 para processar históricos de negociação em sua conta MetaTrader 5 neste artigo final da série. Com chamadas de função simples de uma linha em MQL5, você pode gerenciar e analisar seus dados de negociação de forma eficiente. Além disso, você aprenderá como criar diferentes scripts de análise de histórico de negociações e desenvolver um Expert Advisor baseado em preço como exemplos práticos de uso. O EA de exemplo utiliza dados de preço e a biblioteca History Manager EX5 para tomar decisões de negociação informadas, ajustar volumes de negociação e implementar estratégias de recuperação com base em negociações previamente encerradas.
preview
Seleção de características passo a passo em MQL5

Seleção de características passo a passo em MQL5

Neste artigo, apresentamos uma versão modificada da seleção de características passo a passo, implementada em MQL5. Essa abordagem é baseada nas técnicas descritas em Modern Data Mining Algorithms in C++ and CUDA C de Timothy Masters.
preview
Redes neurais em trading: Aprendizado dependente de contexto com memória (Conclusão)

Redes neurais em trading: Aprendizado dependente de contexto com memória (Conclusão)

Estamos finalizando a implementação do framework MacroHFT para trading de alta frequência com criptomoedas, que utiliza aprendizado por reforço dependente de contexto e memória para se adaptar às condições dinâmicas do mercado. E para concluir este artigo, será realizado um teste com os métodos implementados utilizando dados históricos reais, a fim de avaliar sua eficácia.
preview
Desenvolvimento do Toolkit de Análise de Price Action (Parte 15): Introduzindo a Teoria dos Quartos (I) — Script Quarters Drawer

Desenvolvimento do Toolkit de Análise de Price Action (Parte 15): Introduzindo a Teoria dos Quartos (I) — Script Quarters Drawer

Pontos de suporte e resistência são níveis críticos que sinalizam possíveis reversões e continuações de tendência. Embora identificar esses níveis possa ser desafiador, uma vez que você os localiza, estará bem preparado para navegar no mercado. Para obter ajuda adicional, confira a ferramenta Quarters Drawer apresentada neste artigo; ela ajudará você a identificar tanto níveis primários quanto secundários de suporte e resistência.
preview
Algoritmo do Duelista - Duelist Algorithm

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.
preview
O Método de Agrupamento para Manipulação de Dados: Implementando o Algoritmo Iterativo Multicamadas em MQL5

O Método de Agrupamento para Manipulação de Dados: Implementando o Algoritmo Iterativo Multicamadas em MQL5

Neste artigo, descrevemos a implementação do Algoritmo Iterativo Multicamadas do Método de Agrupamento para Manipulação de Dados em MQL5.
preview
Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 8): Desenvolvimento do Expert Advisor (II)

Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 8): Desenvolvimento do Expert Advisor (II)

Pense em um Expert Advisor independente. Anteriormente, discutimos um Expert Advisor baseado em indicador que também contava com um script independente para desenhar a geometria de risco e recompensa. Hoje, discutiremos a arquitetura de um Expert Advisor em MQL5, que integra todos os recursos em um único programa.
preview
Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Evolução em duas fases

Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Evolução em duas fases

Este artigo dá continuidade ao tema do comportamento social dos organismos vivos e ao seu impacto no desenvolvimento de um novo modelo matemático, o ASBO (Adaptive Social Behavior Optimization). Exploraremos a evolução em duas fases, realizaremos testes no algoritmo e apresentaremos as conclusões. Assim como na natureza, onde grupos de organismos vivos se unem para sobreviver, o ASBO utiliza princípios de comportamento coletivo para resolver problemas complexos de otimização.
preview
Reimaginando Estratégias Clássicas (Parte 12): Estratégia de Breakout EURUSD

Reimaginando Estratégias Clássicas (Parte 12): Estratégia de Breakout EURUSD

Junte-se a nós hoje enquanto nos desafiamos a construir uma estratégia de negociação de rompimento lucrativa em MQL5. Selecionamos o par EURUSD e tentamos negociar rompimentos de preço no período de uma hora. Nosso sistema teve dificuldade em distinguir entre falsos rompimentos e o início de tendências reais. Camadas de filtros foram adicionadas ao sistema para minimizar perdas e aumentar ganhos. No final, conseguimos tornar nosso sistema lucrativo e menos propenso a falsos rompimentos.