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
O escore de propensão na inferência causalidade

O escore de propensão na inferência causalidade

O artigo examina o tema de pareamento na inferência causal. O pareamento é utilizado para comparar observações semelhantes em um conjunto de dados. Isso é necessário para determinar corretamente os efeitos causais e eliminar o viés. O autor explica como isso ajuda na construção de sistemas de negociação baseados em aprendizado de máquina, que se tornam mais estáveis em novos dados nos quais não foram treinados. O escore de propensão desempenha um papel central e é amplamente utilizado na inferência causal.
preview
Um algoritmo de seleção de características usando aprendizado baseado em energia em MQL5 puro

Um algoritmo de seleção de características usando aprendizado baseado em energia em MQL5 puro

Neste artigo, apresentamos a implementação de um algoritmo de seleção de características descrito em um artigo acadêmico intitulado "FREL: Um algoritmo estável de seleção de características", chamado de Ponderação de Características como Aprendizado Baseado em Energia Regularizada.
preview
Algoritmo de Fechadura Codificada (Code Lock Algorithm, CLA)

Algoritmo de Fechadura Codificada (Code Lock Algorithm, CLA)

Neste artigo, vamos repensar as fechaduras codificadas, transformando-as de mecanismos de proteção em ferramentas para resolver tarefas complexas de otimização. Descubra o mundo das fechaduras codificadas, não como simples dispositivos de segurança, mas como inspiração para uma nova abordagem à otimização. Vamos criar uma população inteira de "fechaduras", onde cada uma representa uma solução única para um problema. Em seguida, desenvolveremos um algoritmo que "destrancará" essas fechaduras e encontrará soluções ideais em várias áreas, desde o aprendizado de máquina até o desenvolvimento de sistemas de trading.
preview
Criando um Painel de Administração de Trading em MQL5 (Parte VI): Interface de Funções Múltiplas (I)

Criando um Painel de Administração de Trading em MQL5 (Parte VI): Interface de Funções Múltiplas (I)

O papel do Administrador de Trading vai além das comunicações via Telegram; ele também pode realizar várias atividades de controle, incluindo gerenciamento de ordens, acompanhamento de posições e personalização da interface. Neste artigo, compartilharemos insights práticos sobre como expandir nosso programa para suportar múltiplas funcionalidades em MQL5. Esta atualização tem como objetivo superar a limitação atual do Painel de Administração de se concentrar principalmente na comunicação, permitindo que ele lide com uma gama mais ampla de tarefas.
preview
Do básico ao intermediário: Estruturas (VII)

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

Neste artigo, será mostrado como podemos lidar com problemas de forma a estruturar as coisas, a fim de criar uma solução mais fácil e atrativa. Apesar do conteúdo ser voltado para a didática, não representando assim um código real. Os conceitos e conhecimento vistos aqui, precisam de fato ser muito bem assimilados. Isto para que no futuro, você consiga acompanhar os códigos que iremos mostrar.
preview
Redes neurais em trading: Aprendizado multitarefa baseado no modelo ResNeXt

Redes neurais em trading: Aprendizado multitarefa baseado no modelo ResNeXt

O framework de aprendizado multitarefa baseado no ResNeXt otimiza a análise de dados financeiros ao considerar sua alta dimensionalidade, não linearidade e dependências temporais. O uso de convolução em grupo e cabeças especializadas permite que o modelo extraia de forma eficiente as principais características dos dados brutos.
preview
Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)

Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)

As últimas 2 partes foram dedicadas ao método transformador de decisões (DT), que modela sequências de ações no contexto de um modelo autorregressivo de recompensas desejadas. Neste artigo, vamos considerar outro algoritmo de otimização deste método.
preview
Redes neurais de maneira fácil (Parte 64): Método de clonagem de comportamento ponderada conservadora (CWBC)

Redes neurais de maneira fácil (Parte 64): Método de clonagem de comportamento ponderada conservadora (CWBC)

Pelo resultado dos testes realizados em artigos anteriores, concluímos que a qualidade da estratégia treinada depende muito da amostra de treinamento utilizada. Neste artigo, apresento a vocês um método simples e eficaz para selecionar trajetórias com o objetivo de treinar modelos.
preview
Desenvolvendo um EA multimoeda (Parte 19): Criando etapas implementadas em Python

