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
Técnicas do MQL5 Wizard que você deve conhecer (Parte 26): Médias Móveis e o Exponente de Hurst

Técnicas do MQL5 Wizard que você deve conhecer (Parte 26): Médias Móveis e o Exponente de Hurst

O Exponente de Hurst é uma medida de quanto uma série temporal se autocorrela ao longo do tempo. Entende-se que ele captura as propriedades de longo prazo de uma série temporal e, portanto, tem um peso significativo na análise de séries temporais, mesmo fora do contexto econômico/financeiro. No entanto, focamos em seu potencial benefício para os traders ao analisar como essa métrica poderia ser combinada com médias móveis para construir um sinal potencialmente robusto.
preview
Arbitragem no Forex: Um bot market maker simples de sintéticos para começar

Arbitragem no Forex: Um bot market maker simples de sintéticos para começar

Hoje vamos analisar meu primeiro robô na área de arbitragem, que é um provedor de liquidez (se é que podemos chamá-lo assim) em ativos sintéticos. Atualmente, esse bot funciona com sucesso como um módulo dentro de um grande sistema baseado em aprendizado de máquina, mas eu resgatei o antigo robô de arbitragem no Forex da nuvem, então vamos olhar para ele e pensar no que podemos fazer com ele hoje.
preview
DoEasy. Controles (Parte 10): Objetos WinForms, dando vida à interface

DoEasy. Controles (Parte 10): Objetos WinForms, dando vida à interface

Chegou a hora de dar vida à interface gráfica e criar funcionalidades para a interação de objetos com o usuário e outros objetos. E para que objetos mais complexos funcionem corretamente, já precisamos que os objetos interajam entre si e interajam com o usuário.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 16): Uma nova perspectiva sobre árvores de decisão

Ciência de Dados e Aprendizado de Máquina (Parte 16): Uma nova perspectiva sobre árvores de decisão

Na última parte da nossa série sobre aprendizado de máquina e trabalho com big data, voltamos a falar sobre as árvores de decisão. Este artigo é destinado a traders que desejam entender o papel das árvores de decisão na análise de tendências de mercado. Aqui, reunimos todas as informações principais sobre a estrutura, o propósito e o uso dessas árvores. Vamos explorar as raízes e os ramos das árvores algorítmicas e descobrir como elas podem ser aplicadas na tomada de decisões de negociação. Vamos juntos dar um novo olhar às árvores de decisão e ver como elas podem ajudar a superar as dificuldades nos mercados financeiros.
preview
Uma Formulação Genérica de Otimização (GOF) para Implementar Max Personalizado com Restrições

Uma Formulação Genérica de Otimização (GOF) para Implementar Max Personalizado com Restrições

Neste artigo, apresentaremos uma maneira de implementar problemas de otimização com múltiplos objetivos e restrições ao selecionar "Max Personalizado" na aba Configurações do terminal MetaTrader 5. Como exemplo, o problema de otimização pode ser: Maximizar o Fator de Lucro, o Lucro Líquido e o Fator de Recuperação, de modo que o Drawdown seja inferior a 10%, o número de perdas consecutivas seja inferior a 5, e o número de negociações por semana seja superior a 5.
preview
Redes neurais de maneira fácil (Parte 80): modelo generativo adversarial do transformador de grafos (GTGAN)

Redes neurais de maneira fácil (Parte 80): modelo generativo adversarial do transformador de grafos (GTGAN)

Neste artigo, apresento o algoritmo GTGAN, que foi introduzido em janeiro de 2024 para resolver tarefas complexas de criação de layout arquitetônico com restrições de grafos.
preview
Previsão de barras Renko com a ajuda de IA CatBoost

Previsão de barras Renko com a ajuda de IA CatBoost

Como usar barras Renko junto com IA? Vamos analisar o Renko-trading no Forex com precisão de previsões de até 59.27%. Exploraremos as vantagens das barras Renko para filtrar o ruído do mercado, entenderemos por que indicadores de volume são mais importantes do que padrões de preço e como configurar o tamanho ideal do bloco Renko para EURUSD. Um guia passo a passo para integrar CatBoost, Python e MetaTrader 5 para criar seu próprio sistema de previsão Renko Forex. Perfeito para traders que desejam ir além da análise técnica tradicional.
preview
Simulação de mercado: Position View (II)

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

