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
Classe base de algoritmos populacionais como alicerce para otimização eficiente

Classe base de algoritmos populacionais como alicerce para otimização eficiente

Uma tentativa única de pesquisa para combinar uma série de algoritmos populacionais em uma única classe com o objetivo de simplificar a aplicação dos métodos de otimização. Essa abordagem não apenas abre possibilidades para o desenvolvimento de novos algoritmos, incluindo variantes híbridas, mas também estabelece um banco de testes básico universal. Este banco se torna uma ferramenta chave para a escolha do algoritmo ideal, dependendo da tarefa específica em questão.
preview
Do básico ao intermediário: Comando IF ELSE

Do básico ao intermediário: Comando IF ELSE

Neste artigo iremos ver como trabalhar com o comando IF e seu parceiro ELSE. Este que é o comando mais importante e significativo que existe em qualquer linguagem de programação. Porém apesar de ser muito simples de ser usado. O mesmo as vezes causa alguma confusão quando nos falta experiência no seu uso e nos conceitos a serem utilizados no mesmo. 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
Regressões Espúrias em Python

Regressões Espúrias em Python

Regressões espúrias ocorrem quando duas séries temporais exibem um alto grau de correlação puramente por acaso, levando a resultados enganosos na análise de regressão. Em tais casos, embora as variáveis possam parecer relacionadas, a correlação é coincidencial e o modelo pode ser pouco confiável.
preview
Anotação de dados na análise de série temporal (Parte 6): Aplicação e teste de EA com ONNX

Anotação de dados na análise de série temporal (Parte 6): Aplicação e teste de EA com ONNX

Nesta série de artigos, apresentamos vários métodos de anotação de séries temporais, que podem criar dados adequados à maioria dos modelos de inteligência artificial (IA). A anotação de dados direcionada pode tornar o modelo de IA treinado mais alinhado aos objetivos e tarefas do usuário, aumentar a precisão do modelo e até ajudar o modelo a alcançar um salto qualitativo!
preview
Redes neurais de maneira fácil (Parte 72): previsão de trajetórias em condições de ruído

Redes neurais de maneira fácil (Parte 72): previsão de trajetórias em condições de ruído

A qualidade da previsão de estados futuros desempenha um papel importante no método Goal-Conditioned Predictive Coding, com o qual nos familiarizamos no artigo anterior. Neste artigo, quero apresentar a vocês um algoritmo capaz de aumentar significativamente a qualidade da previsão em ambientes estocásticos, que incluem os mercados financeiros.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 13): DBSCAN para a Classe de Sinais de Expert

Técnicas do MQL5 Wizard que você deve conhecer (Parte 13): DBSCAN para a Classe de Sinais de Expert

Clustering Espacial Baseado em Densidade para Aplicações com Ruído é uma forma não supervisionada de agrupar dados que dificilmente requer parâmetros de entrada, exceto por apenas 2, o que, quando comparado a outras abordagens como k-means, é uma vantagem. Vamos explorar como isso pode ser construtivo para testar e, eventualmente, negociar com Expert Advisers montados no Wizard.
preview
Algoritmos de otimização de população: Resistência a ficar preso em extremos locais (Parte II)

Algoritmos de otimização de população: Resistência a ficar preso em extremos locais (Parte II)

Continuamos nosso experimento que visa examinar o comportamento dos algoritmos de otimização de população no contexto de sua capacidade de escapar eficientemente de mínimos locais quando a diversidade da população é baixa e alcançar máximos globais. Os resultados da pesquisa são fornecidos.
preview
Vantagens do Assistente MQL5 que você precisa saber (Parte 12): Polinômio de Newton

Vantagens do Assistente MQL5 que você precisa saber (Parte 12): Polinômio de Newton

O polinômio de Newton, que cria equações quadráticas a partir de um conjunto de vários pontos, é uma abordagem arcaica, mas interessante para a análise de séries temporais. Neste artigo, tentaremos explorar quais aspectos dessa abordagem podem ser úteis para os traders, bem como eliminar suas limitações.
preview
Algoritmos de otimização populacionais: objetos de busca multissociais artificiais (artificial Multi-Social search Objects, MSO)

