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
Desenvolvendo um cliente MQTT para Metatrader 5: uma abordagem TDD — Parte 6

Desenvolvendo um cliente MQTT para Metatrader 5: uma abordagem TDD — Parte 6

Este artigo é a sexta parte de uma série que descreve nossas etapas de desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT 5.0. Nesta parte, comentamos as principais mudanças em nosso primeiro refatoramento, como chegamos a um modelo viável para nossas classes de construção de pacotes, como estamos construindo pacotes PUBLISH e PUBACK, e a semântica por trás dos Códigos de Motivo PUBACK.
preview
Redes neurais de maneira fácil (Parte 90): Interpolação Frequencial de Séries Temporais (FITS)

Redes neurais de maneira fácil (Parte 90): Interpolação Frequencial de Séries Temporais (FITS)

Ao estudarmos o método FEDformer, abrimos uma porta para a área de representação de séries temporais no domínio da frequência. No novo artigo, continuaremos o tema iniciado, e analisaremos um método que permite não apenas conduzir uma análise, mas também prever estados futuros no domínio frequencial.
preview
Otimização com búfalos-africanos — African Buffalo Optimization (ABO)

Otimização com búfalos-africanos — African Buffalo Optimization (ABO)

O artigo é dedicado ao algoritmo de otimização com búfalos-africanos (ABO), uma abordagem meta-heurística desenvolvida em 2015 com base no comportamento único desses animais. Ele descreve detalhadamente as etapas de implementação do algoritmo e sua eficácia na busca por soluções de problemas complexos, tornando-o uma ferramenta valiosa na área de otimização.
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
Do básico ao intermediário: Indicador (II)

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

Neste artigo veremos como implementar o calculo de média móvel e os cuidados a serem tomados ao efetivamente criar este calculo. Além disto, vamos também falar sobre a sobrecarga da função OnCalculate a fim de podemos saber quando e como trabalhar com um ou outro modelo de sobrecarga.
preview
Redes neurais em trading: Transformer eficiente em parâmetros com atenção segmentada (Conclusão)

Redes neurais em trading: Transformer eficiente em parâmetros com atenção segmentada (Conclusão)

No artigo anterior, abordamos os aspectos teóricos do framework PSformer, que incorpora duas inovações principais na arquitetura clássica do Transformer: o mecanismo de compartilhamento de parâmetros (Parameter Shared — PS) e a atenção a segmentos espaço-temporais (SegAtt). Neste artigo, damos continuidade à implementação dessas abordagens usando os recursos do MQL5.
preview
Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 10): Golden Cross e Death Cross Estratégicos (EA)

Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 10): Golden Cross e Death Cross Estratégicos (EA)

Você sabia que as estratégias Golden Cross e Death Cross, baseadas no cruzamento de médias móveis, são alguns dos indicadores mais confiáveis para identificar tendências de mercado de longo prazo? Um Golden Cross sinaliza uma tendência de alta quando uma média móvel mais curta cruza acima de uma média mais longa, enquanto o Death Cross indica uma tendência de baixa quando a média mais curta cruza abaixo. Apesar de sua simplicidade e eficácia, aplicar essas estratégias manualmente frequentemente leva a oportunidades perdidas ou negociações atrasadas.
preview
Algoritmo de otimização Royal Flush — Royal Flush Optimization (RFO)

Algoritmo de otimização Royal Flush — Royal Flush Optimization (RFO)

O algoritmo Royal Flush Optimization, criado pelo autor, propõe uma nova forma de abordar problemas de otimização, substituindo a codificação binária clássica dos algoritmos genéticos por uma abordagem setorial, inspirada nos princípios do pôquer. O RFO demonstra como a simplificação de princípios fundamentais pode levar à criação de um método de otimização eficaz e prático. O artigo apresenta uma análise detalhada do algoritmo e os resultados dos testes realizados.
preview
Explorando modelos de regressão para inferência causal e trading

Explorando modelos de regressão para inferência causal e trading

Neste artigo, foi realizado um estudo sobre a possibilidade de aplicar modelos de regressão no trading algorítmico. Os modelos de regressão, diferentemente da classificação binária, permitem criar estratégias de trading mais flexíveis por meio da avaliação quantitativa das variações de preço previstas.
preview
Do básico ao intermediário: Template e Typename (V)

Do básico ao intermediário: Template e Typename (V)

Neste artigo iremos ver um último caso simples de utilização de templates. Mas também iremos ver qual o utilidade e por que a necessidade de se utilizar typename em seus códigos. Apesar deste artigo possa vir a parecer um tanto quanto complicado no inicio. O mesmo precisa ser compreendido de maneira adequada, para que futuras aplicações que utilizem template e typename, sejam de fato compreendidas.
preview
Redes neurais em trading: Análise de nuvem de pontos (PointNet)