Neste artigo, mostrarei de maneira o mais simples e prática possível. Como você poderá usar um indicador como sendo uma forma de observar posições que estejam abertas. Isto junto ao servidor de negociação. Estou fazendo isto, desta forma e ao poucos, justamente para mostrar, que você não precisa necessariamente, colocar tais coisas em um Expert Advisor. Muitos de vocês, já devem estar bastante acostumados em fazer isto. Seja por um motivo, seja por outro qualquer. Mas a verdade é que isto é pura bobagem, já que conforme formos avançando nesta implementação, ficará claro, que você poderá criar, ou implementar diversos tipos diferentes de indicadores, para tão propósito.
preview
Redes neurais em trading: Agente com memória multinível (Conclusão)

Redes neurais em trading: Agente com memória multinível (Conclusão)

Damos continuidade ao desenvolvimento do framework FinMem, que utiliza abordagens de memória multinível, imitando os processos cognitivos humanos. Isso permite que o modelo não apenas processe dados financeiros complexos de forma eficiente, mas também se adapte a novos sinais, aumentando significativamente a precisão e a efetividade das decisões de investimento em mercados altamente dinâmicos.
preview
Redes neurais em trading: Detecção Adaptativa de Anomalias de Mercado (DADA)

Redes neurais em trading: Detecção Adaptativa de Anomalias de Mercado (DADA)

Apresentamos o DADA, um framework inovador para identificação de anomalias em séries temporais. Ele ajuda a distinguir oscilações aleatórias de desvios suspeitos. Ao contrário dos métodos tradicionais, o DADA se ajusta de maneira flexível a diferentes conjuntos de dados. Em vez de usar um nível fixo de compressão, ele testa vários níveis e escolhe o mais adequado para cada situação.
preview
Rede neural na prática: A prática leva a perfeição

Rede neural na prática: A prática leva a perfeição

Neste artigo mostrarei como, uma simples mudança no código, a fim de tornar o neurônio um pouco mais especializado. Pode tornar a fase de treinamento consideravelmente mais rápida. Visto que uma vez que o neurônio, ou rede neural, como será visto mais para frente. Já estiver sido treinada. O trabalho executado por ela, será feito de maneira muito mais rápida. Também falarei de um problema que existe, do qual poucos mencionam.
preview
Balanceando riscos ao negociar múltiplos instrumentos simultaneamente

Balanceando riscos ao negociar múltiplos instrumentos simultaneamente

Este artigo permitirá que um iniciante escreva uma implementação de um script do zero para balancear riscos ao negociar múltiplos instrumentos simultaneamente. Além disso, pode dar aos usuários experientes novas ideias para implementar suas soluções em relação às opções propostas neste artigo.
preview
Otimização de Portfólio em Python e MQL5

Otimização de Portfólio em Python e MQL5

Este artigo explora técnicas avançadas de otimização de portfólio usando Python e MQL5 com o MetaTrader 5. Ele demonstra como desenvolver algoritmos para análise de dados, alocação de ativos e geração de sinais de negociação, enfatizando a importância da tomada de decisões orientada por dados na gestão financeira moderna e na mitigação de riscos.
preview
Criando um Expert Advisor Integrado MQL5-Telegram (Parte 4): Modularizando Funções de Código para Maior Reutilização

Criando um Expert Advisor Integrado MQL5-Telegram (Parte 4): Modularizando Funções de Código para Maior Reutilização

Neste artigo, reformulamos o código existente usado para enviar mensagens e capturas de tela do MQL5 para o Telegram, organizando-o em funções modulares reutilizáveis. Isso tornará o processo mais eficiente, permitindo uma execução mais rápida e uma gestão de código mais fácil em múltiplas instâncias.
preview
Análise Múltipla de Símbolos com Python e MQL5 (Parte I): Fabricantes de Circuitos Integrados do NASDAQ

Análise Múltipla de Símbolos com Python e MQL5 (Parte I): Fabricantes de Circuitos Integrados do NASDAQ

Junte-se a nós para discutir como você pode usar IA para otimizar o dimensionamento de posições e a quantidade de ordens, a fim de maximizar o retorno do seu portfólio. Vamos mostrar como identificar, de forma algorítmica, um portfólio ideal e adaptar seu portfólio conforme sua expectativa de retorno ou níveis de tolerância ao risco. Nesta discussão, vamos utilizar a biblioteca SciPy e a linguagem MQL5 para criar um portfólio ideal e diversificado usando todos os dados que temos.
preview
Previsão de Tendência com LSTM para Estratégias de Seguimento de Tendência

Previsão de Tendência com LSTM para Estratégias de Seguimento de Tendência

