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
Desenvolvendo um sistema de Replay (Parte 55): Módulo de controle

Desenvolvendo um sistema de Replay (Parte 55): Módulo de controle

Neste artigo iremos implementar o indicador de controle de forma que ele possa o sistema de mensagens que está sendo implementado. Apesar de não ser algo muito complexo de ser feito, você precisa entender alguns detalhes referentes a como fazer a inicialização deste módulo. 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
Algoritmos de otimização populacionais: Algoritmo do macaco (MA)

Algoritmos de otimização populacionais: Algoritmo do macaco (MA)

Neste artigo, estaremos analisando o algoritmo do macaco (Monkey Algorithm, MA). A habilidade destes animais ágeis para superar obstáculos complexos e atingir as partes mais inacessíveis das árvores foi a inspiração para a concepção do MA.
preview
Algoritmos de otimização populacional: Algoritmo Boids, ou algoritmo de comportamento de enxame (Boids Algorithm, Boids)

Algoritmos de otimização populacional: Algoritmo Boids, ou algoritmo de comportamento de enxame (Boids Algorithm, Boids)

Neste artigo, estudaremos algoritmo Boids, baseado em exemplos únicos de comportamento de enxame de animais. O algoritmo Boids, por sua vez, serviu como base para a criação de uma classe inteira de algoritmos, agrupados sob o nome de "Inteligência de Enxame".
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 49): indicadores padrão multiperíodos multissímbolos multibuffer

Trabalhando com séries temporais na biblioteca DoEasy (Parte 49): indicadores padrão multiperíodos multissímbolos multibuffer

Neste artigo, modificaremos as classes da biblioteca para permitir a criação de indicadores padrão multissímbolos e multiperíodos que requerem vários buffers de indicador para exibir seus dados.
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
Criando um Painel de Administrador de Negociação em MQL5 (Parte I): Construindo uma Interface de Mensagens

Criando um Painel de Administrador de Negociação em MQL5 (Parte I): Construindo uma Interface de Mensagens

Este artigo discute a criação de uma Interface de Mensagens para o MetaTrader 5, voltada para Administradores de Sistema, para facilitar a comunicação com outros traders diretamente dentro da plataforma. Integrações recentes de plataformas sociais com o MQL5 permitem a transmissão rápida de sinais através de diferentes canais. Imagine ser capaz de validar sinais enviados com apenas um clique—"SIM" ou "NÃO". Continue lendo para saber mais.
preview
Redes neurais de maneira fácil (Parte 37): atenção esparsa

Redes neurais de maneira fácil (Parte 37): atenção esparsa

No artigo anterior, abordamos modelos relacionais que usavam mecanismos de atenção. Uma das características desses modelos era o aumento do uso de recursos computacionais. O artigo de hoje apresenta um dos mecanismos para reduzir o número de operações computacionais dentro do bloco Self-Attention, o que aumenta o desempenho geral do modelo.
preview
Desenvolvendo um sistema de Replay (Parte 27): Projeto Expert Advisor — Classe C_Mouse (I)

Desenvolvendo um sistema de Replay (Parte 27): Projeto Expert Advisor — Classe C_Mouse (I)

Neste artigo irá nascer a classe C_Mouse. Esta foi pensada de maneira que a programação, seja feita no mais alto nível quanto for possível ser feita. Mas dizer que trabalharemos em alto, ou baixo nível, nada tem haver com questões de colocarmos palavrões ou chavões no meio do código. Longe disto. Trabalhar em alto nível ou de baixo nível, quando se fala em programação, diz o quanto o programa pode ser mais simples ou mais difícil de ser lido por outro programador.
preview
Como escolher um Expert Advisor: Vinte caraterísticas de um robô de baixa qualidade

Como escolher um Expert Advisor: Vinte caraterísticas de um robô de baixa qualidade

