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
Corpo em Connexus (Parte 4): Adicionando suporte ao corpo de requisições HTTP

Corpo em Connexus (Parte 4): Adicionando suporte ao corpo de requisições HTTP

Neste artigo, abordamos o conceito de corpo nas requisições HTTP, que é necessário para o envio de dados como JSON e texto simples. Discutimos e explicamos como usá-lo corretamente junto com os cabeçalhos apropriados. Também introduzimos a classe ChttpBody, que faz parte da biblioteca Connexus e que irá simplificar o trabalho com o corpo das requisições.
preview
Gerenciamento de riscos (Parte 1): Fundamentos da construção de uma classe de gerenciamento de riscos

Gerenciamento de riscos (Parte 1): Fundamentos da construção de uma classe de gerenciamento de riscos

Neste artigo, analisaremos os fundamentos do gerenciamento de riscos no trading e veremos como criar nossas primeiras funções para calcular o lote adequado para uma operação, assim como o stop loss. Além disso, examinaremos em detalhes como essas funções funcionam, explicando cada etapa. Nosso objetivo é fornecer uma compreensão clara de como aplicar esses conceitos na negociação automática. No final, aplicaremos tudo na prática, criando um script simples com o arquivo incluível que desenvolveremos.
preview
Algoritmo de otimização caótica — Chaos optimization algorithm (COA): Continuação

Algoritmo de otimização caótica — Chaos optimization algorithm (COA): Continuação

Continuação do estudo do algoritmo de otimização caótica. A segunda parte do artigo é dedicada aos aspectos práticos da implementação do algoritmo, ao seu teste e às conclusões.
preview
Integre seu próprio LLM ao EA (Parte 5): Desenvolva e Teste Estratégia de Trading com LLMs (III) – Adapter-Tuning

Integre seu próprio LLM ao EA (Parte 5): Desenvolva e Teste Estratégia de Trading com LLMs (III) – Adapter-Tuning

Com o rápido desenvolvimento da inteligência artificial atualmente, os modelos de linguagem (LLMs) são uma parte importante da inteligência artificial, portanto devemos pensar em como integrar LLMs poderosos ao nosso trading algorítmico. Para a maioria das pessoas, é difícil ajustar esses modelos poderosos de acordo com suas necessidades, implantá-los localmente e então aplicá-los ao trading algorítmico. Esta série de artigos adotará uma abordagem passo a passo para alcançar esse objetivo.
preview
Reimaginando Estratégias Clássicas em MQL5 (Parte III): Previsão do FTSE 100

Reimaginando Estratégias Clássicas em MQL5 (Parte III): Previsão do FTSE 100

Nesta série de artigos, vamos revisitar estratégias de negociação já conhecidas para investigar se podemos aprimorá-las utilizando IA. No artigo de hoje, exploraremos o FTSE 100 e tentaremos prever o índice utilizando uma parte das ações individuais que compõem esse índice.
preview
Automatizando Estratégias de Negociação em MQL5 (Parte 3): O Sistema Zone Recovery RSI para Gestão Dinâmica de Operações

Automatizando Estratégias de Negociação em MQL5 (Parte 3): O Sistema Zone Recovery RSI para Gestão Dinâmica de Operações

Neste artigo, criamos um Sistema EA Zone Recovery RSI em MQL5, utilizando sinais de RSI para acionar operações e uma estratégia de recuperação para gerenciar perdas. Implementamos uma classe "ZoneRecovery" para automatizar as entradas de operações, a lógica de recuperação e o gerenciamento de posições. O artigo conclui com insights de backtesting para otimizar a performance e aprimorar a eficácia do EA.
preview
Do básico ao intermediário: Filas, Listas e Árvores (IV)

Do básico ao intermediário: Filas, Listas e Árvores (IV)

Neste artigo iremos finalizar a parte referente a implementação e explicação sobre o que seria uma lista encadeada. Porém a implementação mostrada aqui, não irá mostrar um certo detalhe que podemos fazer dentro de uma lista encadeada. Isto será visto futuramente em um outro artigo.
preview
Reimaginando Estratégias Clássicas (Parte 13): Minimizando o Atraso em Cruzamentos de Médias Móveis

Reimaginando Estratégias Clássicas (Parte 13): Minimizando o Atraso em Cruzamentos de Médias Móveis

