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
Algoritmo de Evolução do Casco da Tartaruga (Turtle Shell Evolution Algorithm, TSEA)

Algoritmo de Evolução do Casco da Tartaruga (Turtle Shell Evolution Algorithm, TSEA)

Um algoritmo de otimização único, inspirado na evolução do casco da tartaruga. O algoritmo TSEA emula a formação gradual de áreas queratinizadas da pele, que representam as soluções ótimas para o problema. As melhores soluções tornam-se mais "duras" e se aproximam da superfície externa, enquanto as soluções menos bem-sucedidas permanecem "macias" e ficam na parte interna. O algoritmo utiliza a clusterização das soluções com base na qualidade e na distância, permitindo preservar as opções menos bem-sucedidas, garantindo flexibilidade e adaptabilidade.
preview
Desenvolvimento de robô em Python e MQL5 (Parte 3): Implementação do algoritmo de negociação baseado em modelo

Desenvolvimento de robô em Python e MQL5 (Parte 3): Implementação do algoritmo de negociação baseado em modelo

Continuamos o ciclo de artigos sobre a criação de um robô de negociação em Python e MQL5. Hoje, vamos abordar a tarefa de desenvolver um algoritmo de negociação em Python.
preview
Introdução ao MQL5 (Parte 8): Guia do Iniciante para Construção de Expert Advisors (II)

Introdução ao MQL5 (Parte 8): Guia do Iniciante para Construção de Expert Advisors (II)

Este artigo aborda perguntas comuns de iniciantes nos fóruns de MQL5 e apresenta soluções práticas. Aprenda a realizar tarefas essenciais, como comprar e vender, obter preços de velas e gerenciar aspectos de negociação automatizada, como limites de operações, períodos de negociação e limites de lucro/perda. Receba orientações passo a passo para aprimorar sua compreensão e implementação desses conceitos no MQL5.
preview
Negociação automatizada em grade usando ordens pendentes de stop na Bolsa de Moscou (MOEX)

Negociação automatizada em grade usando ordens pendentes de stop na Bolsa de Moscou (MOEX)

Uso da abordagem de negociação em grade com ordens pendentes de stop em um Expert Advisor usando a linguagem de estratégias de negociação MQL5 para o MetaTrader 5 na Bolsa de Valores de Moscou (MOEX). Ao negociar no mercado, uma das estratégias mais simples é uma grade de ordens projetada para "capturar" o preço de mercado.
preview
EA MQL5 integrado ao Telegram (Parte 2): Envio de sinais do MQL5 para o Telegram

EA MQL5 integrado ao Telegram (Parte 2): Envio de sinais do MQL5 para o Telegram

Nesta parte do artigo, vamos criar um EA MQL5 integrado ao Telegram que envia sinais de cruzamento de médias móveis para o mensageiro. Descreveremos detalhadamente o processo de geração de sinais de negociação com base nesses cruzamentos, implementaremos o código necessário em MQL5 e garantiremos uma integração contínua. Como resultado, teremos um sistema que envia alertas de negociação em tempo real diretamente para um grupo no Telegram.
preview
Como desenvolver um sistema de negociação baseado no indicador Bull's Power

Como desenvolver um sistema de negociação baseado no indicador Bull's Power

Bem-vindo a um novo artigo em nossa série sobre como desenvolver um sistema de negociação com base nos indicadores técnicos mais populares, aqui está um novo artigo sobre como aprender a desenvolver um sistema de negociação pelo indicador técnico Bull's Power.
preview
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 02): Mapas de Kohonen

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 02): Mapas de Kohonen

Esta série de artigos propõe que o Assistente MQL5 deve ser um pilar para os traders. Por quê? Porque o trader não economiza apenas o tempo desenvolvendo suas novas ideias com o Assistente MQL5, mas reduz bastante os erros de desenvolvimento de código duplicado; ele está finalmente preparado para canalizar sua energia nas poucas áreas críticas de sua filosofia de negociação.
preview
Rede neural na prática: Reta Secante

Rede neural na prática: Reta Secante