Memória de Curto e Longo Prazo (LSTM) é um tipo de rede neural recorrente (RNN) projetada para modelar dados sequenciais, capturando de forma eficaz dependências de longo prazo e resolvendo o problema do gradiente desvanecente. Neste artigo, exploraremos como utilizar LSTM para prever tendências futuras, aprimorando o desempenho de estratégias de seguimento de tendência. O artigo abordará a introdução de conceitos-chave e a motivação por trás do desenvolvimento, a obtenção de dados do MetaTrader 5, o uso desses dados para treinar o modelo em Python, a integração do modelo de aprendizado de máquina no MQL5 e a reflexão sobre os resultados e aspirações futuras com base em backtesting estatístico.
preview
Negociando com o Calendário Econômico do MQL5 (Parte 5): Aprimorando o Painel com Controles Responsivos e Botões de Filtro

Negociando com o Calendário Econômico do MQL5 (Parte 5): Aprimorando o Painel com Controles Responsivos e Botões de Filtro

Neste artigo, criamos botões para filtros de pares de moedas, níveis de importância, filtros de tempo e uma opção de cancelamento para melhorar o controle do painel. Esses botões são programados para responder dinamicamente às ações do usuário, permitindo uma interação contínua. Também automatizamos seu comportamento para refletir mudanças em tempo real no painel. Isso aprimora a funcionalidade geral, a mobilidade e a responsividade do painel.
preview
Informações detalhadas sobre trading baseado em volume: Indo além dos gráficos OHLC

Informações detalhadas sobre trading baseado em volume: Indo além dos gráficos OHLC

Um sistema de trading algorítmico que combina análise de volume com métodos de machine learning, em especial com redes neurais LSTM. Diferente das abordagens tradicionais de trading, que se concentram principalmente no movimento dos preços, este sistema enfatiza os padrões de volume e suas derivadas para prever os movimentos do mercado. A metodologia inclui três componentes principais: análise das derivadas do volume (primeira e segunda derivada), previsões LSTM para padrões de volume e indicadores técnicos tradicionais.
preview
Portfolio Risk Model using Kelly Criterion and Monte Carlo Simulation

Portfolio Risk Model using Kelly Criterion and Monte Carlo Simulation

Por décadas, traders vêm utilizando a fórmula do Critério de Kelly para determinar a proporção ideal de capital a ser alocada em um investimento ou aposta, a fim de maximizar o crescimento de longo prazo enquanto minimiza o risco de ruína. No entanto, seguir cegamente o Critério de Kelly utilizando o resultado de um único backtest costuma ser perigoso para traders individuais, pois, na negociação ao vivo, a vantagem de trading diminui com o tempo, e o desempenho passado não é garantia de resultado futuro. Neste artigo, apresentarei uma abordagem realista para aplicar o Critério de Kelly para alocação de risco de um ou mais EAs no MetaTrader 5, incorporando resultados de simulação de Monte Carlo provenientes do Python.
preview
Percepções de Negociação por Meio do Volume: Confirmação de Tendência

Percepções de Negociação por Meio do Volume: Confirmação de Tendência

A Técnica Aprimorada de Confirmação de Tendência combina ação de preço, análise de volume e aprendizado de máquina para identificar movimentos genuínos do mercado. Ela requer tanto rompimentos de preço quanto aumentos de volume (50% acima da média) para validação da negociação, enquanto utiliza uma rede neural LSTM para confirmação adicional. O sistema emprega dimensionamento de posição baseado em ATR e gerenciamento dinâmico de risco, tornando-o adaptável a várias condições de mercado, ao mesmo tempo em que filtra sinais falsos.
preview
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 4)

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

Este artigo é a quarta parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, examinamos as propriedades do MQTT v5.0, sua semântica, como lemos algumas delas e também fornecemos um breve exemplo de como as propriedades podem ser usadas para expandir o protocolo.
preview
Anotação de dados na análise de série temporal (Parte 6): Aplicação e teste de EA com ONNX

Anotação de dados na análise de série temporal (Parte 6): Aplicação e teste de EA com ONNX

Nesta série de artigos, apresentamos vários métodos de anotação de séries temporais, que podem criar dados adequados à maioria dos modelos de inteligência artificial (IA). A anotação de dados direcionada pode tornar o modelo de IA treinado mais alinhado aos objetivos e tarefas do usuário, aumentar a precisão do modelo e até ajudar o modelo a alcançar um salto qualitativo!
preview
Negociação com spreads no mercado Forex usando o fator de sazonalidade

Negociação com spreads no mercado Forex usando o fator de sazonalidade

Este artigo analisa as possibilidades de criação e fornecimento de dados de relatórios sobre o uso do fator de sazonalidade na negociação por meio de spreads no mercado Forex.
preview
Criando um Painel Administrativo de Negociação em MQL5 (Parte III): Aprimorando a Interface com Estilo Visual (I)

