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
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
Exemplo de novo Indicador e LSTM Condicional

Exemplo de novo Indicador e LSTM Condicional

Este artigo explora o desenvolvimento de um Expert Advisor (EA) para trading automatizado que combina análise técnica com previsões de deep learning.
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
Desenvolvendo um sistema de Replay (Parte 35): Ajeitando as coisas (I)

Desenvolvendo um sistema de Replay (Parte 35): Ajeitando as coisas (I)

Temos que corrigir algumas coisas antes de realmente poder continuar. Mas não se trata necessariamente de uma correção e sim de um aperfeiçoamento na forma de gerir e utilizar classe. O motivo é que existem falhas ocorrendo por conta de algum tipo de interação dentro do sistema. Apesar das tentativas de tentar compreender o motivo de algumas das falhas, para assim sana-las. Todas foram frustradas, já que não fazia o mínimo sentido de algumas delas estarem ocorrendo. Quando fazemos uso de ponteiros ou recursão em C / C++, e o programa começa a apresentar falhas.
preview
Desenvolvendo um sistema de Replay (Parte 37): Pavimentando o Terreno (I)

Desenvolvendo um sistema de Replay (Parte 37): Pavimentando o Terreno (I)

Neste artigo iremos começar a fazer algo, que eu gostaria de ter feito a muito mais tempo. No entanto, por falta de "terreno firme", não me sentia seguro para apresentar de forma publica. Mas agora já tenho as bases para poder fazer o que iremos começar a fazer, a partir de agora. É bom que foque ao máximo em compreender o conteúdo deste artigo. E não estou dizendo isto, apenas para que você o leia apenas por ler. Quero e preciso enfatizar que se você não entender este artigo especifico. Poderá abandonar completamente qualquer esperança em compreender o conteúdo dos próximos.
preview
Desenvolvendo um sistema de Replay (Parte 70): Acertando o tempo (III)

Desenvolvendo um sistema de Replay (Parte 70): Acertando o tempo (III)

Neste artigo mostrarei a maneira correta e funcional de usar a função CustomBookAdd. Apesar de parecer se algo simples, fazer isto tem muitas implicações. Entre elas permitir que digamos ao indicador de mouse, se o ativo customizado está em leilão; Em negociação, ou o mercado está fechado. 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
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
Teoria das Categorias em MQL5 (Parte 6): produtos fibrados monomórficos e coprodutos fibrados epimórficos

Teoria das Categorias em MQL5 (Parte 6): produtos fibrados monomórficos e coprodutos fibrados epimórficos

A teoria das categorias é um ramo diversificado e em expansão da matemática que só recentemente começou a ser abordado na comunidade MQL5. Esta série de artigos tem como objetivo analisar alguns de seus conceitos para criar uma biblioteca aberta e utilizar ainda mais essa maravilhosa seção na criação de estratégias de negociação.
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
Redes neurais de maneira fácil (Parte 48): métodos para reduzir a superestimação dos valores da função Q

Redes neurais de maneira fácil (Parte 48): métodos para reduzir a superestimação dos valores da função Q

No artigo anterior, nós exploramos o método DDPG, projetado para treinar modelos em espaços de ação contínua. No entanto, como outros métodos de aprendizado Q, ele está sujeito ao problema da sobreavaliação dos valores da função Q. Esse problema geralmente leva eventualmente ao treinamento de um agente com uma estratégia não otimizada. Neste artigo, examinaremos algumas abordagens para superar o problema mencionado.
preview
Desenvolvendo um EA multimoeda (Parte 4): Ordens virtuais pendentes e salvamento de estado

Desenvolvendo um EA multimoeda (Parte 4): Ordens virtuais pendentes e salvamento de estado

Ao começar a desenvolver um EA multimoeda, já alcançamos alguns resultados e realizamos várias iterações de melhoria do código. No entanto, nosso EA não podia trabalhar com ordens pendentes e retomar o trabalho após reiniciar o terminal. Vamos adicionar essas funcionalidades.
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
Usando o Algoritmo de Aprendizado de Máquina PatchTST para Prever a Ação do Preço nas Próximas 24 Horas