Como foi explicado na parte teórica. Precisamos usar regressões lineares e derivadas, quando o assunto é rede neural. Mas por que ?!?! O motivo disto, é que a regressão linear é uma das fórmulas mais simples que existe. Basicamente uma regressão linear, é apenas uma função afim. Porém quando falamos em rede neural, não estamos interessados na reta, que a regressão linear cria. Estamos interessados é na equação que gera tal reta. A reta gerada pouco importa. Mas você sabe qual é a equação principal a ser compreendida ?!?! Se não veja este artigo para começar a entender.
preview
Redes neurais em trading: Rede neural espaço-temporal (STNN)

Redes neurais em trading: Rede neural espaço-temporal (STNN)

Neste artigo, discutiremos o uso de transformações espaço-temporais para prever com eficácia o movimento futuro dos preços. Para melhorar a precisão das previsões numéricas na STNN, foi proposto um mecanismo de atenção contínua que permite ao modelo considerar melhor os aspectos relevantes dos dados.
preview
Como construir e otimizar um sistema de negociação baseado em volatilidade (Chaikin Volatility - CHV)

Como construir e otimizar um sistema de negociação baseado em volatilidade (Chaikin Volatility - CHV)

Neste artigo, vamos apresentar outro indicador baseado em volatilidade, chamado Chaikin Volatility. Vamos entender como construir um indicador personalizado, após identificar como ele pode ser usado e construído. Vamos compartilhar algumas estratégias simples que podem ser usadas e, em seguida, testá-las para entender qual delas pode ser melhor.
preview
Desenvolvimento de um EA baseado na estratégia de rompimento do intervalo de consolidação em MQL5

Desenvolvimento de um EA baseado na estratégia de rompimento do intervalo de consolidação em MQL5

O artigo descreve os passos para criar um EA (Expert Advisor) que aproveita os rompimentos de preços após períodos de consolidação. Ao identificar esses intervalos e estabelecer os níveis de rompimento, os traders podem automatizar suas decisões de negociação com base nessa estratégia. O EA foi projetado para fornecer pontos claros de entrada e saída, evitando rompimentos falsos.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 19): Ajustes necessários

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 19): Ajustes necessários

O que de fato vamos fazer aqui, é preparar o terreno, de forma que quando for preciso adicionar algumas novas coisas ao código, isto aconteça de forma suave e tranquila. O código atual ainda não consegue cobrir ou dar cabo de algumas coisas, que serão necessárias para um avanço significativo. Precisamos que tudo seja construído de maneira que o esforço de implementação de algumas coisas seja o menor possível. Se isto for feito adequadamente teremos a possibilidade de ter um sistema realmente bastante versátil. Sendo capaz de se adaptar muito facilmente a qualquer situação que for preciso ser coberta.
Gráficos na biblioteca DoEasy (Parte 95): Controles de objetos gráficos compostos
Gráficos na biblioteca DoEasy (Parte 95): Controles de objetos gráficos compostos

Gráficos na biblioteca DoEasy (Parte 95): Controles de objetos gráficos compostos

Neste artigo, consideraremos ferramentas para gerenciar objetos gráficos compostos, nomeadamente controles de um objeto gráfico padrão estendido. Hoje vamos nos desviar um pouco do tópico anterior, que era mover um objeto gráfico composto. Em vez disso, vamos fazer um manipulador de eventos de alteração de gráfico que tem algum objeto gráfico composto, e vamos lidar com os objetos de controle do objeto gráfico composto.
preview
Redes neurais de maneira fácil (Parte 19): Regras de associação usando MQL5

Redes neurais de maneira fácil (Parte 19): Regras de associação usando MQL5

Continuamos o tópico de busca de regras de associação. No artigo anterior, consideramos os aspectos teóricos desse tipo de problema. No artigo de hoje, ensinarei a implementação do método FP-Growth usando MQL5. Também vamos testá-la com dados reais.
preview
Desenvolvendo um sistema de Replay (Parte 50): Complicando as coisas (II)

Desenvolvendo um sistema de Replay (Parte 50): Complicando as coisas (II)

Vamos resolver a questão da ID do gráfico, mas ao mesmo tempo, vamos começar a garantir que o usuário possa fazer uso de um template pessoal, voltado para analisar o ativo que ele gostaria de efetuar estudos e simulações. 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.
Gráficos na biblioteca DoEasy (Parte 96): Trabalhando com eventos do rato/gráfico em objetos-formas
Gráficos na biblioteca DoEasy (Parte 96): Trabalhando com eventos do rato/gráfico em objetos-formas