Os cruzamentos de médias móveis são amplamente conhecidos pelos traders em nossa comunidade, e ainda assim o núcleo da estratégia mudou muito pouco desde sua criação. Nesta discussão, apresentaremos um leve ajuste à estratégia original, que busca minimizar o atraso presente na estratégia de negociação. Todos os fãs da estratégia original podem considerar revisar a estratégia de acordo com os insights que discutiremos hoje. Ao usar 2 médias móveis com o mesmo período, reduzimos consideravelmente o atraso na estratégia de negociação, sem violar os princípios fundamentais da estratégia.
preview
Automatizando Estratégias de Trading em MQL5 (Parte 5): Desenvolvendo a Estratégia Adaptive Crossover RSI Trading Suite

Automatizando Estratégias de Trading em MQL5 (Parte 5): Desenvolvendo a Estratégia Adaptive Crossover RSI Trading Suite

Neste artigo, desenvolvemos o Sistema Adaptive Crossover RSI Trading Suite, que utiliza cruzamentos de médias móveis de 14 e 50 períodos para geração de sinais, confirmados por um filtro de RSI de 14 períodos. O sistema inclui um filtro de dias de negociação, setas de sinal com anotações e um painel em tempo real para monitoramento. Essa abordagem garante precisão e adaptabilidade no trading automatizado.
preview
Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 10): Golden Cross e Death Cross Estratégicos (EA)

Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 10): Golden Cross e Death Cross Estratégicos (EA)

Você sabia que as estratégias Golden Cross e Death Cross, baseadas no cruzamento de médias móveis, são alguns dos indicadores mais confiáveis para identificar tendências de mercado de longo prazo? Um Golden Cross sinaliza uma tendência de alta quando uma média móvel mais curta cruza acima de uma média mais longa, enquanto o Death Cross indica uma tendência de baixa quando a média mais curta cruza abaixo. Apesar de sua simplicidade e eficácia, aplicar essas estratégias manualmente frequentemente leva a oportunidades perdidas ou negociações atrasadas.
preview
Do básico ao intermediário: Filas, Listas e Árvores (V)

Do básico ao intermediário: Filas, Listas e Árvores (V)

Neste artigo começamos a trabalhar com a implementação do mecanismo de árvore. Como sei que este mecanismo pode ser extremamente complicado de ser compreendido e assimilado, no começo do aprendizado. Iremos implementar as coisas com calma e devagar. Assim todos irão conseguir entender como uma árvore funciona e qual o melhor momento para utiliza-la.
preview
Desenvolvendo um EA multimoeda (Parte 26): Informador para instrumentos de negociação

Desenvolvendo um EA multimoeda (Parte 26): Informador para instrumentos de negociação

Antes de avançarmos ainda mais no desenvolvimento de EAs multimoeda, vamos tentar mudar o foco para a criação de um novo projeto que utilize a biblioteca já desenvolvida. Com esse exemplo, identificaremos como é melhor organizar o armazenamento do código-fonte e como o novo repositório de código da MetaQuotes pode nos ajudar.
preview
Cliente no Connexus (Parte 7): Adicionando a camada de cliente

Cliente no Connexus (Parte 7): Adicionando a camada de cliente

Neste artigo, continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, criamos a classe CHttpClient, responsável por enviar a requisição e receber a ordem. Também abordamos o conceito de mocks, separando a biblioteca da função WebRequest, o que garante maior flexibilidade para os usuários.
preview
Redes neurais em trading: Generalização de séries temporais sem vinculação a dados (Módulos básicos do modelo)

Redes neurais em trading: Generalização de séries temporais sem vinculação a dados (Módulos básicos do modelo)

Damos continuidade ao conhecimento do framework Mamba4Cast. E hoje vamos nos aprofundar na implementação prática das abordagens propostas. O Mamba4Cast foi criado não para um longo aquecimento em cada nova série temporal, mas para entrar em operação de forma instantânea. Graças à ideia de Zero-Shot Forecasting, o modelo é capaz de fornecer imediatamente previsões de alta qualidade em dados reais sem retreinamento e sem ajuste fino de hiperparâmetros.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 34): Embedding de Preços com um RBM Não Convencional

Técnicas do MQL5 Wizard que você deve conhecer (Parte 34): Embedding de Preços com um RBM Não Convencional