Algoritmos de otimização populacionais: objetos de busca multissociais artificiais (artificial Multi-Social search Objects, MSO)

Continuação do artigo anterior como desenvolvimento da ideia de grupos sociais. No novo artigo, explora-se a evolução dos grupos sociais utilizando algoritmos de movimentação e memória. Os resultados ajudarão a entender a evolução dos sistemas sociais e aplicá-los na otimização e busca de soluções.
preview
Desenvolvendo um EA multimoeda (Parte 8): Realizando testes de carga e processando um novo candle

Desenvolvendo um EA multimoeda (Parte 8): Realizando testes de carga e processando um novo candle

À medida que avançamos, utilizamos cada vez mais instâncias simultâneas de estratégias de negociação em um único EA. Vamos descobrir até quantas instâncias podemos utilizar antes de nos depararmos com limitações de recursos.
preview
Algoritmos de otimização populacionais: evolução de grupos sociais (Evolution of Social Groups, ESG)

Algoritmos de otimização populacionais: evolução de grupos sociais (Evolution of Social Groups, ESG)

Neste artigo, consideraremos o princípio de construção de algoritmos multipopulacionais e, como exemplo desse tipo de algoritmos, analisaremos a Evolução de Grupos Sociais (ESG), um novo algoritmo autoral. Analisaremos os conceitos principais, os mecanismos de interação entre populações e as vantagens desse algoritmo, bem como examinaremos seu desempenho em tarefas de otimização.
preview
Desenvolvendo um sistema de Replay (Parte 64): Dando play no serviço (V)

Desenvolvendo um sistema de Replay (Parte 64): Dando play no serviço (V)

Neste artigo irei mostrar como corrigir duas falhas que se encontram presentes no código. No entanto tais correções foram explicadas para que você, aspirante a programador, consiga entender que nem sempre as coisas irão acontecer como você havia previsto. Mas isto não é motivo para desespero e sim uma oportunidade de aprendizado. 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
Superando Desafios de Integração com ONNX

Superando Desafios de Integração com ONNX

ONNX é uma ótima ferramenta para integrar códigos complexos de IA entre diferentes plataformas, sendo uma ferramenta excelente, mas que vem com alguns desafios que devem ser superados para aproveitar ao máximo suas capacidades. Neste artigo, discutimos os problemas mais comuns que você pode enfrentar e como mitigá-los.
preview
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 10): RBM não convencional

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 10): RBM não convencional

As máquinas de Boltzmann restritas (Restrictive Boltzmann Machines, RBM) são, em um nível básico, uma rede neural de duas camadas capaz de realizar classificação não supervisionada através da redução de dimensionalidade. Vamos usar seus princípios básicos e ver o que acontece se a desenharmos e a treinarmos de forma não convencional. Será que conseguiremos obter um filtro de sinais útil?
preview
Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 2): Mesclando Indicadores Nativos

Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 2): Mesclando Indicadores Nativos

Este artigo foca em aproveitar os indicadores embutidos no MetaTrader 5 para filtrar sinais fora da tendência. Avançando a partir do artigo anterior, exploraremos como fazer isso usando o código MQL5 para comunicar nossa ideia ao programa final.
preview
Critério de homogeneidade de Smirnov como indicador de não-estacionaridade de séries temporais

Critério de homogeneidade de Smirnov como indicador de não-estacionaridade de séries temporais

Este artigo analisa um dos mais conhecidos critérios de homogeneidade não-paramétricos, o critério de Smirnov. São analisados tanto dados modelados quanto cotações reais. É apresentado um exemplo de construção do indicador de não-estacionaridade (iSmirnovDistance).
preview
Data Science e Machine Learning (Parte 22): Aproveitando Redes Neurais Autoencoders para Operações Mais Inteligentes, Movendo-se do Ruído para o Sinal

Data Science e Machine Learning (Parte 22): Aproveitando Redes Neurais Autoencoders para Operações Mais Inteligentes, Movendo-se do Ruído para o Sinal