Gráficos na biblioteca DoEasy (Parte 96): Trabalhando com eventos do rato/gráfico em objetos-formas

Neste artigo desenvolveremos recursos para manusear os eventos do mouse em objetos-formas e adicionaremos novas propriedades de rastreamento ao objeto símbolo. Além disso, hoje modificaremos a classe do objeto símbolo, porque desde que foi escrito, os símbolos do gráfico têm novas propriedades que é desejável levar em conta e acompanhar a nível de suas mudanças.
preview
Multibot no MetaTrader (Parte II): Modelo dinâmico aprimorado

Multibot no MetaTrader (Parte II): Modelo dinâmico aprimorado

Desenvolvendo o tema do artigo anterior, decidi criar um modelo mais flexível e funcional que possui maiores capacidades e pode ser usado de forma eficaz tanto em freelancing quanto como base para o desenvolvimento de EAs multicurrency e multiperíodo com a capacidade de integrar com soluções externas.
preview
Redes neurais de maneira fácil (Parte 89): Transformador de decomposição por frequência do sinal (FEDformer)

Redes neurais de maneira fácil (Parte 89): Transformador de decomposição por frequência do sinal (FEDformer)

Todos os modelos que analisamos anteriormente examinam o estado do ambiente na forma de uma sequência temporal. No entanto, a mesma série temporal pode ser representada por suas características de frequência. Neste artigo, proponho que você conheça um algoritmo que utiliza as características de frequência da sequência temporal para prever estados futuros.
preview
Desenvolvendo um sistema de Replay (Parte 42): Projeto do Chart Trade (I)

Desenvolvendo um sistema de Replay (Parte 42): Projeto do Chart Trade (I)

Vamos agora criar algo um pouco mais interessante. No entanto, iremos fazer de forma que o código que mostrei no passado, estará completamente obsoleto. Mas não vou estragar a surpresa. Acompanhe o artigo para entender. Desde o inicio desta sequencia sobre como desenvolver um sistema de replay / simulação, venho dizendo que a ideia aqui, é usar a plataforma MetaTrader 5, de forma idêntica, tanto no sistema que estamos desenvolvendo, quanto no mercado real. É importante que isto se dê de maneira adequada. Você não vai querer treinar e aprender a lutar usando determinadas ferramentas, e na hora da briga ter que usar outras.
preview
Python, ONNX e MetaTrader 5: Montando um modelo RandomForest com pré-processamento de dados via RobustScaler e PolynomialFeatures

Python, ONNX e MetaTrader 5: Montando um modelo RandomForest com pré-processamento de dados via RobustScaler e PolynomialFeatures

Neste artigo, vamos desenvolver um modelo de floresta aleatória usando Python. Vamos treinar esse modelo e salvá-lo como um pipeline ONNX, já incluindo etapas de pré-processamento de dados. Depois, esse modelo será aplicado diretamente no terminal do MetaTrader 5.
preview
Desenvolvendo um EA Multimoeda (Parte 13): Automação da segunda etapa — Seleção de grupos

Desenvolvendo um EA Multimoeda (Parte 13): Automação da segunda etapa — Seleção de grupos

A primeira etapa do processo automatizado de otimização já foi implementada. Para diferentes símbolos e timeframes, realizamos a otimização com base em vários critérios e armazenamos as informações dos resultados de cada execução em um banco de dados. Agora, vamos nos dedicar à seleção dos melhores grupos de conjuntos de parâmetros encontrados na primeira etapa.
preview
Métodos de William Gann (Parte II): Criando um Indicador do Quadrado de Gann

Métodos de William Gann (Parte II): Criando um Indicador do Quadrado de Gann

Vamos tentar criar um indicador baseado no Quadrado de 9 de Gann, construído com base na quadratura do tempo e do preço. Escreveremos o código e testaremos o indicador na plataforma em diferentes intervalos de tempo.
preview
Estratégia de Bill Williams com e sem outros indicadores e previsões

Estratégia de Bill Williams com e sem outros indicadores e previsões

Neste artigo, vamos dar uma olhada em uma das estratégias famosas de Bill Williams, discuti-la e tentar melhorá-la com outros indicadores e previsões.
preview
Criando uma Interface Gráfica de Usuário Interativa em MQL5 (Parte 2): Adicionando Controles e Responsividade