Neste artigo, iremos responder à pergunta de como escolher o Expert Advisor correto. Quais são os mais adequados para o nosso portfólio e como podemos filtrar a maioria dos robôs de negociação disponíveis no mercado? Este artigo apresenta vinte caraterísticas evidentes de um EA de baixa qualidade. Ele ajudará você a tomar decisões mais informadas e criar uma coleção de EAs lucrativos.
preview
Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 2): Sinais do indicador - Parabolic SAR multiframe

Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 2): Sinais do indicador - Parabolic SAR multiframe

Neste artigo, por EA multimoeda, entendemos um robô investidor ou um robô de negociação que pode negociar (abrir/fechar ordens, gerenciar ordens como trailing-stop-loss e trailing profit) mais de um par de moedas em um gráfico. Desta vez, usaremos apenas um indicador, o Parabolic SAR ou iSAR, em vários timeframes, começando com PERIOD_M15 e terminando com PERIOD_D1.
preview
Expert Advisor de scalping Ilan 3.0 AI com aprendizado de máquina

Expert Advisor de scalping Ilan 3.0 AI com aprendizado de máquina

Lembra do EA Ilan 1.6 Dynamic? Vamos tentar aprimorá-lo com aprendizado de máquina! Vamos reviver esse antigo projeto neste artigo e adicionar aprendizado de máquina com uma tabela Q. Passo a passo.
preview
Carregamento de dados do Fundo Monetário Internacional em Python

Carregamento de dados do Fundo Monetário Internacional em Python

Carregamento de dados do Fundo Monetário Internacional em Python: extraindo dados do FMI para aplicação em estratégias cambiais macroeconômicas. Como a macroeconomia pode ajudar o trader e o algotrader?
preview
Implementação do EA Deus: Negociação automatizada com RSI e médias móveis em MQL5

Implementação do EA Deus: Negociação automatizada com RSI e médias móveis em MQL5

O artigo descreve as etapas para a implementação do EA Deus baseado nos indicadores RSI e média móvel para gerenciar a negociação automatizada.
A ociosidade é o estímulo do progresso ou como trabalhar com gráficos de maneira interativa
A ociosidade é o estímulo do progresso ou como trabalhar com gráficos de maneira interativa

A ociosidade é o estímulo do progresso ou como trabalhar com gráficos de maneira interativa

Um indicador de trabalho interativo com linhas de tendência, níveis Fibo, ícones impostos manualmente em um gráfico. Ele permite que você desenhe as zonas coloridas dos níveis Fibo, mostre os momentos em que o preço cruzou a linha de tendência, gerencia o objeto "etiqueta de preço".
preview
Redes neurais de maneira fácil (Parte 46): Aprendizado por reforço condicionado a metas (GCRL)

Redes neurais de maneira fácil (Parte 46): Aprendizado por reforço condicionado a metas (GCRL)

Convido você a conhecer mais uma abordagem no campo do aprendizado por reforço. É chamada de aprendizado por reforço condicionado a metas, conhecida pela sigla GCRL (Goal-conditioned reinforcement learning). Nessa abordagem, o agente é treinado para alcançar diferentes metas em cenários específicos.
preview
DoEasy. Controles (Parte 2): Continuamos trabalhando na classe CPanel

DoEasy. Controles (Parte 2): Continuamos trabalhando na classe CPanel

Neste artigo, vamos nos livrar de alguns erros ao trabalhar com elementos gráficos e continuar desenvolvendo o controle CPanel. Isto último irá se tratar de métodos para definir os parâmetros da fonte, que é usada por padrão para todos os objetos de texto do painel, objetos esses que, por sua vez, podem ser localizados nele no futuro.
preview
Transformada Discreta de Hartley

Transformada Discreta de Hartley

