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
Consultor Especialista Auto-Otimizável com MQL5 e Python (Parte V): Modelos de Markov Profundos

Consultor Especialista Auto-Otimizável com MQL5 e Python (Parte V): Modelos de Markov Profundos

Nesta discussão, aplicaremos uma Cadeia de Markov simples sobre um indicador RSI, para observar como o preço se comporta após o indicador atravessar níveis-chave. Concluímos que os sinais de compra e venda mais fortes no par NZDJPY são gerados quando o RSI está nas faixas de 11-20 e 71-80, respectivamente. Vamos demonstrar como você pode manipular seus dados para criar estratégias de trading ideais aprendidas diretamente a partir dos dados que possui. Além disso, mostraremos como treinar uma rede neural profunda para aprender a utilizar a matriz de transição de forma otimizada.
preview
Do básico ao intermediário: Navegando na SandBox

Do básico ao intermediário: Navegando na SandBox

Neste artigo veremos duas formas de observar e até mesmo ter alguma interação com o conteúdo presente em uma SandBox. Isto usando a plataforma MetaTrader 5 como ponto de apoio. Entender o conteúdo mostrado neste artigo, será primordial para entender o que será visto nos próximos artigos.
preview
Simulação de mercado: Position View (VI)

Simulação de mercado: Position View (VI)

Neste artigo, faremos diversas melhorias, visando obter com que o indicador de posição, venha a refletir o que de fato está ocorrendo no servidor de negociação em termos de posições e seu status atual. Devo lembrar, que estas aplicações que serão mostradas aqui, não visam de maneira alguma substituir qualquer elemento presente no MetaTrader 5. E tal pouco devem ser utilizadas sem os devidos cuidados e critérios. Já que elas tem como objetivo terem um código didático. Ou seja, para fins de aprendizado de como as coisas funcionam. E o motivo para que eu diga que o código é didático. É pelo fato de que o uso de mensagens em alguns casos não é a melhor forma de implementar as coisas.
preview
Rede neural na prática: Gradiente Descendente Estocástico

Rede neural na prática: Gradiente Descendente Estocástico

O artigo explica, na prática, como calcular e aplicar os gradientes de peso e viés no neurônio linear em MQL5, além de apresentar a variante estocástica do gradiente descendente. Discutimos critérios de parada, limitação de iterações e efeitos da amostragem parcial. No terminal do MetaTrader 5, são exibidos resultados e uma plotagem simples. O leitor é orientado a alterar o conjunto de treino e analisar o comportamento.
preview
Previsão de taxas de câmbio usando métodos clássicos de aprendizado de máquina: Modelos Logit e Probit

Previsão de taxas de câmbio usando métodos clássicos de aprendizado de máquina: Modelos Logit e Probit

Tentou-se criar um EA para prever cotações de taxas de câmbio. Como base para o algoritmo, foram adotados modelos clássicos de classificação, como regressão logística e probit. O critério de razão de verossimilhança é utilizado para filtrar os sinais de negociação.
preview
Redes neurais em trading: Treinamento multitarefa baseado no modelo ResNeXt (Conclusão)

Redes neurais em trading: Treinamento multitarefa baseado no modelo ResNeXt (Conclusão)

Seguimos com a exploração do framework de aprendizado multitarefa baseado na arquitetura ResNeXt, que se destaca pela modularidade, alta eficiência computacional e pela capacidade de identificar padrões estáveis nos dados. O uso de um codificador único e de "cabeças" especializadas reduz o risco de overfitting do modelo e aumenta a qualidade das previsões.
preview
Trading por pares: negociação algorítmica com auto-otimização baseada na diferença de pontuação Z

Trading por pares: negociação algorítmica com auto-otimização baseada na diferença de pontuação Z

Neste artigo, analisaremos o que é o trading por pares e como ocorre a negociação baseada em correlações. Também criaremos um EA para automatizar o trading por pares e adicionaremos a possibilidade de otimização automática desse algoritmo de negociação com base em dados históricos. Além disso, dentro do projeto, aprenderemos a calcular as divergências entre dois pares por meio da pontuação Z.
preview
Do básico ao intermediário: Eventos em Objetos (II)

Do básico ao intermediário: Eventos em Objetos (II)