No mundo acelerado dos mercados financeiros, separar sinais significativos do ruído é crucial para o sucesso nas operações de trading. Ao empregar arquiteturas sofisticadas de redes neurais, os autoencoders se destacam ao descobrir padrões ocultos dentro dos dados de mercado, transformando entradas ruidosas em insights acionáveis. Neste artigo, exploramos como os autoencoders estão revolucionando as práticas de trading, oferecendo aos traders uma ferramenta poderosa para melhorar a tomada de decisões e ganhar uma vantagem competitiva nos mercados dinâmicos de hoje.
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
Do básico ao intermediário: Array e Strings (I)

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

Neste artigo, começaremos a ver alguns tipos especiais de dados. Vamos começar definindo o que seria uma string e como usar alguns procedimentos básicos. Isto para que possamos começar a trabalhar com este tipo que é bem curioso. Apesar de em alguns momentos ser um tanto confuso para iniciantes. 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
Do básico ao intermediário: Precedência de operadores

Do básico ao intermediário: Precedência de operadores

Este é com toda a certeza, o assunto mais complicado de explicar somente utilizando a parte teórica do mesmo. Sendo assim, aconselho a você, meu caro leitor, procurar praticar o que será mostrado aqui. Mesmo quando tudo parece simples a principio, esta questão sobre operadores, de fato, somente será bem compreendida com a pratica aliada ao estudo constante. 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
Técnicas do MQL5 Wizard que você deve conhecer (Parte 17): Negociação Multimoedas

Técnicas do MQL5 Wizard que você deve conhecer (Parte 17): Negociação Multimoedas

Negociar com múltiplas moedas não está disponível por padrão quando um expert advisor é montado através do assistente. Examinamos dois hacks possíveis que os traders podem fazer ao tentar testar suas ideias com mais de um símbolo ao mesmo tempo.
preview
O Método de Agrupamento de Manipulação de Dados: Implementando o Algoritmo Combinatório em MQL5

O Método de Agrupamento de Manipulação de Dados: Implementando o Algoritmo Combinatório em MQL5

Neste artigo, continuamos nossa exploração da família de algoritmos do Método de Agrupamento de Manipulação de Dados, com a implementação do Algoritmo Combinatório, juntamente com sua versão refinada, o Algoritmo Combinatório Seletivo em MQL5.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 18): Pesquisa de Arquitetura Neural com Vetores Próprios

Técnicas do MQL5 Wizard que você deve conhecer (Parte 18): Pesquisa de Arquitetura Neural com Vetores Próprios

Pesquisa de Arquitetura Neural, uma abordagem automatizada para determinar as configurações ideais de uma rede neural, pode ser um diferencial ao enfrentar muitas opções e grandes conjuntos de dados de teste. Examinamos como, quando emparelhado com Vetores Próprios, esse processo pode se tornar ainda mais eficiente.
preview
Modificação do Grid-Hedge EA em MQL5 (Parte IV): Otimizando a Estratégia de Grid Simples (I)

Modificação do Grid-Hedge EA em MQL5 (Parte IV): Otimizando a Estratégia de Grid Simples (I)

Nesta quarta parte, revisitamos os Expert Advisors (EAs) Simple Hedge e Simple Grid desenvolvidos anteriormente. Nosso foco agora é refinar o Simple Grid EA por meio de análise matemática e uma abordagem de força bruta, visando o uso ideal da estratégia. Este artigo mergulha profundamente na otimização matemática da estratégia, preparando o terreno para futuras explorações de otimização baseada em código em artigos posteriores.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 19): Inferência Bayesiana

Técnicas do MQL5 Wizard que você deve conhecer (Parte 19): Inferência Bayesiana

A inferência bayesiana é a adoção do Teorema de Bayes para atualizar hipóteses de probabilidade à medida que novas informações são disponibilizadas. Isso intuitivamente leva à adaptação na análise de séries temporais, então veremos como podemos usar isso na construção de classes personalizadas, não apenas para o sinal, mas também para gerenciamento de dinheiro e trailing-stops.