Neste artigo, vamos nos familiarizar com um dos métodos de análise espectral e processamento de sinais - a transformada discreta de Hartley. Com ela, é possível filtrar sinais, analisar seus espectros e muito mais. As capacidades da DHT não são menores do que as da transformada discreta de Fourier. No entanto, ao contrário dela, a DHT utiliza apenas números reais, o que a torna mais conveniente para implementação na prática, e os resultados de sua aplicação mais visíveis.
preview
Integração de Modelos Ocultos de Markov no MetaTrader 5

Integração de Modelos Ocultos de Markov no MetaTrader 5

Neste artigo, demonstramos como os Modelos Ocultos de Markov, treinados utilizando Python, podem ser integrados em aplicações MetaTrader 5. Os Modelos Ocultos de Markov são uma poderosa ferramenta estatística utilizada para modelar dados de séries temporais, onde o sistema modelado é caracterizado por estados não observáveis (ocultos). Uma premissa fundamental dos HMMs é que a probabilidade de estar em um determinado estado em um momento específico depende do estado do processo no instante anterior.
Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica
Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica

Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica

No artigo de hoje criaremos a funcionalidade base para rastrear eventos de eventos de objetos gráficos padrão. Vamos começar com o clique duplo do mouse sobre o objeto gráfico.
preview
Redes neurais de maneira fácil (Parte 23): Criando uma ferramenta para transferência de aprendizado

Redes neurais de maneira fácil (Parte 23): Criando uma ferramenta para transferência de aprendizado

Nesta série de artigos, já mencionamos a transferência de aprendizado mais de uma vez. Mas até agora o assunto não foi além das menções. Sugiro preencher essa lacuna e dar uma olhada mais de perto na transferência de aprendizado.
preview
Desenvolvendo um sistema de Replay (Parte 36): Ajeitando as coisas (II)

Desenvolvendo um sistema de Replay (Parte 36): Ajeitando as coisas (II)

Uma das coisas que mais pode complicar a nossa vida como programadores é o fato de supor as coisas. Neste artigo mostrarei o perigo de fazer suposições. Tanto na parte da programação em MQL5, onde você supõem que um tipo terá um dado tamanho. Assim como no uso do MetaTrader 5, onde você supõem que servidores diferentes funcionam da mesma forma.
preview
Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 3): Prefixos/sufixos de símbolos e sessão de negociação

Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 3): Prefixos/sufixos de símbolos e sessão de negociação

Recebi comentários de vários colegas traders sobre como usar o Expert Advisor multimoedas que estou analisando com corretoras que usam prefixos e/ou sufixos com nomes de símbolos, bem como sobre como implementar fusos horários de negociação ou sessões de negociação no Expert Advisor.
preview
Padrões de projeto no MQL5 (Parte 4): Padrões comportamentais 2

Padrões de projeto no MQL5 (Parte 4): Padrões comportamentais 2

Com este artigo concluímos a série sobre padrões de projeto na área de software. Já mencionei que existem três tipos de padrões de projeto: criacionais, estruturais e comportamentais. Finalizaremos os padrões comportamentais restantes, que ajudarão a definir a maneira de interação entre objetos, de modo a tornar nosso código mais limpo.
preview
Introdução ao MQL5 (Parte 3): Estudando os elementos básicos do MQL5

Introdução ao MQL5 (Parte 3): Estudando os elementos básicos do MQL5

Neste artigo, continuamos a estudar os fundamentos da programação em MQL5. Vamos abordar arrays, funções personalizadas, pré-processadores e manipulação de eventos. Para maior clareza, cada passo de todas as explicações será acompanhado por código. Esta série de artigos estabelece a base para o estudo do MQL5, com ênfase na explicação de cada linha de código.
preview
Implementando uma Estratégia de Negociação com Bandas de Bollinger usando MQL5: Um Guia Passo a Passo

Implementando uma Estratégia de Negociação com Bandas de Bollinger usando MQL5: Um Guia Passo a Passo

Um guia passo a passo para implementar um algoritmo de negociação automatizado em MQL5 baseado na estratégia de Bandas de Bollinger. Um tutorial detalhado sobre a criação de um Expert Advisor que pode ser útil para traders.
preview
Algoritmo baseado em fractais - Fractal-Based Algorithm (FBA)