Desenvolvendo um EA multimoeda (Parte 19): Criando etapas implementadas em Python

Até agora, analisamos a automação da execução de procedimentos sequenciais de otimização de EAs exclusivamente no testador de estratégias padrão. Mas o que fazer se, entre essas execuções, quisermos processar alguns dados já obtidos por outros meios? Vamos tentar adicionar a possibilidade de criar novas etapas de otimização, executadas por programas escritos em Python.
preview
Redes neurais em trading: Framework híbrido de negociação com codificação preditiva (Conclusão)

Redes neurais em trading: Framework híbrido de negociação com codificação preditiva (Conclusão)

Damos continuidade à análise do StockFormer, um sistema híbrido de negociação que combina codificação preditiva e algoritmos de aprendizado por reforço para análise de séries temporais financeiras. O sistema se baseia em três ramificações Transformer com o mecanismo Diversified Multi-Head Attention (DMH-Attn), que permite identificar padrões complexos e interrelações entre ativos. Anteriormente, aprendemos os aspectos teóricos do framework e implementamos os mecanismos do DMH-Attn; hoje vamos abordar a arquitetura dos modelos e seu treinamento.
preview
Indicador de previsão de volatilidade usando Python

Indicador de previsão de volatilidade usando Python

Vamos prever a volatilidade extrema futura com ajuda da classificação binária. Criamos um indicador de previsão de volatilidade extrema com uso de aprendizado de máquina.
preview
Redes neurais de maneira fácil (Parte 55): Controle interno contrastivo (CIC)

Redes neurais de maneira fácil (Parte 55): Controle interno contrastivo (CIC)

O aprendizado contrastivo é um método de aprendizado de representação sem supervisão. Seu objetivo é ensinar o modelo a identificar semelhanças e diferenças nos conjuntos de dados. Neste artigo, discutiremos o uso de abordagens de aprendizado contrastivo para explorar diferentes habilidades do Ator.
preview
Do básico ao intermediário: Ponto Flutuante

Do básico ao intermediário: Ponto Flutuante

Este artigo é uma breve introdução ao que seria o ponto flutuante. Como este conteúdo é muito complicado, aconselho você o ler com calma e atenção. Não espere dominar o sistema de ponto flutuante de maneira rápida. O mesmo somente é dominado com o tempo e experiência de uso. Mas este artigo irá lhe ajudar a entender, por que as vezes sua aplicação, reporta um resultado diferente daquele esperado originalmente. 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
Simulação de mercado (Parte 07): Sockets (I)

Simulação de mercado (Parte 07): Sockets (I)

Soquetes. Você sabe para que eles servem, ou como fazer uso deles no MetaTrader 5? Se a resposta for não, vamos começar aprendendo um pouco sobre eles. Este artigo aqui envolve o básico do básico. Mas como existem diversas maneiras de se fazer a mesma coisa, e o que nos interessa realmente é sempre o resultado. Queria mostrar que sim, existe uma forma simples, de passar dados do MetaTrader 5 para dentro de outros programas, como por exemplo o Excel. Porém, a principal ideia, não é transferir dados do MetaTrader 5, para o Excel. E sim fazer o contrário. Ou seja, transferir dados do Excel, ou de qualquer outro programa, para dentro do MetaTrader 5.
preview
Colmeia artificial de abelhas — Artificial Bee Hive Algorithm (ABHA): Teoria e métodos

Colmeia artificial de abelhas — Artificial Bee Hive Algorithm (ABHA): Teoria e métodos

Neste artigo, exploramos o algoritmo Artificial Bee Hive Algorithm (ABHA), desenvolvido em 2009. Voltado para a solução de problemas de otimização contínua, o algoritmo é utilizado para encontrar o melhor caminho entre dois pontos. Analisaremos como o ABHA se inspira no comportamento das colônias de abelhas, no qual cada abelha desempenha um papel único que contribui para uma busca mais eficiente por recursos.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 33): Kernels de Processos Gaussianos