Neste artigo iremos ver como funciona os três últimos tipos de eventos que podem ser disparados por um objeto. Entender isto será algo muito divertido. Já que no final faremos algo que para muitos pode parecer um tanto quanto insanidade. Porém que é perfeitamente possível de ser feito, e tem um resultado bastante surpreendente.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 43): Aprendizado por reforço com SARSA

Recursos do Assistente MQL5 que você precisa conhecer (Parte 43): Aprendizado por reforço com SARSA

O SARSA (State-Action-Reward-State-Action, estado–ação–recompensa–estado–ação) é outro algoritmo que pode ser utilizado na implementação de aprendizado por reforço. Vamos analisar como esse algoritmo pode ser implementado como um modelo independente (e não apenas como um mecanismo de aprendizado) em Expert Advisors gerados no Wizard, de forma semelhante ao que fizemos nos casos de Q-learning e DQN.
preview
Algoritmo de Otimização de Força Central (Central Force Optimization, CFO)

Algoritmo de Otimização de Força Central (Central Force Optimization, CFO)

Este artigo apresenta o algoritmo de otimização de força central (CFO), inspirado nas leis da gravitação. É explorado como os princípios da atração física podem resolver problemas de otimização, onde soluções mais pesadas atraem seus análogos menos bem-sucedidos.
preview
Redes neurais em trading: Identificação de anomalias no domínio da frequência (CATCH)

Redes neurais em trading: Identificação de anomalias no domínio da frequência (CATCH)

O framework CATCH combina a transformada de Fourier e o patching de frequência para a identificação precisa de anomalias de mercado, inacessíveis aos métodos tradicionais. Neste trabalho, examinaremos como essa abordagem revela padrões ocultos nos dados financeiros.
preview
Do básico ao intermediário: Filas, Listas e Árvores (II)

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

Este é um artigo do qual você meu caro leitor, deverá estudar com muita calma. Isto devido ao tipo de coisa que será explicado nele. Apesar de termos procurando manter as coisas o mais simples e didáticas quanto foi possível ser feito. O conteúdo apresentado aqui, é sem sobra de dúvida algo muito complicado para quem está iniciando na programação. Mas isto não é motivo para que você venha a desanimar ou ignorar o que está sendo explicado aqui. Já que este artigo fará um elo, entre dois assuntos completamente diferentes, porém intimamente ligados.
preview
Simulação de mercado: Position View (XX)

Simulação de mercado: Position View (XX)

Neste artigo iremos ver como modificar o código do indicador de posição a fim de conseguir, criar um tipo de sombra para que possamos visualizar onde o preço se encontra atualmente no servidor de negociação. Tal principio tem como finalidade facilitar o planejamento de operações. Onde temos uma movimentação das linhas de stop loss ou take profit. Porém adicionar tal funcionalidade, ou seja sombras de preço. Pode parecer algo extremamente complexo. Mas neste artigo mostrarei que você conseguirá fazer isto de maneira muito simples e prática.
preview
Observador Connexus (Parte 8): Adicionando Request Observer (Observador de requisições)

Observador Connexus (Parte 8): Adicionando Request Observer (Observador de requisições)

Nesta parte final da nossa série sobre a biblioteca Connexus, analisamos a implementação do padrão Observador, além dos principais refatoramentos nos caminhos dos arquivos e nomes dos métodos. Esta série apresenta todo o desenvolvimento do Connexus, criado para simplificar a interação HTTP em aplicativos complexos.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 32): Regularização

Técnicas do MQL5 Wizard que você deve conhecer (Parte 32): Regularização

A regularização é uma forma de penalizar a função de perda em proporção ao peso discreto aplicado ao longo das várias camadas de uma rede neural. Vamos observar a importância de algumas formas de regularização e o impacto que isso pode ter em testes realizados com um Expert Advisor montado por um assistente.
preview
Do básico ao intermediário: Como bolhas de sabão

Do básico ao intermediário: Como bolhas de sabão

Neste artigo, será explicado um mecanismo muito simples e fácil de entender, cujo proposito seria o de gerar a ordenação de uma array, qualquer. Nele veremos que nem sempre o resultado apresentado é aquele que realmente esperamos obter. Sendo assim necessário adaptar a própria implementação a fim de conseguir obter os resultados adequado.
preview
Algoritmo de otimização caótica — Chaos optimization algorithm (COA)

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