Algoritmo baseado em fractais - Fractal-Based Algorithm (FBA)

Um novo método metaheurístico baseado na abordagem fractal de divisão do espaço de busca para resolver tarefas de otimização. O algoritmo identifica e divide sequencialmente áreas promissoras, criando uma estrutura fractal auto-semelhante que concentra os recursos computacionais nos trechos mais promissores. Um mecanismo exclusivo de mutação, direcionado para as melhores soluções, garante um equilíbrio ideal entre diversificação e intensificação do espaço de busca, aumentando significativamente a eficiência do algoritmo.
preview
Padrões de projeto no MQL5 (Parte 2): Padrões estruturais

Padrões de projeto no MQL5 (Parte 2): Padrões estruturais

Neste artigo, continuaremos a estudar os padrões de projeto que permitem aos desenvolvedores criar aplicativos expansíveis e confiáveis não apenas no MQL5, mas também em outras linguagens de programação. Desta vez, falaremos sobre outro tipo: modelos estruturais. Aprenderemos a projetar sistemas usando as classes disponíveis para formar estruturas maiores.
preview
Redes neurais de maneira fácil (Parte 50): Soft Actor-Critic (otimização do modelo)

Redes neurais de maneira fácil (Parte 50): Soft Actor-Critic (otimização do modelo)

No artigo anterior, implementamos o algoritmo Soft Actor-Critic, mas não conseguimos treinar um modelo lucrativo. Neste artigo, vamos realizar a otimização do modelo previamente criado para obter os resultados desejados a nível de seu funcionamento.
preview
Criando um painel dinâmico multissímbolo e multiperíodo do Índice de Força Relativa (RSI) em MQL5

Criando um painel dinâmico multissímbolo e multiperíodo do Índice de Força Relativa (RSI) em MQL5

Este artigo aborda o desenvolvimento de um painel dinâmico multissímbolo e multiperíodo do indicador RSI em MQL5. O painel tem como objetivo fornecer aos traders os valores do RSI em tempo real para diferentes símbolos e períodos gráficos. Ele será equipado com botões interativos, atualizações em tempo real e indicadores de cores para ajudar os traders a tomarem decisões informadas.
preview
De Iniciante a Especialista: Indicador de Força de Suporte e Resistência (SRSI)

De Iniciante a Especialista: Indicador de Força de Suporte e Resistência (SRSI)

Neste artigo, compartilharemos insights sobre como utilizar a programação em MQL5 para identificar níveis de mercado — diferenciando entre níveis de preço mais fracos e mais fortes. Desenvolveremos completamente um indicador funcional de Força de Suporte e Resistência (SRSI).
preview
Redes neurais em trading: Resultados práticos do método TEMPO

Redes neurais em trading: Resultados práticos do método TEMPO

Damos continuidade à exploração do método TEMPO. Neste artigo, avaliaremos a eficácia prática das abordagens propostas com base em dados históricos reais.
preview
Desenvolvendo um sistema de Replay (Parte 31): Projeto Expert Advisor - Classe C_Mouse (V)

Desenvolvendo um sistema de Replay (Parte 31): Projeto Expert Advisor - Classe C_Mouse (V)

Desenvolver uma forma de colocar o cronometro, de modo que durante um replay / simulação, ele consiga nos dizer quanto tempo falta, pode parecer a principio uma tarefa simples e de rápida solução. Muitos iriam simplesmente tentar adaptar e usar o mesmo sistema que é usado quando temos o servidor de negociação ao nosso lado. Mas aqui mora um ponto que muitos talvez não se atentem ao pensar em tal solução. Quando você está fazendo um replay, e isto para não falar do fato da simulação, o relógio não funciona da mesma forma. Este tipo de coisa torna complexo construir tal sistema.
preview
Desenvolvendo Sistemas de Trading ICT Avançados: Implementando Order Blocks em um Indicador