Técnicas do MQL5 Wizard que você deve conhecer (Parte 33): Kernels de Processos Gaussianos

Os Kernels de Processos Gaussianos são a função de covariância da Distribuição Normal que pode desempenhar um papel em previsões. Exploramos esse algoritmo único em uma classe de sinal personalizada em MQL5 para ver se pode ser utilizado como um sinal principal de entrada e saída.
preview
Desenvolvendo um EA multimoeda (Parte 22): Início da transição para substituição dinâmica de configurações

Desenvolvendo um EA multimoeda (Parte 22): Início da transição para substituição dinâmica de configurações

Se decidimos automatizar a execução da otimização periódica, também precisamos cuidar da atualização automática das configurações dos EAs que já estão operando na conta de negociação. Isso também deve permitir rodar o EA no testador de estratégias e alterar suas configurações dentro de uma única execução.
preview
Estratégias de Reversão à Média com RSI2 de Larry Connors para Day Trading

Estratégias de Reversão à Média com RSI2 de Larry Connors para Day Trading

Larry Connors é um trader e autor renomado, mais conhecido por seu trabalho em trading quantitativo e estratégias como o RSI de 2 períodos (RSI2), que ajuda a identificar condições de sobrecompra e sobrevenda de curto prazo no mercado. Neste artigo, primeiro explicaremos a motivação por trás de nossa pesquisa, depois recriaremos três das estratégias mais famosas de Connors em MQL5 e as aplicaremos ao trading intradiário do CFD do índice S&P 500.
preview
Algoritmos de otimização populacional: simulação de têmpera isotrópica (Simulated Isotropic Annealing, SIA). Parte II

Algoritmos de otimização populacional: simulação de têmpera isotrópica (Simulated Isotropic Annealing, SIA). Parte II

A primeira parte do artigo foi dedicada ao conhecido e popular algoritmo de têmpera simulada, onde foram analisadas suas vantagens e descritos detalhadamente os pontos fracos. A segunda parte do artigo é dedicada a uma transformação radical do algoritmo, seu renascimento em um novo algoritmo de otimização, a simulação de têmpera isotrópica, SIA.
preview
Usando PSAR, Heiken Ashi e Aprendizado Profundo Juntos para Operações de Trading

Usando PSAR, Heiken Ashi e Aprendizado Profundo Juntos para Operações de Trading

Este projeto explora a fusão entre aprendizado profundo e análise técnica para testar estratégias de trading no mercado de câmbio (forex). Um script em Python é usado para experimentação rápida, utilizando um modelo ONNX juntamente com indicadores tradicionais como PSAR, SMA e RSI para prever movimentos do par EUR/USD. Um script em MetaTrader 5 então leva essa estratégia para um ambiente ao vivo, usando dados históricos e análise técnica para tomar decisões de trading mais informadas. Os resultados do backtesting indicam uma abordagem cautelosa, porém consistente, com foco em gestão de risco e crescimento estável em vez da busca agressiva por lucros.
preview
Repensando estratégias clássicas (Parte X): A IA pode operar o MACD?

Repensando estratégias clássicas (Parte X): A IA pode operar o MACD?

Junte-se a nós em uma análise empírica do indicador MACD para verificar se a aplicação da inteligência artificial à estratégia que inclui esse indicador pode aumentar a precisão da previsão do par EURUSD. Avaliamos simultaneamente se é mais fácil prever o próprio indicador do que o preço, bem como se o valor do indicador permite prever os níveis futuros de preço. Forneceremos as informações necessárias para que você decida se vale a pena investir seu tempo integrando o MACD às suas estratégias de trading com o uso de inteligência artificial.
preview
Trading por algoritmo: IA e seu caminho para os topos dourados

Trading por algoritmo: IA e seu caminho para os topos dourados

Neste artigo, é demonstrado um método de criação de estratégias de trading para o ouro usando aprendizado de máquina. Ao analisar o método proposto para a previsão de séries temporais sob diferentes ângulos, é possível identificar suas vantagens e desvantagens em comparação com outras formas de criação de sistemas de trading baseadas somente na análise e previsão de séries temporais financeiras.
preview
Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 9): Consultor Especializado em Múltiplas Estratégias (II)

Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 9): Consultor Especializado em Múltiplas Estratégias (II)