Máquinas de Boltzmann Restritas são uma forma de rede neural que foi desenvolvida no meio da década de 1980, numa época em que os recursos computacionais eram extremamente caros. No início, ela dependia de Gibbs Sampling e Divergência Contrastiva para reduzir a dimensionalidade ou capturar as probabilidades/propriedades ocultas sobre os conjuntos de dados de treinamento de entrada. Examinamos como o Backpropagation pode realizar de forma similar quando o RBM 'embebe' os preços para um Multi-Layer-Perceptron de previsão.
preview
Solicitação no Connexus (Parte 6): Criando uma Requisição e Resposta HTTP

Solicitação no Connexus (Parte 6): Criando uma Requisição e Resposta HTTP

Neste sexto artigo da série da biblioteca Connexus, focamos em uma requisição HTTP completa, cobrindo cada componente que compõe uma requisição. Criamos uma classe que representa a requisição como um todo, o que nos ajudou a reunir as classes criadas anteriormente.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 35): Regressão por Vetores de Suporte

Técnicas do MQL5 Wizard que você deve conhecer (Parte 35): Regressão por Vetores de Suporte

A Regressão por Vetores de Suporte é uma maneira idealista de encontrar uma função ou 'hiperplano' que melhor descreva a relação entre dois conjuntos de dados. Tentamos explorar isso na previsão de séries temporais dentro das classes personalizadas do MQL5 wizard.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 52): Oscilador Accelerator

Recursos do Assistente MQL5 que você precisa conhecer (Parte 52): Oscilador Accelerator

O Oscilador de Aceleração (Accelerator Oscillator) é mais um dos indicadores de Bill Williams, que monitora a aceleração do impulso de preço, e não apenas sua velocidade. Embora seja em muitos aspectos semelhante ao oscilador Awesome, que analisamos em um artigo recente, ele busca evitar os efeitos de defasagem, concentrando-se na aceleração e não apenas na taxa de variação. Como de costume, vamos examinar os padrões do indicador e também seu significado no trading com o uso de um EA criado no Assistente.
preview
Redes neurais em trading: Ator–Diretor–Crítico (Conclusão)

Redes neurais em trading: Ator–Diretor–Crítico (Conclusão)

O framework Actor–Director–Critic representa uma evolução da arquitetura clássica de aprendizado por agentes. O artigo apresenta uma experiência prática de sua implementação e adaptação às condições dos mercados financeiros.
preview
Negociamos opções sem opções (Parte 1): Fundamentos da teoria e emulação por meio de ativos subjacentes

Negociamos opções sem opções (Parte 1): Fundamentos da teoria e emulação por meio de ativos subjacentes

O artigo descreve uma variante de emulação de opções por meio do ativo subjacente, implementada na linguagem de programação MQL5. São comparadas as vantagens e desvantagens da abordagem escolhida em relação às opções reais negociadas em bolsa, usando como exemplo o mercado futuro FORTS da bolsa de Moscou MOEX e a corretora de criptomoedas Bybit.
preview
Mineração de dados da CFTC em Python e modelo de IA com base neles

Mineração de dados da CFTC em Python e modelo de IA com base neles

Vamos tentar minerar dados da CFTC, carregar os relatórios COT e TFF via Python, conectar isso às cotações do MetaTrader 5 e a um modelo de IA e obter previsões. O que são os relatórios COT no mercado Forex? Como usar os relatórios COT e TFF para previsão?
preview
Simplificando a negociação com base em notícias (Parte 6): Executando trades (III)

Simplificando a negociação com base em notícias (Parte 6): Executando trades (III)

Neste artigo será implementada a ordenação de notícias para eventos econômicos individuais com base em seus identificadores. Além disso, as consultas SQL anteriores serão aprimoradas para fornecer informações adicionais ou reduzir o tempo de execução da consulta. O código criado nos artigos anteriores se tornará funcional.
preview
Gerenciamento de riscos (Parte 4): Conclusão dos métodos-chave da classe

Gerenciamento de riscos (Parte 4): Conclusão dos métodos-chave da classe