Usando o Algoritmo de Aprendizado de Máquina PatchTST para Prever a Ação do Preço nas Próximas 24 Horas

Neste artigo, aplicamos um algoritmo relativamente complexo de rede neural chamado PatchTST, lançado em 2023, para prever a ação do preço nas próximas 24 horas. Usaremos o repositório oficial, faremos algumas modificações, treinaremos um modelo para EURUSD e o aplicaremos para fazer previsões futuras, tanto em Python quanto em MQL5.
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 33): Sistema de Ordens (II)

Desenvolvendo um sistema de Replay (Parte 33): Sistema de Ordens (II)

Vamos continuar o desenvolvimento do sistema de ordens. Mas você irá ver que iremos fazer uma reutilização massiva de coisas já vistas em outros artigos. Mesmo assim teremos um bônus neste artigo. Iremos desenvolver, primeiramente um sistema que consiga ser operado junto ao servidor de negociação real, seja usando uma conta demo, seja usando uma conta real. Vamos fazer uso massivo e extensivo da plataforma MetaTrader 5, para nos fornecer todo o suporte do qual precisaremos neste inicio de jornada
preview
Critérios de tendência no trading

Critérios de tendência no trading

As tendências são parte importante de muitas estratégias de negociação. Neste artigo, examinaremos algumas das ferramentas usadas para identificar tendências e suas características. Compreender e interpretar corretamente as tendências pode aumentar significativamente o desempenho do trading e minimizar riscos.
preview
Como desenvolver um sistema de negociação baseado no indicador Bear's Power

Como desenvolver um sistema de negociação baseado no indicador Bear'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 Bear's Power.
preview
Integração de APIs de Corretoras com Expert Advisors usando MQL5 e Python

Integração de APIs de Corretoras com Expert Advisors usando MQL5 e Python

Neste artigo, discutiremos a implementação do MQL5 em parceria com o Python para realizar operações relacionadas à corretora. Imagine ter um Expert Advisor (EA) em execução contínua hospedado em um VPS, executando negociações em seu nome. Em determinado momento, a capacidade do EA de gerenciar fundos torna-se fundamental. Isso inclui operações como adicionar fundos à sua conta de negociação e iniciar retiradas. Nesta discussão, iremos esclarecer as vantagens e a implementação prática desses recursos, garantindo a integração perfeita do gerenciamento de fundos à sua estratégia de negociação. Fique atento!
preview
Algoritmos de otimização populacionais: Algoritmo de evolução da mente (Mind Evolutionary Computation, MEC)

Algoritmos de otimização populacionais: Algoritmo de evolução da mente (Mind Evolutionary Computation, MEC)

Este artigo discute um algoritmo da família MEC, denominado algoritmo simples de evolução da mente (Simple MEC, SMEC). O algoritmo se destaca pela beleza da ideia subjacente e pela simplicidade de implementação.
preview
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 07): Dendrogramas

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 07): Dendrogramas

A classificação de dados para análise e previsão é uma área muito diversificada do aprendizado de máquina, que compreende um grande número de abordagens e métodos. Neste artigo, examinaremos uma dessas abordagens, nomeadamente o agrupamento hierárquico aglomerativo (Agglomerative Hierarchical Clustering).
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
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
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
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.
preview
Estratégia de Trading Cascade Order Baseada em Cruzamentos de EMA para MetaTrader 5

Estratégia de Trading Cascade Order Baseada em Cruzamentos de EMA para MetaTrader 5

Este artigo orienta sobre como demonstrar um algoritmo automatizado baseado em cruzamentos de EMA para MetaTrader 5. Informações detalhadas sobre todos os aspectos de demonstrar um Expert Advisor em MQL5 e testá-lo no MetaTrader 5 – desde a análise de comportamentos de faixa de preços até o gerenciamento de risco.
preview
Redes neurais de maneira fácil (Parte 20): autocodificadores

Redes neurais de maneira fácil (Parte 20): autocodificadores