Redes neurais em trading: Análise de nuvem de pontos (PointNet)

A análise direta da nuvem de pontos permite evitar um aumento excessivo no volume de dados e aprimorar a eficiência dos modelos em tarefas de classificação e segmentação. Abordagens deste tipo demonstram um bom desempenho e resistência a perturbações nos dados brutos.
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
Algoritmo da viagem evolutiva no tempo — Time Evolution Travel Algorithm (TETA)

Algoritmo da viagem evolutiva no tempo — Time Evolution Travel Algorithm (TETA)

Meu algoritmo original. Neste artigo é apresentado o Algoritmo da Viagem Evolutiva no Tempo (TETA), inspirado no conceito de universos paralelos e fluxos temporais. A ideia central do algoritmo é que, embora a viagem no tempo no sentido convencional seja impossível, podemos escolher uma sequência de eventos que leva a diferentes realidades.
preview
Movimento do preço: modelos matemáticos e análise técnica

Movimento do preço: modelos matemáticos e análise técnica

A previsão dos movimentos dos pares de moedas é um fator importante de sucesso no trading. Este artigo é dedicado ao estudo de diferentes modelos de movimento do preço, à análise de suas vantagens e desvantagens, bem como à aplicação prática em estratégias de negociação. Serão considerados enfoques que permitem identificar padrões ocultos e aumentar a precisão das previsões.
preview
Do básico ao intermediário: Eventos em Objetos (I)

Do básico ao intermediário: Eventos em Objetos (I)

Neste artigo irei ver três dos seis eventos que podem ser disparado pelo MetaTrader 5, quando algo acontece a um objeto presente no gráfico. Estes evento são muito uteis quando o assunto é interação com o usuário. Isto por que sem entender estes eventos, você irá ter muito mais trabalho para manter uma certa configuração no gráfico. Tentando controlar objetos com finalidades específicas.
preview
Ondas triangulares e em forma de serra: ferramentas para o trader

Ondas triangulares e em forma de serra: ferramentas para o trader

Um dos métodos de análise técnica é a análise de ondas. Neste artigo, vamos examinar ondas de um tipo um pouco incomum, nomeadamente as triangulares e as em forma de serra. Com base nessas ondas, é possível construir vários indicadores técnicos que permitem analisar o movimento do preço no mercado.
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
Otimização e ajuste fino do código-fonte para melhorar os resultados do backtesting

Otimização e ajuste fino do código-fonte para melhorar os resultados do backtesting

Melhore seu código MQL5 otimizando a lógica, aprimorando os cálculos e reduzindo o tempo de execução para aumentar a precisão do backtesting. Ajuste finamente os parâmetros, otimize loops e elimine ineficiências para melhorar o resultado.
preview
Simulação de mercado: Iniciando o SQL no MQL5 (V)

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

No artigo anterior mostrei como você deveria proceder, a fim de conseguir adicionar o mecanismo de pesquisa. Isto para que dentro do código MQL5, você pudesse de fato fazer uso pleno do SQL. A fim de conseguir obter os resultados quando for usar o comando SELECT FROM do SQL. Mas ficou faltando falar da última função que precisamos implementar. Esta é a função DatabaseReadBind. E como para entender ela adequadamente é algo que exigirá um pouco mais de explicações. Ficou decidido que isto seria feito, não naquele artigo anterior, mas sim neste daqui. Já que o assunto é bem extenso.
preview
Do básico ao intermediário: Sub Janelas (III)

Do básico ao intermediário: Sub Janelas (III)

Este texto detalha o uso de sub janelas em indicadores MQL5: criação básica, detecção de instâncias e prevenção de duplicações. Aborda INDICATOR_SHORTNAME, consulta de janelas/indicadores do gráfico e a diferença entre exibição no gráfico principal e em janela separada. Mostra ainda como definir altura e limites da sub janela para padronizar a interface e facilitar a disposição de objetos.
preview
Desenvolvendo um sistema de Replay (Parte 61): Dando play no serviço (II)

Desenvolvendo um sistema de Replay (Parte 61): Dando play no serviço (II)

Acompanhe neste artigo, as modificações que foram necessárias serem feitas, para que o serviço de replay / simulação, pudesse trabalhar de forma mais eficiente e segura. Aqui também, irei mostrar algo que pode ser de grande interesse para quem deseja fazer um uso mais eficiente das classes. Além de falar e explicar como contornar um problema que existe no MQL5, que reduz a performance do código quando usamos classes.
preview
Do básico ao intermediário: Template e Typename (IV)