Este artigo é a quarta parte da nossa série sobre gerenciamento de riscos em MQL5, onde continuamos a explorar métodos avançados de proteção e otimização de estratégias de negociação. Após termos estabelecido as bases importantes nas partes anteriores, agora focaremos em finalizar todos os métodos que ficaram pendentes na terceira parte, incluindo as funções responsáveis por verificar o atingimento de determinados níveis de lucro ou prejuízo. Além disso, o artigo introduz novos eventos-chave que garantem um controle mais preciso e flexí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
Replay e Simulação de mercado: Gran Finale

Replay e Simulação de mercado: Gran Finale

Bem, finalmente chegamos a um sistema de replay/simulador, que você, meu caro e paciente leitor, pode finalmente usufruir. Sei que muitos poderiam imaginar que seria feito mais artigos, explicando mais pontos do sistema. As partes faltantes são simples de serem implementadas. Mas mesmo assim, será algo que lhe mostrará o qual preparado você de fato está.
preview
Desenvolvimento de um sistema de monitoramento de entradas de swing (EA)

Desenvolvimento de um sistema de monitoramento de entradas de swing (EA)

À medida que o ano se aproxima do fim, traders de longo prazo costumam refletir sobre o histórico do mercado para analisar seu comportamento e tendências, visando projetar potenciais movimentos futuros. Neste artigo, exploraremos o desenvolvimento de um Expert Advisor (EA) de monitoramento de entradas de longo prazo usando MQL5. O objetivo é abordar o desafio das oportunidades de negociação de longo prazo perdidas devido ao trading manual e à ausência de sistemas automatizados de monitoramento. Usaremos um dos pares mais negociados como exemplo para estruturar e desenvolver nossa solução de forma eficaz.
preview
Codificação ordinal de variáveis nominais

Codificação ordinal de variáveis nominais

Neste artigo, discutiremos e demonstraremos como transformar variáveis nominais em formatos numéricos adequados para algoritmos de aprendizado de máquina, utilizando tanto Python quanto MQL5.
preview
Do básico ao intermediário: Sobrecarga de operadores (I)

Do básico ao intermediário: Sobrecarga de operadores (I)

Neste artigo começaremos a ver como seria a implementação da chamada sobrecarga de operadores. Iremos começar vendo a motivação por detrás de tal implementação. Assim como também veremos que nem sempre as coisas são tão complicadas como parecem.
preview
Redes neurais em trading: Generalização de séries temporais sem vínculo com dados (Conclusão)

Redes neurais em trading: Generalização de séries temporais sem vínculo com dados (Conclusão)

Este artigo permitirá que você veja como o Mamba4Cast transforma a teoria em um algoritmo de trading funcional e prepara o terreno para seus próprios experimentos. Não perca a oportunidade de obter um espectro completo de conhecimento e inspiração para o desenvolvimento da sua própria estratégia.
preview
Técnicas do Assistente MQL5 que você deve conhecer (Parte 53): Índice de Facilitação de Mercado

Técnicas do Assistente MQL5 que você deve conhecer (Parte 53): Índice de Facilitação de Mercado

O Índice de Facilitação de Mercado é outro indicador de Bill Williams que tem como objetivo medir a eficiência do movimento de preços em conjunto com o volume. Como sempre, analisamos os vários padrões desse indicador dentro dos limites de uma classe de sinal de montagem do assistente e apresentamos uma variedade de relatórios de teste e análises para os diversos padrões.
preview
Análise quantitativa de tendências: coletando estatísticas em Python

Análise quantitativa de tendências: coletando estatísticas em Python

O que é a análise quantitativa de tendências no mercado Forex. Coletando estatísticas sobre as tendências, sua magnitude e distribuição no par de moedas EURUSD. Como a análise quantitativa de tendências ajuda a criar um EA lucrativo.
preview
Desenvolvimento de um Kit de Ferramentas para Análise da Ação do Preço (Parte 6): Mean Reversion Signal Reaper

Desenvolvimento de um Kit de Ferramentas para Análise da Ação do Preço (Parte 6): Mean Reversion Signal Reaper

Embora alguns conceitos possam parecer simples à primeira vista, trazê-los à prática pode ser bastante desafiador. No artigo abaixo, levaremos você a uma jornada pela nossa abordagem inovadora para automatizar um Expert Advisor (EA) que analisa o mercado de forma eficiente utilizando uma estratégia de reversão à média. Junte-se a nós enquanto desvendamos as complexidades desse empolgante processo de automação.
preview
Gerenciamento de riscos (Parte 3): Criação da classe principal de gerenciamento de riscos