Desenvolvendo Sistemas de Trading ICT Avançados: Implementando Order Blocks em um Indicador

Neste artigo, vamos aprender a criar um indicador que detecta, desenha e emite alertas sobre a mitigação de order blocks. Também veremos em detalhes como identificar esses blocos no gráfico, configurar alertas precisos e visualizar sua posição utilizando retângulos, para compreender melhor a ação do preço. Este indicador servirá como uma ferramenta-chave para traders que seguem os Smart Money Concepts e a metodologia do Inner Circle Trader.
preview
Desenvolvimento de sistemas de trading avançados ICT: Implementação de sinais no indicador Order Blocks

Desenvolvimento de sistemas de trading avançados ICT: Implementação de sinais no indicador Order Blocks

Neste artigo você vai aprender como desenvolver um indicador Order Blocks baseado no volume do livro de ofertas (profundidade de mercado) e otimizá-lo usando buffers para melhorar a precisão. Com isso, concluímos a etapa atual do projeto e nos preparamos para as próximas, nas quais será implementada uma classe de gerenciamento de risco e um robô de negociação que utilizará os sinais gerados pelo indicador.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 06): Primeiras melhorias (I)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 06): Primeiras melhorias (I)

Neste artigo vamos começar a estabilizar todo o sistema. Pois sem que o sistema esteja de fato estabilizado, podemos correr risco de não conseguir cumprir os próximos passos.
preview
Representações no domínio da frequência de séries temporais: O espectro de potência

Representações no domínio da frequência de séries temporais: O espectro de potência

Neste artigo, analisaremos os métodos relacionados à análise de séries temporais no domínio da frequência. Ele também se concentrará na utilidade do estudo de funções espectrais de séries temporais na criação de modelos preditivos. Além disso, discutimos algumas perspectivas promissoras para a análise de séries temporais no domínio da frequência usando a transformada discreta de Fourier (DFT).
preview
Ganhe uma Vantagem sobre Qualquer Mercado (Parte II): Previsão de Indicadores Técnicos

Ganhe uma Vantagem sobre Qualquer Mercado (Parte II): Previsão de Indicadores Técnicos

Você sabia que podemos obter mais precisão ao prever certos indicadores técnicos do que ao prever o preço subjacente de um símbolo negociado? Junte-se a nós para explorar como aproveitar essa percepção para melhores estratégias de negociação
Algoritmos de otimização populacional
Algoritmos de otimização populacional

Algoritmos de otimização populacional

Este é um artigo introdutório sobre a classificação do algoritmo de otimização (OA). O artigo tenta criar um banco de teste (um conjunto de funções), que deve ser usado para comparar os OAs e, talvez, identificar o algoritmo mais universal de todos os que são amplamente conhecidos.
preview
Desenvolvendo um sistema de Replay (Parte 68): Acertando o tempo (I)

Desenvolvendo um sistema de Replay (Parte 68): Acertando o tempo (I)

Aqui vamos dar prosseguimento, ao trabalho de conseguir fazer com que o indicador de mouse, consiga nos informar o tempo restante da barra, quando em momentos de baixa liquidez. Apesar de a primeira vista parecer algo simples, você verá que esta tarefa é bem mais complicada do que parece. Isto por conta de alguns percalços que teremos de enfrentar. Então acompanhe esta primeira parte para entender as próximas.
preview
Do básico ao intermediário: Array e Strings (II)

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

Neste artigo, irei demostrar que apesar de ainda estamos em um nível iniciante, e bem básico. Já conseguimos implementar algum tipo de aplicação interessante. No caso iremos criar um gerador de senhas bem simples. Isto de modo a conseguir aplicar alguns conceitos que foram explicados até aqui. Além disto, irei mostrar como você pode desenvolver soluções para alguns problemas especiais.