Do básico ao intermediário: Template e Typename (IV)

Aqui neste artigo, iremos ver de forma bem didática, como resolver um problema que foi demonstrado no final do artigo anterior. Onde estaríamos tentando fazer com que um template de tipo fosse criado, a fim de que fosse possível criar um template de uma união de dados.
preview
Redes neurais em trading: Abordagem sem máscara para previsão do movimento de preços

Redes neurais em trading: Abordagem sem máscara para previsão do movimento de preços

Neste artigo, apresentamos o método Mask-Attention-Free Transformer (MAFT) e sua aplicação na área de trading. Ao contrário dos Transformers tradicionais, que exigem mascaramento de dados ao processar sequências, o MAFT otimiza o processo de atenção, eliminando a necessidade de mascaramento, o que melhora significativamente a eficiência computacional.
preview
Desenvolvimento do Toolkit de Análise de Price Action (Parte 8): Painel de Métricas

Desenvolvimento do Toolkit de Análise de Price Action (Parte 8): Painel de Métricas

Como um dos mais poderosos toolkits de análise de Price Action, o Painel de Métricas foi projetado para otimizar a análise de mercado, fornecendo instantaneamente métricas essenciais do mercado com apenas um clique de botão. Cada botão exerce uma função específica, seja para analisar tendências de máxima/mínima, volume ou outros indicadores-chave. Esta ferramenta entrega dados precisos e em tempo real exatamente quando você mais precisa. Vamos explorar mais profundamente seus recursos neste artigo.
preview
Redes neurais em trading: Agente multimodal com ferramentas complementares (FinAgent)

Redes neurais em trading: Agente multimodal com ferramentas complementares (FinAgent)

Apresentamos o framework do agente multimodal para negociação financeira FinAgent, projetado para analisar dados de diferentes tipos que refletem a dinâmica do mercado e padrões históricos de negociação.
preview
Estratégia evolutiva de adaptação da matriz de covariância, Covariance Matrix Adaptation Evolution Strategy (CMA-ES)

Estratégia evolutiva de adaptação da matriz de covariância, Covariance Matrix Adaptation Evolution Strategy (CMA-ES)

Vamos explorar um dos algoritmos mais interessantes de otimização sem gradiente, que aprende a compreender a geometria da função objetivo. Consideraremos a implementação clássica do CMA-ES com uma pequena modificação, substituindo a distribuição normal por uma distribuição de potência. Uma análise detalhada da matemática do algoritmo, a implementação prática e uma avaliação honesta, onde o CMA-ES é imbatível e onde é melhor não aplicá-lo.
preview
Desenvolvendo um sistema de Replay (Parte 58): Voltando a trabalhar no serviço

Desenvolvendo um sistema de Replay (Parte 58): Voltando a trabalhar no serviço

Depois de ter dado um tempo no desenvolvimento e aperfeiçoamento do serviço usado no replay / simulação. Iremos voltar a trabalhar nele. Mas como já não iremos mais usar alguns recursos, como as variáveis globais de terminal, se torna necessário uma completa reestruturação de algumas partes do mesmo. Mas não fiquem aflitos, tal processo será adequadamente explicado, para que todos consigam de fato acompanhar o desenrolar do desenvolvimento do serviço.
preview
Redes neurais em trading: Modelo de dupla atenção para previsão de tendências

Redes neurais em trading: Modelo de dupla atenção para previsão de tendências

Damos continuidade à discussão sobre o uso da representação linear por partes de séries temporais, iniciada no artigo anterior. Hoje, falaremos sobre a combinação desse método com outras abordagens de análise de séries temporais para melhorar a qualidade da previsão das tendências dos movimentos de preços.
preview
Do básico ao intermediário: Estruturas (V)

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

Neste artigo veremos como é feita a sobrecarga de um código estrutural. Sei que isto, é um tanto quanto difícil de entender no começo. Principalmente se você está vendo isto pela primeira vez. Porém, é muito importante que você procure assimilar estes conceitos e entender muito bem o que se passa aqui, antes de procurar se aventurar em coisas ainda mais complicadas e elaboradas.
preview
Otimização por neuroboides — Neuroboids Optimization Algorithm (NOA)

Otimização por neuroboides — Neuroboids Optimization Algorithm (NOA)

Trata-se de uma nova metaheurística de otimização bioinspirada e autoral, denominada NOA (Neuroboids Optimization Algorithm), que combina princípios de inteligência coletiva e redes neurais. Ao contrário dos métodos clássicos, o algoritmo utiliza uma população de "neuroboides" autoaprendizes, cada um com sua própria rede neural, que adapta a estratégia de busca em tempo real. O artigo em questão apresenta a arquitetura do algoritmo, os mecanismos de autoaprendizado dos agentes e as perspectivas de aplicação dessa abordagem híbrida em tarefas complexas de otimização.
preview
Algoritmo de ecolocalização de golfinhos — Dolphin Echolocation Algorithm (DEA)