Criando uma Interface Gráfica de Usuário Interativa em MQL5 (Parte 2): Adicionando Controles e Responsividade

Melhorar o painel GUI do MQL5 com recursos dinâmicos pode melhorar significativamente a experiência de negociação para os usuários. Ao incorporar elementos interativos, efeitos de hover e atualizações de dados em tempo real, o painel se torna uma ferramenta poderosa para os traders modernos.
preview
Avaliando o desempenho futuro com intervalos de confiança

Avaliando o desempenho futuro com intervalos de confiança

Neste artigo, vamos explorar o uso do bootstrapping como um meio de avaliar a eficácia futura de uma estratégia automatizada.
preview
Aprendendo MQL5 do iniciante ao profissional (Parte III): Tipos de dados complexos e arquivos inclusos

Aprendendo MQL5 do iniciante ao profissional (Parte III): Tipos de dados complexos e arquivos inclusos

O artigo é o terceiro de uma série sobre os aspectos fundamentais da programação em MQL5. Aqui são descritos tipos de dados complexos que não foram abordados no artigo anterior, incluindo estruturas, uniões, classes e o tipo de dado "função". Também é explicado como adicionar modularidade ao programa utilizando a diretiva de pré-processador #include.
preview
Algoritmos de otimização populacionais: Otimização de ervas invasivas (IWO)

Algoritmos de otimização populacionais: Otimização de ervas invasivas (IWO)

A surpreendente capacidade das plantas daninhas de sobreviver em uma ampla variedade de condições foi a inspiração para o desenvolvimento de um poderoso algoritmo de otimização. O IWO (Invasive Weed Optimization) é considerado um dos melhores entre os analisados até o momento.
preview
Análise causal de séries temporais usando entropia de transferência

Análise causal de séries temporais usando entropia de transferência

Neste artigo, discutimos como a causalidade estatística pode ser aplicada para identificar variáveis preditivas. Exploraremos a relação entre causalidade e entropia de transferência, além de apresentar um código MQL5 para detectar transferências direcionais de informação entre duas variáveis.
preview
Simulação de mercado (Parte 13): Sockets (VII)

Simulação de mercado (Parte 13): Sockets (VII)

Quando você desenvolve algo, seja no xlwings, ou qualquer outro pacote que nos permita ler e escrever diretamente no Excel. Você na verdade deve notar que todos os programas, funções ou procedimentos. Executam e logo finalizam a sua tarefa. Eles não ficam ali, dentro de um loop. E por mais que você tente fazer as coisas de uma forma diferente.
preview
Algoritmos de otimização populacionais: algoritmo de gotas de água inteligentes (Intelligent Water Drops, IWD)

Algoritmos de otimização populacionais: algoritmo de gotas de água inteligentes (Intelligent Water Drops, IWD)

Neste artigo é analisado um algoritmo interessante chamado de gotas de água inteligentes (IWD), inspirado na natureza inanimada, que simula o processo de formação do leito de um rio. As ideias desse algoritmo permitiram melhorar significativamente o líder anterior da classificação, o SDS, e o novo líder (SDSm modificado), como de costume, pode ser encontrado no arquivo do artigo.
preview
Introdução ao MQL5 (Parte 12): Um Guia para Iniciantes sobre a Criação de Indicadores Personalizados

Introdução ao MQL5 (Parte 12): Um Guia para Iniciantes sobre a Criação de Indicadores Personalizados

Aprenda como criar um indicador personalizado em MQL5. Com uma abordagem baseada em projetos. Este guia voltado para iniciantes aborda buffers de indicadores, propriedades e visualização de tendências, permitindo que você aprenda passo a passo.
preview
Teoria das Categorias em MQL5 (Parte 12): Ordem

Teoria das Categorias em MQL5 (Parte 12): Ordem

Este artigo faz parte de uma série sobre a implementação de grafos usando a teoria das categorias no MQL5 e é dedicado à teoria da ordem (Order Theory). Consideraremos dois tipos básicos de ordenação e exploraremos como os conceitos de relação de ordem podem auxiliar os conjuntos monoidais na tomada de decisões de negociação.
preview
DoEasy. Controles (Parte 14): Novo algoritmo para nomear elementos gráficos. Continuando o trabalho no objeto WinForms TabControl

DoEasy. Controles (Parte 14): Novo algoritmo para nomear elementos gráficos. Continuando o trabalho no objeto WinForms TabControl