O número de estratégias que podem ser integradas em um Expert Advisor é praticamente ilimitado. No entanto, cada estratégia adicional aumenta a complexidade do algoritmo. Ao incorporar múltiplas estratégias, um Expert Advisor pode se adaptar melhor às condições variáveis do mercado, potencialmente aumentando sua lucratividade. Hoje, exploraremos como implementar em MQL5 uma das estratégias mais conhecidas desenvolvidas por Richard Donchian, enquanto continuamos a aprimorar a funcionalidade do nosso Trend Constraint Expert.
preview
Otimização de portfólio em Forex: Síntese de VaR e teoria de Markowitz

Otimização de portfólio em Forex: Síntese de VaR e teoria de Markowitz

Como se realiza o trading com portfólio em Forex? Como pode ser feita a síntese entre a teoria de portfólio de Markowitz para otimizar as proporções do portfólio e o modelo VaR para otimizar o risco do portfólio? Vamos criar um código baseado na teoria de portfólio, onde, de um lado, obtemos um risco reduzido e, do outro, uma rentabilidade de longo prazo aceitável.
preview
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 10): Fluxo Externo (II) VWAP

Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 10): Fluxo Externo (II) VWAP

Domine o poder do VWAP com o nosso guia abrangente! Aprenda como integrar a análise de VWAP à sua estratégia de negociação usando MQL5 e Python. Maximize seus insights de mercado e melhore suas decisões de trading hoje mesmo.
preview
DoEasy. Controles (Parte 28): Estilos de barra no controle ProgressBar

DoEasy. Controles (Parte 28): Estilos de barra no controle ProgressBar

Neste artigo veremos estilos de exibição e texto descritivo para o controle ProgressBar.
preview
Tipo de desenho DRAW_ARROW em indicadores multissímbolos e multiperíodos

Tipo de desenho DRAW_ARROW em indicadores multissímbolos e multiperíodos

No artigo, vamos considerar o desenho de indicadores multissímbolos e multiperíodos com setas. Aprimoraremos os métodos da classe para a correta exibição das setas, que exibem dados dos indicadores de seta calculados em símbolo/período diferentes do símbolo/período do gráfico atual.
preview
Desenvolvendo um EA multimoeda (Parte 10): Criação de objetos a partir de uma string

Desenvolvendo um EA multimoeda (Parte 10): Criação de objetos a partir de uma string

O plano de desenvolvimento do EA prevê várias etapas com o salvamento de resultados intermediários em um banco de dados. Recuperá-los de lá é possível apenas na forma de strings ou números, não como objetos. Portanto, precisamos de uma maneira de recriar no EA os objetos necessários a partir de strings lidas do banco de dados.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 24): Médias Móveis

Técnicas do MQL5 Wizard que você deve conhecer (Parte 24): Médias Móveis

Médias Móveis são um indicador muito comum, usado e compreendido pela maioria dos traders. Exploramos possíveis casos de uso que podem não ser tão comuns dentro dos Expert Advisors montados no MQL5 Wizard.
preview
Redes neurais em trading: Framework híbrido de negociação com codificação preditiva (StockFormer)

Redes neurais em trading: Framework híbrido de negociação com codificação preditiva (StockFormer)

Apresentamos o sistema de negociação híbrido StockFormer, que combina codificação preditiva e algoritmos de aprendizado por reforço (RL). O framework utiliza 3 ramos Transformer com mecanismo integrado Diversified Multi-Head Attention (DMH-Attn), que melhora o módulo de atenção padrão com um bloco Feed-Forward multicabeça, permitindo capturar padrões de séries temporais em diferentes subespaços.
preview
Redes neurais de maneira fácil (Parte 56): Utilização da norma nuclear para estimular a pesquisa

Redes neurais de maneira fácil (Parte 56): Utilização da norma nuclear para estimular a pesquisa

A pesquisa do ambiente em tarefas de aprendizado por reforço é um problema atual. Anteriormente, já examinamos algumas abordagens. E hoje, eu proponho que nos familiarizemos com mais um método, baseado na maximização da norma nuclear. Ele permite que os agentes destaquem estados do ambiente com alto grau de novidade e diversidade.
preview
Redes neurais de maneira fácil (Parte 58): transformador de decisões (Decision Transformer — DT)