Criando um Painel Administrativo de Negociação em MQL5 (Parte III): Aprimorando a Interface com Estilo Visual (I)

Neste artigo, focaremos no estilo visual da interface gráfica do usuário (GUI) do nosso Painel Administrativo de Negociação usando MQL5. Exploraremos várias técnicas e recursos disponíveis no MQL5 que permitem a personalização e otimização da interface, garantindo que ela atenda às necessidades dos traders enquanto mantém uma estética atraente.
preview
Otimização por Quimiotaxia Bacteriana (BCO)

Otimização por Quimiotaxia Bacteriana (BCO)

Este artigo apresenta a versão original do algoritmo de otimização por quimiotaxia bacteriana (Bacterial Chemotaxis Optimization, BCO) e sua variante modificada. Examinaremos detalhadamente todas as diferenças, com foco especial na nova versão BCOm, que simplifica o mecanismo de movimento das bactérias, reduz a dependência do histórico de mudanças de posição e emprega operações matemáticas mais simples em comparação com a versão original, que possui um alto custo computacional. Além disso, serão realizados testes e apresentadas conclusões.
preview
Simulação de mercado: A união faz a força (III)

Simulação de mercado: A união faz a força (III)

Neste artigo, apresentarei o nosso sistema de simulação de operações a mercado. Apesar deste sistema está praticamente terminado. Ainda existem algumas coisas a serem feitas e implementadas. Além de algumas poucas mudanças que ainda precisam ser feitas. Mas mesmo com tudo que já foi implementado. Confesso que já estou cansado de ficar preso na implementação deste sistema.
preview
Monitoramento de Trading com Notificações-Push — Exemplo de Serviço no MetaTrader 5

Monitoramento de Trading com Notificações-Push — Exemplo de Serviço no MetaTrader 5

Neste artigo, analisaremos a criação de um programa de serviço para enviar notificações para um smartphone sobre os resultados do trading. No decorrer do artigo, aprenderemos a trabalhar com listas de objetos da Biblioteca Padrão para facilitar a seleção de objetos com as propriedades necessárias.
preview
Do básico ao intermediário: Array e Strings (I)

Do básico ao intermediário: Array e Strings (I)

Neste artigo, começaremos a ver alguns tipos especiais de dados. Vamos começar definindo o que seria uma string e como usar alguns procedimentos básicos. Isto para que possamos começar a trabalhar com este tipo que é bem curioso. Apesar de em alguns momentos ser um tanto confuso para iniciantes. 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
Análise volumétrica com redes neurais como chave para tendências futuras

Análise volumétrica com redes neurais como chave para tendências futuras

O artigo explora a possibilidade de melhorar a previsão de preços com base na análise do volume de negociações, integrando os princípios da análise técnica com a arquitetura de redes neurais LSTM. Dá-se atenção especial à identificação e interpretação de volumes anômalos, uso de clusterização e criação de características baseadas em volume, além de sua definição no contexto de aprendizado de máquina.
preview
Trading de arbitragem no Forex: sistema de negociação matricial para retorno ao valor justo com limitação de risco

Trading de arbitragem no Forex: sistema de negociação matricial para retorno ao valor justo com limitação de risco

O artigo contém uma descrição detalhada do algoritmo de cálculo de taxas cruzadas, a visualização da matriz de desequilíbrios e recomendações para a configuração ideal dos parâmetros MinDiscrepancy e MaxRisk para uma negociação eficiente. O sistema calcula automaticamente o "valor justo" de cada par de moedas por meio de taxas cruzadas, gerando sinais de compra em desvios negativos e de venda em desvios positivos.
preview
DoEasy. Controles (Parte 15): Objeto WinForms TabControl - múltiplas fileiras de cabeçalhos de guias, métodos de manuseio de guias

DoEasy. Controles (Parte 15): Objeto WinForms TabControl - múltiplas fileiras de cabeçalhos de guias, métodos de manuseio de guias

Neste artigo, continuaremos trabalhando no objeto WinForm TabControl, e para tal criaremos a classe do objeto-campo de guia, tornaremos possível colocar cabeçalhos de guias em várias linhas e adicionaremos métodos para trabalhar com as guias do objeto.
preview
Construa Consultores Especialistas Autossustentáveis com MQL5 e Python

Construa Consultores Especialistas Autossustentáveis com MQL5 e Python