Algoritmo de ecolocalização de golfinhos — Dolphin Echolocation Algorithm (DEA)

Neste artigo, analisaremos detalhadamente o algoritmo DEA, um método metaheurístico de otimização inspirado na capacidade única dos golfinhos de encontrar presas por meio da ecolocalização. Das bases matemáticas à implementação prática em MQL5, da análise à comparação com algoritmos clássicos, vamos examinar minuciosamente por que esse método relativamente jovem merece um lugar no arsenal de quem enfrenta tarefas de otimização.
preview
Simulação de mercado (Parte 05): Iniciando a classe C_Orders (II)

Simulação de mercado (Parte 05): Iniciando a classe C_Orders (II)

Neste artigo, explicarei como o Chart Trade conseguirá lidar, junto com o Expert Advisor, a um pedido do usuário para encerrar todas as posições que se encontram em aberto. Parece ser algo simples. Porém existem alguns agravantes que você precisa saber como lidar com eles.
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
De Python para MQL5: Uma Jornada em Sistemas de Trading Inspirados na Computação Quântica

De Python para MQL5: Uma Jornada em Sistemas de Trading Inspirados na Computação Quântica

O artigo explora o desenvolvimento de um sistema de trading inspirado na computação quântica, fazendo a transição de um protótipo em Python para uma implementação em MQL5 para trading no mundo real. O sistema utiliza princípios da computação quântica, como superposição e emaranhamento, para analisar estados de mercado, embora rode em computadores clássicos usando simuladores quânticos. Os principais recursos incluem um sistema de três qubits para analisar oito estados de mercado simultaneamente, períodos de análise de 24 horas e sete indicadores técnicos para análise de mercado. Embora as taxas de acurácia possam parecer modestas, elas fornecem uma vantagem significativa quando combinadas com estratégias adequadas de gerenciamento de risco.
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 (XV)

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

Neste artigo, tentarei explicar da forma o mais simples possível como você pode fazer uso de troca de mensagens entre aplicações. Isto para que consiga de fato, desenvolver algo realmente funcional e de maneira o mais simples e eficaz quando for possível ser feito. Não sei se de fato conseguirei passar a ideia por detrás do conceito. Já que ele não é tão simples de ser entendido e compreendido por parte de quem o está vendo pela primeira vez. Aproveitando mostrarei como você pode fazer, para conseguir modificar o sistema de replay/simulador, a fim de poder depurar um Expert Advisor ou um outro código qualquer que você esteja criando. Isto de maneira igualmente simples e direta.
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
Redes neurais em trading: Explorando a estrutura local dos dados

Redes neurais em trading: Explorando a estrutura local dos dados

A identificação eficaz e a preservação da estrutura local dos dados de mercado em meio ao ruído são tarefas cruciais no trading. Embora o uso do mecanismo Self-Attention tenha mostrado bons resultados no processamento desses dados, o método clássico não leva em conta as características locais da estrutura original. Neste artigo, proponho conhecer um algoritmo capaz de considerar essas dependências estruturais.
preview
Criação de um painel de administração de trading em MQL5 (Parte V): Autenticação de dois fatores (2FA)

Criação de um painel de administração de trading em MQL5 (Parte V): Autenticação de dois fatores (2FA)

Este artigo aborda o aumento da segurança do painel de administração de trading, atualmente em desenvolvimento. Vamos explorar como integrar o MQL5 a uma nova estratégia de segurança, utilizando a API do Telegram para autenticação de dois fatores (2FA). O artigo traz informações valiosas sobre a aplicação de MQL5 para reforçar medidas de segurança. Além disso, veremos a função MathRand, focando em sua funcionalidade e na forma como pode ser usada de forma eficiente em nosso sistema de segurança.
preview
Algoritmo de busca orbital atômica — Atomic Orbital Search (AOS): Modificação

Algoritmo de busca orbital atômica — Atomic Orbital Search (AOS): Modificação

Na segunda parte do artigo, continuaremos o desenvolvimento da versão modificada do algoritmo AOS (Atomic Orbital Search), focando em operadores específicos para aumentar sua eficiência e adaptabilidade. Após analisar as bases e mecânicas do algoritmo, discutiremos ideias para melhorar o desempenho e a capacidade de análise de espaços de soluções complexos, propondo novas abordagens para expandir sua funcionalidade como ferramenta de otimização.