Redes neurais de maneira fácil (Parte 58): transformador de decisões (Decision Transformer — DT)

Continuamos a explorar os métodos de aprendizado por reforço. Neste artigo, proponho apresentar um algoritmo ligeiramente diferente que considera a política do agente sob a perspectiva de construir uma sequência de ações.
preview
Construindo um Modelo de Restrição de Tendências de Candlestick (Parte 3): Detectando mudanças nas tendências ao usar este sistema

Construindo um Modelo de Restrição de Tendências de Candlestick (Parte 3): Detectando mudanças nas tendências ao usar este sistema

Este artigo explora como a divulgação de notícias econômicas, o comportamento dos investidores e vários fatores podem influenciar as reversões de tendências de mercado. Inclui uma explicação em vídeo e prossegue incorporando código MQL5 ao nosso programa para detectar reversões de tendência, nos alertar e tomar as ações apropriadas com base nas condições de mercado. Isso se baseia em artigos anteriores da série.
preview
Negociação de Notícias Facilitada (Parte 3): Realizando Negócios

Negociação de Notícias Facilitada (Parte 3): Realizando Negócios

Neste artigo, nosso especialista em negociação de notícias começará a abrir negociações com base no calendário econômico armazenado em nosso banco de dados. Além disso, melhoraremos os gráficos do especialista para exibir informações mais relevantes sobre os próximos eventos do calendário econômico.
preview
Do básico ao intermediário: Comandos BREAK e CONTINUE

Do básico ao intermediário: Comandos BREAK e CONTINUE

Neste artigo veremos como usar os comando RETURN, BREAK e CONTINUE dentro de um laço. Entender o que cada um destes comandos faz no fluxo de execução de um laço é algo muito importante, para que você consiga trabalhar com aplicações mais elaboradas. 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
Implementando uma Estratégia de Trading Rápido com Parabolic SAR e Média Móvel Simples (SMA) em MQL5

Implementando uma Estratégia de Trading Rápido com Parabolic SAR e Média Móvel Simples (SMA) em MQL5

Neste artigo, desenvolvemos um Expert Advisor de Trading Rápido em MQL5, aproveitando os indicadores Parabolic SAR e Média Móvel Simples (SMA) para criar uma estratégia de trading responsiva. Detalhamos a implementação da estratégia, incluindo o uso de indicadores, geração de sinais e o processo de testes e otimização.
preview
Automatizando Estratégias de Trading em MQL5 (Parte 7): Construindo um EA de Grid Trading com Escalonamento Dinâmico de Lote

Automatizando Estratégias de Trading em MQL5 (Parte 7): Construindo um EA de Grid Trading com Escalonamento Dinâmico de Lote

Neste artigo, construímos um expert advisor de grid trading em MQL5 que utiliza escalonamento dinâmico de lote. Cobrimos o design da estratégia, a implementação do código e o processo de backtesting. Por fim, compartilhamos insights principais e boas práticas para otimizar o sistema de negociação automatizado.
preview
Simulação de mercado (Parte 21): Iniciando o SQL (IV)

Simulação de mercado (Parte 21): Iniciando o SQL (IV)

Muitos de vocês, caros leitores, podem ter um nível de experiência muito superior ao meu, no que rege trabalhar com bancos de dados. Tendo assim uma visão diferente da minha. Porém, como era preciso definir, e desenvolver alguma forma de explicar o motivo pelo qual os bancos de dados, são criados da forma como são criados. Explicar o por que o SQL tem o formato que tem. Mas principalmente, por que as chaves primárias e chaves estrangeiras vieram a surgir. Foi preciso deixar as coisas um pouco abstratas.
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
Experiência no desenvolvimento de estratégias de negociação

Experiência no desenvolvimento de estratégias de negociação

Neste artigo, proponho tentarmos desenvolver nossa própria estratégia de negociação. Uma estratégia de negociação deve ser construída com base em uma determinada vantagem estatística. E tal vantagem deve ser duradoura.