Algoritmo de otimização caótica (COA) aprimorado, que combina a influência do caos com mecanismos adaptativos de busca. O algoritmo utiliza diversos mapeamentos caóticos e componentes inerciais para explorar o espaço de busca. O artigo revela os fundamentos teóricos dos métodos caóticos de otimização financeira.
preview
Desenvolvendo um Expert Advisor de Breakout Baseado em Eventos de Notícias do Calendário em MQL5

Desenvolvendo um Expert Advisor de Breakout Baseado em Eventos de Notícias do Calendário em MQL5

A volatilidade tende a atingir picos em torno de eventos de notícias de alto impacto, criando oportunidades significativas de breakout. Neste artigo, iremos delinear o processo de implementação de uma estratégia de breakout baseada em calendário. Abordaremos tudo, desde a criação de uma classe para interpretar e armazenar dados do calendário, o desenvolvimento de backtests realistas utilizando esses dados e, por fim, a implementação do código de execução para negociação ao vivo.
preview
Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 31): Escolha da função de perda

Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 31): Escolha da função de perda

A função de perda (Loss Function) é uma métrica fundamental nos algoritmos de aprendizado de máquina, que fornece feedback para o processo de aprendizado ao quantificar o quão bem um determinado conjunto de parâmetros se comporta em comparação com o valor-alvo esperado. Vamos explorar os diferentes formatos dessa função na classe personalizada do Assistente MQL5.
preview
Migrando para o MQL5 Algo Forge (Parte 2): Trabalhando com múltiplos repositórios

Migrando para o MQL5 Algo Forge (Parte 2): Trabalhando com múltiplos repositórios

Vamos analisar uma das possíveis abordagens para organizar o armazenamento do código-fonte de um projeto em um repositório público. Utilizando a distribuição em diferentes branches, criaremos regras claras e práticas para o desenvolvimento do projeto.
preview
Recursos do Assistente MQL5 que você precisa conhecer (Parte 47): Aprendizado por reforço (algoritmo de diferenças temporais)

Recursos do Assistente MQL5 que você precisa conhecer (Parte 47): Aprendizado por reforço (algoritmo de diferenças temporais)

Temporal Difference (TD, diferenças temporais) é mais um algoritmo de aprendizado por reforço, que atualiza os valores Q com base na diferença entre as recompensas previstas e as recompensas reais durante o treinamento do agente. A ênfase está na atualização dos valores Q sem considerar necessariamente seus pares "estado-ação" (state-action). Como de costume, veremos como esse algoritmo pode ser aplicado em um EA, criado com a ajuda do Assistente.
preview
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 5): Volatility Navigator EA

Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 5): Volatility Navigator EA

Determinar a direção do mercado pode ser simples, mas saber quando entrar pode ser desafiador. Como parte da série intitulada "Desenvolvimento do Kit de Ferramentas de Análise de Price Action", tenho o prazer de apresentar mais uma ferramenta que fornece pontos de entrada, níveis de take profit e definições de stop loss. Para isso, utilizamos a linguagem de programação MQL5. Vamos nos aprofundar em cada etapa neste artigo.
preview
Introdução ao MQL5 (Parte 11): Um guia para iniciantes sobre como trabalhar com indicadores incorporados no MQL5 (II)

Introdução ao MQL5 (Parte 11): Um guia para iniciantes sobre como trabalhar com indicadores incorporados no MQL5 (II)

Descubra como desenvolver um Expert Advisor (EA) em MQL5 usando múltiplos indicadores como RSI, MA e Oscilador Estocástico para detectar divergências ocultas de alta e de baixa. Aprenda a implementar um gerenciamento de risco eficaz e a automatizar negociações com exemplos detalhados e código-fonte totalmente comentado para fins educacionais!
preview
Simulação de mercado: Position View (XI)

Simulação de mercado: Position View (XI)

Neste artigo, mostrarei como você, meu caro e estimado leitor, pode sem muito esforço. Conseguir modificar o indicador de posição a fim de que ele venha a ser capaz de fazer bem mais coisas, do que originalmente era capaz de fazer. Veremos como incluir a capacidade de podermos mover tanto os preços, quanto também criar as linhas de preço. E isto diretamente no gráfico. Algo que muitos imaginariam ser extremamente complicado e de difícil solução. Porém você notará que faremos tudo isto, com muita facilidade e com um mínimo de esforço. Tudo que será preciso fazer é parar e pensar um pouco.
preview
Otimização com neuroboids — Neuroboids Optimization Algorithm 2 (NOA2)