Neste artigo, discutiremos como podemos construir Consultores Especialistas capazes de selecionar e mudar autonomamente as estratégias de negociação com base nas condições prevalentes do mercado. Vamos aprender sobre Cadeias de Markov e como elas podem ser úteis para nós, como traders algorítmicos.
preview
Exemplo de Otimização Estocástica e Controle Ótimo

Exemplo de Otimização Estocástica e Controle Ótimo

Este Expert Advisor, chamado SMOC (provavelmente abreviação de Stochastic Model Optimal Control), é um exemplo simples de um sistema de negociação algorítmica avançado para o MetaTrader 5. Ele utiliza uma combinação de indicadores técnicos, controle preditivo baseado em modelos e gerenciamento dinâmico de risco para tomar decisões de negociação. O EA incorpora parâmetros adaptativos, dimensionamento de posição baseado em volatilidade e análise de tendências para otimizar seu desempenho em diferentes condições de mercado.
preview
Algoritmo de arquearia — Archery Algorithm (AA)

Algoritmo de arquearia — Archery Algorithm (AA)

Neste artigo, examinamos detalhadamente o algoritmo de otimização inspirado na arquearia, com foco no uso do método de roleta como mecanismo de seleção de áreas promissoras para a colocação das "flechas". Esse método permite avaliar a qualidade das soluções e selecionar as posições mais promissoras para um estudo mais aprofundado.
preview
Avaliação visual e ajuste da negociação no MetaTrader 5

Avaliação visual e ajuste da negociação no MetaTrader 5

No testador de estratégias, é possível não apenas otimizar os parâmetros do robô de negociação. Vamos mostrar como avaliar, após o fato, o histórico de negociação de sua conta e fazer ajustes na negociação dentro do testador, alterando os tamanhos dos stop orders das posições abertas.
preview
Engenharia de Recursos com Python e MQL5 (Parte II): Ângulo de Preço

Engenharia de Recursos com Python e MQL5 (Parte II): Ângulo de Preço

Existem muitas postagens no Fórum MQL5 pedindo ajuda para calcular a inclinação das mudanças de preço. Este artigo demonstrará uma forma possível de calcular o ângulo formado pelas variações de preço em qualquer mercado que você deseje negociar. Além disso, responderemos se desenvolver esse novo recurso vale o esforço e o tempo adicionais investidos. Vamos explorar se a inclinação do preço pode melhorar a precisão de algum dos nossos modelos de IA ao prever o par USDZAR no M1.
preview
Recursos do SQLite em MQL5: Exemplo de painel interativo com estatísticas de trading por símbolo e magic

Recursos do SQLite em MQL5: Exemplo de painel interativo com estatísticas de trading por símbolo e magic

Neste artigo, vamos criar um indicador que exibe, em um painel interativo, estatísticas de trading da conta divididas por símbolos e estratégias de negociação. Escreveremos o código com base em exemplos da Documentação e do artigo sobre trabalho com bancos de dados.
preview
Desenvolvendo um EA multimoeda (Parte 6): Automatizando a seleção de um grupo de instâncias

Desenvolvendo um EA multimoeda (Parte 6): Automatizando a seleção de um grupo de instâncias

Depois de otimizar uma estratégia de negociação, obtemos conjuntos de parâmetros que facilitam a criação de várias instâncias dessa estratégia, todas integradas em um único Expert Advisor. Antes, fazíamos isso manualmente, mas agora vamos tentar automatizar esse processo.
preview
Expert Advisor Autônomo com MQL5 e Python (Parte III): Decifrando o Algoritmo do Boom 1000

Expert Advisor Autônomo com MQL5 e Python (Parte III): Decifrando o Algoritmo do Boom 1000

Nesta série de artigos, discutimos como podemos construir Expert Advisors capazes de se ajustarem autonomamente às condições dinâmicas do mercado. No artigo de hoje, tentaremos ajustar uma rede neural profunda aos mercados sintéticos da Deriv.
preview
Simulação de mercado (Parte 15): Sockets (IX)

Simulação de mercado (Parte 15): Sockets (IX)

Neste artigo daqui, explicarei uma das soluções possíveis para o que venho tentando mostrar. Ou seja, como permitir que um usuário no Excel, consiga fazer algo no MetaTrader 5. Isto sem que ele de fato, envie ordens, abra ou feche uma posição usando o MetaTrader 5. A ideia, é que o usuário faça uso do Excel a fim de ter um estudo fundamentalista de algum ativo. E fazendo uso, apenas e somente do Excel, ele consiga dizer a um Expert Advisor, que esteja executando no MetaTrader 5, que é para abrir ou fechar uma dada posição.