Continuamos a estudar algoritmos de aprendizado não supervisionado. Talvez você como o leitor possa ter dúvidas sobre se as publicações recentes se encaixam no tópico de redes neurais. Neste novo artigo, voltamos ao uso de redes neurais.
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
Arbitragem Forex: painel de avaliação de correlações

Arbitragem Forex: painel de avaliação de correlações

Vamos analisar a criação de um painel de arbitragem na linguagem MQL5. Como obter taxas de câmbio justas no Forex de diferentes maneiras? Criaremos um indicador para medir os desvios dos preços de mercado em relação às taxas justas, bem como para avaliar o potencial de lucro em rotas de arbitragem entre moedas (como na arbitragem triangular).
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
Visualizações de negociações no gráfico (Parte 2): Desenho gráfico de informações

Visualizações de negociações no gráfico (Parte 2): Desenho gráfico de informações

Escreveremos do zero um script para facilitar a captura de capturas de tela (print-screens) de negociações, visando a análise de entradas. Em um único gráfico, será conveniente exibir todas as informações necessárias sobre uma negociação específica, com a possibilidade de desenhar diferentes timeframes.
preview
Indicador de perfil de mercado — Market Profile (Parte 2): Otimização e desenho em canvas

Indicador de perfil de mercado — Market Profile (Parte 2): Otimização e desenho em canvas

O artigo aborda uma versão otimizada do indicador de Perfil de Mercado Market Profile, onde, em vez de desenhar com diversos objetos gráficos, é utilizado o desenho em um canvas, ou seja, em um objeto da classe CCanvas.
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
Do básico ao intermediário: Definições (II)

Do básico ao intermediário: Definições (II)

Neste artigo iremos ver e explorar um pouco mais sobre a diretiva #define. Só que agora com o foco voltado para a segunda forma de utilização desta diretiva. Ou seja, a criação de macros. Como sei que este material pode vir a ser um pouco complicado no começo. Procurei utilizar uma aplicação que já vem sendo explorada a algum tempo. Então espero que se divirtam com o conteúdo deste artigo.
preview
Instalação do MetaTrader 5 e de outros aplicativos da MetaQuotes no HarmonyOS NEXT

Instalação do MetaTrader 5 e de outros aplicativos da MetaQuotes no HarmonyOS NEXT

Os aplicativos da MetaQuotes, incluindo as plataformas MetaTrader 5 e MetaTrader 4, podem ser instalados em dispositivos com o sistema operacional HarmonyOS NEXT usando o componente DroiTong. Este artigo apresenta um guia passo a passo para instalar os programas em seu telefone ou notebook.
preview
Desenvolvendo um sistema de Replay (Parte 69): Acertando o tempo (II)

Desenvolvendo um sistema de Replay (Parte 69): Acertando o tempo (II)

Aqui vamos entender, por que estamos precisamos usar a chamada iSpread. Ao mesmo tempo, vamos entender como o sistema consegue nos informar o tempo restante da barra, quando não temos ticks a serem usados para fazer tal coisa. 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
Automatizando Estratégias de Negociação com a Estratégia Parabolic SAR em MQL5: Criando um Expert Advisor Eficaz

Automatizando Estratégias de Negociação com a Estratégia Parabolic SAR em MQL5: Criando um Expert Advisor Eficaz

Neste artigo, vamos automatizar as estratégias de negociação com a Estratégia Parabolic SAR em MQL5: Criando um Expert Advisor Eficaz. O EA realizará negociações com base nas tendências identificadas pelo indicador Parabolic SAR.
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
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
Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização do Código (V): Classe AnalyticsPanel

Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização do Código (V): Classe AnalyticsPanel

Nesta discussão, exploramos como recuperar dados de mercado em tempo real e informações da conta de negociação, realizar diversos cálculos e exibir os resultados em um painel personalizado. Para alcançar esse objetivo, vamos nos aprofundar no desenvolvimento de uma classe AnalyticsPanel que encapsula todos esses recursos, incluindo a criação do painel. Este trabalho faz parte da nossa expansão contínua do EA New Admin Panel, introduzindo funcionalidades avançadas utilizando princípios de design modular e boas práticas de organização de código.