Otimização com neuroboids — Neuroboids Optimization Algorithm 2 (NOA2)

O novo algoritmo autoral de otimização NOA2 (Neuroboids Optimization Algorithm 2) combina os princípios da inteligência de enxame com controle baseado em redes neurais. O NOA2 funde a mecânica do comportamento coletivo dos neuroboids com um sistema neural adaptativo, que permite aos agentes ajustar seu comportamento de forma autônoma durante o processo de busca pelo ótimo. O algoritmo está em fase ativa de desenvolvimento e demonstra potencial para resolver tarefas complexas de otimização.
preview
Ganhe Vantagem em Qualquer Mercado (Parte V): Dados Alternativos FRED EURUSD

Ganhe Vantagem em Qualquer Mercado (Parte V): Dados Alternativos FRED EURUSD

Na discussão de hoje, utilizamos dados alternativos diários do Federal Reserve de St. Louis sobre o Índice Amplo do Dólar dos EUA e um conjunto de outros indicadores macroeconômicos para prever a taxa de câmbio futura do EURUSD. Infelizmente, embora os dados aparentem ter uma correlação quase perfeita, não conseguimos obter ganhos materiais em nossa acurácia de modelo, o que pode nos indicar que os investidores talvez estejam melhores usando apenas as cotações normais do mercado.
preview
Assistente Connexus (Parte 5): Métodos HTTP e códigos de status

Assistente Connexus (Parte 5): Métodos HTTP e códigos de status

Neste artigo, vamos entender os métodos HTTP e os códigos de status, dois elementos muito importantes para a interação entre cliente e servidor na internet. Compreender o que cada método faz de fato permite criar requisições mais precisas, informando ao servidor qual ação deve ser executada e tornando a comunicação mais eficiente.
preview
Do básico ao intermediário: Classes (III)

Do básico ao intermediário: Classes (III)

Neste artigo será demonstrado como podemos controlar melhor o nosso código. Isto quando estivermos efetuando uma programação orientada em objetos. Apesar de que ainda, estamos apenas no inicio do que pretendo abordar quando o assunto é programação orientada em objetos. Mas o que será visto aqui, lhe ajudará a entender diversas coisas. Minimizando assim futuras dúvidas que podem surgir.
preview
Gerenciamento de riscos (Parte 5): Integração do sistema de gerenciamento de riscos ao EA

Gerenciamento de riscos (Parte 5): Integração do sistema de gerenciamento de riscos ao EA

Neste artigo, implementaremos o sistema de gerenciamento de risco desenvolvido em publicações anteriores e adicionaremos o indicador Order Blocks apresentado em outros artigos. Além disso, será realizado um backtest para comparar os resultados com a aplicação do sistema de gerenciamento de risco e para avaliar o impacto do risco dinâmico.
preview
Movimento do preço: modelos matemáticos e análise técnica

Movimento do preço: modelos matemáticos e análise técnica

A previsão dos movimentos dos pares de moedas é um fator importante de sucesso no trading. Este artigo é dedicado ao estudo de diferentes modelos de movimento do preço, à análise de suas vantagens e desvantagens, bem como à aplicação prática em estratégias de negociação. Serão considerados enfoques que permitem identificar padrões ocultos e aumentar a precisão das previsões.
preview
MQL5 Trading Toolkit (Parte 5): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com Funções de Posição

MQL5 Trading Toolkit (Parte 5): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com Funções de Posição

Descubra como criar funções exportáveis em EX5 para consultar e salvar de forma eficiente dados históricos de posições. Neste guia passo a passo, ampliaremos a biblioteca EX5 de gerenciamento de histórico desenvolvendo módulos que recuperam propriedades-chave da posição fechada mais recentemente. Isso inclui lucro líquido, duração da negociação, stop loss em pips, take profit, valores de lucro e vários outros detalhes importantes.
preview
Reimaginando Estratégias Clássicas (Parte IX): Análise de Múltiplos Time-Frames (II)

Reimaginando Estratégias Clássicas (Parte IX): Análise de Múltiplos Time-Frames (II)