Gerenciamento de riscos (Parte 3): Criação da classe principal de gerenciamento de riscos

Neste artigo começaremos a criação da classe principal de gerenciamento de riscos, que será o elemento chave para o controle de riscos no sistema. Vamos nos concentrar na construção das bases, na definição das principais estruturas, variáveis e funções. Além disso, implementaremos os métodos necessários para atribuir valores de lucro máximo e prejuízo máximo, estabelecendo assim o alicerce do gerenciamento de riscos.
preview
Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 4): Dimensionamento Dinâmico de Posição

Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 4): Dimensionamento Dinâmico de Posição

Empregar com sucesso o trading algorítmico exige aprendizado contínuo e interdisciplinar. No entanto, a gama infinita de possibilidades pode consumir anos de esforço sem gerar resultados tangíveis. Para lidar com isso, propomos uma estrutura que introduz complexidade de forma gradual, permitindo que os traders refinem suas estratégias de maneira iterativa, em vez de dedicar tempo indefinido a resultados incertos.
preview
Simulação de mercado: A união faz a força (II)

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

Até o momento, a aplicação que estava sendo desenvolvida nesta sequência de artigos. Visava apenas e tão somente simular a parte gráfica. Mas para um sistema mais completo, onde temos a possibilidade de experimentar um Expert Advisor dentro do serviço de replay/simulador. Precisamos também fazer a simulação do servidor de negociação. Você notará, que a simulação usará o mínimo do mínimo possível. Mas se você, meu caro leitor, desejar, poderá completar as partes que faltam. Mas como isto não fará diferença para o que estou disposto a mostrar. Já temos mais do que o suficiente para desenvolver o que foi planejado.
preview
Implementação do algoritmo criptográfico SHA-256 do zero em MQL5

Implementação do algoritmo criptográfico SHA-256 do zero em MQL5

Criar integrações com bolsas de criptomoedas sem arquivos DLL foi, por muito tempo, uma tarefa complexa, mas esta solução fornece uma base completa para conexão direta ao mercado.
preview
Do básico ao intermediário: Filas, Listas e Árvores (VII)

Do básico ao intermediário: Filas, Listas e Árvores (VII)

Neste artigo, iremos demonstrar e explicar de uma maneira bastante lucida, como ocorre a remoção de um node de uma árvore. Algo que na maior parte das vezes, mais gera dúvidas e confusão na mente de iniciantes do que necessariamente os ajuda a entender como todo o processo acontece. E por que ele precisa ser feito desta ou daquela maneira.
preview
Do básico ao intermediário: Sobrecarga de operadores (IV)

Do básico ao intermediário: Sobrecarga de operadores (IV)

Neste artigo faremos uma primeira abordagem a fim de trabalhar e demonstrar como podemos implementar a sobrecarga do operador subscrito e também do operador de atribuição. Tentando com isto trazer uma abordagem prática e que fosse interessante para todos. Porém o que será visto aqui, é apenas uma parte daquilo que pretendo ainda mostrar e que está diretamente ligado a sobrecarga de tais operadores.
preview
Do básico ao intermediário: Filas, Listas e Árvores (VIII)

Do básico ao intermediário: Filas, Listas e Árvores (VIII)

Neste artigo veremos como implementar um algoritmo de balanceamento da árvore. O que será visto aqui, é a minha proposta para este tipo de mecanismo. Existem diversos outros mecanismos com o mesmo tipo de objetivo. Porém cada um tem seus problemas e suas vantagens. Depende de você, meu caro leitor, estudar e procurar encontrar o que melhor irá lhe atender.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 51): Aprendizado por Reforço com SAC

Técnicas do MQL5 Wizard que você deve conhecer (Parte 51): Aprendizado por Reforço com SAC

Soft Actor Critic é um algoritmo de Aprendizado por Reforço que utiliza 3 redes neurais. Uma rede ator e 2 redes críticas. Esses modelos de aprendizado de máquina são combinados em uma parceria mestre-escravo onde as redes críticas são modeladas para melhorar a precisão de previsão da rede ator. Ao mesmo tempo em que introduzimos ONNX nesta série, exploramos como essas ideias podem ser colocadas à prova como um sinal personalizado de um Expert Advisor montado pelo wizard.