Neste artigo, elaboraremos um novo algoritmo para nomear todos os elementos gráficos que permitem criar gráficos personalizados, e continuaremos desenvolvendo o objeto WinForms TabControl.
Gráficos na biblioteca DoEasy (Parte 94): objetos gráficos compostos, movimentação e eliminação
Gráficos na biblioteca DoEasy (Parte 94): objetos gráficos compostos, movimentação e eliminação

Gráficos na biblioteca DoEasy (Parte 94): objetos gráficos compostos, movimentação e eliminação

Neste artigo vamos começar a desenvolver os diversos eventos de um objeto gráfico composto. Analisaremos em parte a movimentação e a eliminação de um objeto gráfico composto. Hoje, estaremos, sobretudo, refinando o que foi criado no último artigo.
preview
DoEasy. Controles (Parte 16): Objeto WinForms TabControl - múltiplas fileiras de cabeçalhos de guias, modo esticamento de cabeçalhos consoante o tamanho do contêiner

DoEasy. Controles (Parte 16): Objeto WinForms TabControl - múltiplas fileiras de cabeçalhos de guias, modo esticamento de cabeçalhos consoante o tamanho do contêiner

Neste artigo vamos continuar o desenvolvimento do controle TabControl, e trataremos da localização dos cabeçalhos das guias nos quatro lados do controle para todos os modos de tamanho de cabeçalho: "Normal", "Fixed" e "Fill To Right".
preview
Desenvolvendo um sistema de Replay (Parte 30): Projeto Expert Advisor - Classe C_Mouse (IV)

Desenvolvendo um sistema de Replay (Parte 30): Projeto Expert Advisor - Classe C_Mouse (IV)

Aqui demonstrarei uma técnica que pode lhe ajudar muito, em vários momentos durante a sua vida como programador. Diferente do que muitos dizem, não é a plataforma que é limitada, mas sim o conhecimento do individuo que diz que tal coisa. O que será explicado aqui, mostrar que com um pouco de bom senso e criatividade, você pode tornar a plataforma MetaTrader 5 muito mais interessante e versátil. E sem precisar de fato criar programas malucos ou coisas do estilo. Você pode criar um código simples, porém seguro e confiável. Usando de perspicácia, domar o código a fim de modificar algo já existente, sem se quer remover ou adicionar uma única linha se quer, no código original.
preview
Como desenvolver um sistema de negociação baseado no indicador Oscilador Acelerador

Como desenvolver um sistema de negociação baseado no indicador Oscilador Acelerador

Um novo artigo da nossa série sobre como criar sistemas de negociação simples pelos indicadores técnicos mais populares. Nós aprenderemos sobre o indicador Oscilador Acelerador e aprenderemos como desenvolver um sistema de negociação usando-o.
preview
Teoria das Categorias em MQL5 (Parte 8): Monoides

Teoria das Categorias em MQL5 (Parte 8): Monoides

Esse artigo continua a série sobre a implementação da teoria da categoria em MQL5. Aqui, apresentamos os monoides como um domínio (conjunto) que distingue a teoria da categoria de outros métodos de classificação de dados ao incorporar regras e um elemento de equivalência.
preview
Desenvolvendo um sistema de Replay (Parte 41): Iniciando a segunda fase (II)

Desenvolvendo um sistema de Replay (Parte 41): Iniciando a segunda fase (II)

Se tudo até aqui parecia adequado para você, significa que você de fato não está pensando no longo prazo. Onde você começa a desenvolver as aplicações e com o tempo, não precisará mais programar novas aplicações. Apenas terá que fazer com que elas trabalhem em conjunto. Vamos então ver como terminar de montar o indicador de mouse.
preview
Redes neurais em trading: Detecção adaptativa de anomalias de mercado (Conclusão)

Redes neurais em trading: Detecção adaptativa de anomalias de mercado (Conclusão)

Continuamos a construção dos algoritmos que formam a base do DADA, um framework avançado para detecção de anomalias em séries temporais. Essa abordagem permite distinguir, de maneira eficiente, as flutuações aleatórias dos desvios realmente significativos. Ao contrário dos métodos clássicos, o DADA se adapta dinamicamente a diferentes tipos de dados, selecionando o nível ideal de compressão para cada caso específico.