Na discussão de hoje, examinamos a estratégia de análise de múltiplos time-frames para descobrir em qual time-frame nosso modelo de IA apresenta melhor desempenho. Nossa análise nos levou a concluir que os time-frames Mensal e de 1 Hora produzem modelos com taxas de erro relativamente baixas no par EURUSD. Usamos isso a nosso favor e criamos um algoritmo de negociação que faz previsões de IA no time-frame Mensal e executa suas negociações no time-frame de 1 Hora.
preview
Título no Connexus (Parte 3): dominando o uso de cabeçalhos HTTP em requisições

Título no Connexus (Parte 3): dominando o uso de cabeçalhos HTTP em requisições

Continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, exploraremos o conceito de cabeçalhos no protocolo HTTP, explicando o que são, para que servem e como utilizá-los nas requisições. Analisaremos os principais cabeçalhos utilizados ao interagir com APIs e apresentaremos exemplos práticos de como configurá-los na biblioteca.
preview
Otimização de recifes de coral — Coral Reefs Optimization (CRO)

Otimização de recifes de coral — Coral Reefs Optimization (CRO)

Neste artigo é apresentada uma análise abrangente do algoritmo de otimização de recifes de coral (CRO), um método meta-heurístico inspirado nos processos biológicos de formação e desenvolvimento de recifes de coral. Ele modela aspectos-chave da evolução dos corais: reprodução externa e interna, fixação de larvas, reprodução assexuada e competição por espaço limitado no recife. É dada atenção especial à versão aprimorada do algoritmo.
preview
Simulação de mercado: Position View (XVIII)

Simulação de mercado: Position View (XVIII)

Neste artigo, mostrei da forma o mais didática possível. Como você pode conseguir modificar e gerar um código que seja capaz de cumprir alguns objetivos. Isto modificando o mínimo possível um código já existente. Iremos adicionar um indicador de volume, ao mesmo tempo impedir que o usuário ou operador venha a remover objetos criados pelo indicador de posição.
preview
Redes Generativas Adversariais (GANs) para Dados Sintéticos em Modelagem Financeira (Parte 1): Introdução às GANs e Dados Sintéticos em Modelagem Financeira

Redes Generativas Adversariais (GANs) para Dados Sintéticos em Modelagem Financeira (Parte 1): Introdução às GANs e Dados Sintéticos em Modelagem Financeira

Este artigo introduz os traders às Redes Generativas Adversariais (GANs) para geração de dados financeiros sintéticos, abordando limitações de dados no treinamento de modelos. Ele cobre os fundamentos das GANs, implementações em Python e MQL5, e aplicações práticas em finanças, capacitando traders a aumentar a precisão e a robustez dos modelos por meio de dados sintéticos.
preview
Simulação de mercado: A união faz a força (I)

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

Estamos chegando aos finalmente. O desenvolvimento do replay / simulador está quase concluído. É bem verdade que ainda precisaremos fazer algumas poucas coisas. Mas frente a tudo que realmente já foi feito. Implementar o que falta será moleza. Mas como tudo que será mostrado neste artigo, precisará ser adequadamente digerido e compreendido. Quero que você, meu caro leitor e entusiasta.
preview
Do básico ao intermediário: Filas, Listas e Árvores (III)

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

Neste artigo iremos dar o que será o próximo passo a fim de implementar e entender o que seria e como funciona uma lista encadeada. Apesar do conteúdo aqui, ser de certa maneira bastante denso e confuso para quem está iniciando. Procurei deixar as coisas o mais didática possível. Assim, você conseguirá entender por que e quando usar uma lista encadeada.
preview
Desenvolvimento de ferramentas para análise do movimento de preços (Parte 7): Expert Advisor Signal Pulse

Desenvolvimento de ferramentas para análise do movimento de preços (Parte 7): Expert Advisor Signal Pulse

Libere o potencial da análise multitimeframe com o Signal Pulse, um EA em MQL5 que combina as Bandas de Bollinger e o Oscilador Estocástico para fornecer sinais de negociação precisos com alta probabilidade de ocorrência. Descubra como implementar essa estratégia e visualizar de forma eficiente oportunidades de compra e venda usando setas. O EA é ideal para traders que buscam aprimorar suas decisões por meio de análise automática em vários timeframes.
preview
Modelo matricial de previsão baseado em cadeia de Markov

Modelo matricial de previsão baseado em cadeia de Markov

Criamos um modelo matricial de previsão baseado em uma cadeia de Markov. O que são cadeias de Markov e como uma cadeia de Markov pode ser usada para trading no Forex.