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
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 04): Análise discriminante linear

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 04): Análise discriminante linear

O trader moderno está quase sempre à procura de novas ideias. Para isso, tenta novas estratégias, modifica e descarta aquelas que não funcionam. Nesta série de artigos, tentarei provar que o assistente MQL5 é a verdadeira espinha dorsal de um trader moderno.
preview
Dominando o ONNX: Ponto de virada para traders MQL5

Dominando o ONNX: Ponto de virada para traders MQL5

Mergulhe no mundo do ONNX, um poderoso formato aberto para compartilhar modelos de aprendizado de máquina. Descubra como o uso do ONNX pode revolucionar a negociação algorítmica em MQL5, permitindo que os traders integrem sem obstáculos modelos avançados de inteligência artificial e elevem suas estratégias a um novo patamar. Desvende os segredos da compatibilidade entre plataformas e aprenda a desbloquear todo o potencial do ONNX em sua negociação no MQL5. Melhore sua negociação com este guia detalhado sobre ONNX.
preview
DoEasy. Controles (Parte 14): Novo algoritmo para nomear elementos gráficos. Continuando o trabalho no objeto WinForms TabControl

DoEasy. Controles (Parte 14): Novo algoritmo para nomear elementos gráficos. Continuando o trabalho no objeto WinForms TabControl

Neste artigo, elaboraremos um novo algoritmo para nomear todos os elementos gráficos que permitem criar gráficos personalizados, e continuaremos desenvolvendo o objeto WinForms TabControl.
preview
Desenvolvendo um sistema de Replay (Parte 42): Projeto do Chart Trade (I)

Desenvolvendo um sistema de Replay (Parte 42): Projeto do Chart Trade (I)

Vamos agora criar algo um pouco mais interessante. No entanto, iremos fazer de forma que o código que mostrei no passado, estará completamente obsoleto. Mas não vou estragar a surpresa. Acompanhe o artigo para entender. Desde o inicio desta sequencia sobre como desenvolver um sistema de replay / simulação, venho dizendo que a ideia aqui, é usar a plataforma MetaTrader 5, de forma idêntica, tanto no sistema que estamos desenvolvendo, quanto no mercado real. É importante que isto se dê de maneira adequada. Você não vai querer treinar e aprender a lutar usando determinadas ferramentas, e na hora da briga ter que usar outras.
preview
Teoria das Categorias em MQL5 (Parte 11): Grafos

Teoria das Categorias em MQL5 (Parte 11): Grafos

Esse artigo é uma continuação da série sobre como implementar a teoria das categorias no MQL5. Aqui consideramos como a teoria dos grafos pode ser integrada com monoides e outras estruturas de dados ao desenvolver uma estratégia para fechar um sistema de negociação.
preview
Teoria das Categorias em MQL5 (Parte 2)

Teoria das Categorias em MQL5 (Parte 2)

A Teoria das Categorias é um ramo diverso da Matemática e em expansão, sendo uma área relativamente recente na comunidade MQL5. Esta série de artigos visa introduzir e examinar alguns de seus conceitos com o objetivo geral de estabelecer uma biblioteca aberta que atraia comentários e discussões enquanto esperamos promover o uso deste campo notável no desenvolvimento da estratégia dos traders.
preview
Teoria das Categorias em MQL5 (Parte 22): Outra Perspectiva sobre Médias Móveis

Teoria das Categorias em MQL5 (Parte 22): Outra Perspectiva sobre Médias Móveis

Neste artigo, tentaremos simplificar a descrição dos conceitos discutidos nesta série, focando apenas em um indicador, o mais comum e, provavelmente, o mais fácil de entender. Estamos falando da média móvel. Também examinaremos o significado e as possíveis aplicações das transformações naturais verticais.
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
Teoria das Categorias em MQL5 (Parte 17): funtores e monoides

Teoria das Categorias em MQL5 (Parte 17): funtores e monoides

Este é o último artigo da série dedicada a funtores. Nele, reconsideramos monoides como uma categoria. Os monoides, que já apresentamos nesta série, são usados aqui para ajudar na definição do tamanho da posição juntamente com perceptrons multicamadas.
preview
Redes neurais de maneira fácil (Parte 25): Exercícios práticos de transferência de aprendizado

Redes neurais de maneira fácil (Parte 25): Exercícios práticos de transferência de aprendizado

Nos dois últimos artigos, criamos uma ferramenta que permite criar e editar modelos de redes neurais. E agora é hora de avaliar o uso potencial da transferência de aprendizado (transfer learning, em inglês) usando exemplos práticos.
preview
Algoritmos de otimização populacionais: Algoritmo semelhante ao eletromagnetismo (EM)

Algoritmos de otimização populacionais: Algoritmo semelhante ao eletromagnetismo (EM)

O artigo descreve os princípios, os métodos e as possibilidades de aplicação do EM a diferentes problemas de otimização. Ele uma ferramenta de otimização eficiente, capaz de lidar com grandes quantidades de dados e funções multidimensionais.
preview
DoEasy. Controles (Parte 3): Criando controles vinculados

DoEasy. Controles (Parte 3): Criando controles vinculados

Neste artigo, analisaremos a criação de controles subordinados, vinculados ao elemento que serve de base, criados diretamente por meio da funcionalidade do controle base. Além da tarefa definida acima, trabalharemos um pouco no objeto sombra do elemento gráfico, pois ainda persistem alguns erros de lógica ao aplicá-lo a qualquer um dos objetos que permitem ter sombra.
preview
Redes neurais de maneira fácil (Parte 24): Melhorando a ferramenta para transferência de aprendizado

Redes neurais de maneira fácil (Parte 24): Melhorando a ferramenta para transferência de aprendizado

No último artigo, elaboramos uma ferramenta para criar e editar a arquitetura de redes neurais. E hoje quero convidá-lo a continuar trabalhando nela, para torná-la mais amigável. De certa forma, ao fazer isso, estamos nos afastando um pouco do nosso tópico. Mas convenhamos que a organização do espaço de trabalho desempenha um papel importante na obtenção do resultado.
preview
Interface Gráfico: Dicas e recomendações para criar uma biblioteca gráfica no MQL

Interface Gráfico: Dicas e recomendações para criar uma biblioteca gráfica no MQL

Vamos explorar os fundamentos das bibliotecas de interface gráfica para que você possa entender como elas funcionam ou até mesmo começar a criar as suas próprias.
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
Algoritmos de otimização populacionais: algoritmo de gotas de água inteligentes (Intelligent Water Drops, IWD)

Algoritmos de otimização populacionais: algoritmo de gotas de água inteligentes (Intelligent Water Drops, IWD)

Neste artigo é analisado um algoritmo interessante chamado de gotas de água inteligentes (IWD), inspirado na natureza inanimada, que simula o processo de formação do leito de um rio. As ideias desse algoritmo permitiram melhorar significativamente o líder anterior da classificação, o SDS, e o novo líder (SDSm modificado), como de costume, pode ser encontrado no arquivo do artigo.
preview
Padrões de projeto no MQL5 (Parte I): Padrões criacionais (creational patterns)

Padrões de projeto no MQL5 (Parte I): Padrões criacionais (creational patterns)

Existem métodos que podem ser usados para resolver problemas típicos. Depois de entender como usar esses métodos, você pode então escrever programas de maneira prática e aplicar o conceito DRY ("Don't Repeat Yourself" - "Não se Repita"). Neste contexto, os padrões de projeto são extremamente úteis, pois apresentam soluções para problemas bem descritos e recorrentes.
preview
Desenvolvendo um sistema de Replay (Parte 39): Pavimentando o Terreno (III)

Desenvolvendo um sistema de Replay (Parte 39): Pavimentando o Terreno (III)

Antes de começarmos a segunda fase de desenvolvimento, é preciso reforçar algumas ideias. Então você sabe como forçar o MQL5 a fazer o que é preciso ser feito ?!?! Já tentou ir além do que a documentação informar ?!?! Se não. Se prepare. Pois irei começar a fazer coisas muito além do que grande parte faz normalmente.
preview
Rede neural na prática: Mínimos Quadrados

Rede neural na prática: Mínimos Quadrados

Aqui neste artigo, veremos algumas coisas, entre elas: Como muitas vezes fórmulas matemáticas parecem mais complicadas, quando a olhamos, do que quando a implementamos em código. Além deste fato, também será mostrado, como você pode ajustar o quadrante do gráfico, assim como uma coisa sinistra, que pode acontecer no seu código MQL5. Algo que sinceramente não sei como explicar, por não ter entendido. Apesar de mostrar como corrigir no código.
preview
DoEasy. Controles (Parte 31): Rolando o conteúdo do controle "ScrollBar"

DoEasy. Controles (Parte 31): Rolando o conteúdo do controle "ScrollBar"

Neste artigo, criaremos a funcionalidade para rolar o conteúdo do contêiner usando os botões da barra de rolagem horizontal.
preview
Teoria das Categorias em MQL5 (Parte 5): Equalizadores

Teoria das Categorias em MQL5 (Parte 5): Equalizadores

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
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
Teoria das Categorias em MQL5 (Parte 15): Funtores com grafos

Teoria das Categorias em MQL5 (Parte 15): Funtores com grafos

Este artigo continua a série sobre a implementação da teoria de categorias no MQL5, ele aborda os funtores como uma ponte entre grafos e conjuntos. Nesse escopo, voltaremos a analisar os dados de calendário e, apesar de suas limitações no uso do testador de estratégias, justificaremos o uso de funtores na previsão de volatilidade mediante correlação.
preview
Avaliando o desempenho futuro com intervalos de confiança

Avaliando o desempenho futuro com intervalos de confiança

Neste artigo, vamos explorar o uso do bootstrapping como um meio de avaliar a eficácia futura de uma estratégia automatizada.
preview
Introdução ao MQL5 (Parte 1): Um guia para principiantes em algotrading

Introdução ao MQL5 (Parte 1): Um guia para principiantes em algotrading

Este artigo serve como uma introdução à programação em MQL5 para novatos, abrindo portas para o empolgante mundo da negociação algorítmica. Aqui, você vai descobrir os princípios básicos do MQL5, a linguagem de programação usada para desenvolver estratégias de negociação no MetaTrader 5, que facilita a entrada no universo da negociação automatizada. Abrangendo desde a compreensão dos conceitos iniciais até os primeiros passos na programação, este texto é projetado para desbloquear as possibilidades da negociação algorítmica para todos os leitores, incluindo aqueles sem nenhuma experiência prévia em programação. Espero que aprecie esta incursão pelo mundo do trading com MQL5.
preview
Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 5): Bandas de Bollinger no canal de Keltner — Sinais dos indicadores

Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 5): Bandas de Bollinger no canal de Keltner — Sinais dos indicadores

Neste artigo, por EA multimoeda, entendemos um robô investidor, que pode negociar (abrir/fechar ordens, gerenciar ordens, por exemplo, do tipo trailing stop-loss e trailing profit) mais de um par de moedas em um gráfico. Neste artigo, utilizaremos sinais de dois indicadores, nomeadamente Bandas de Bollinger (Bollinger Bands®) e canal de Keltner.
preview
DoEasy. Controles (Parte 23): apurando os objetos WinForms TabControl e SplitContainer

DoEasy. Controles (Parte 23): apurando os objetos WinForms TabControl e SplitContainer

Neste artigo, incluiremos novos eventos de mouse relacionados aos limites das áreas de trabalho dos objetos WinForms e corrigiremos algumas falhas na funcionalidade dos controles TabControl e SplitContainer.
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
Anotação de dados na análise de série temporal (Parte 2): Criação de conjuntos de dados com rótulos de tendência usando Python

Anotação de dados na análise de série temporal (Parte 2): Criação de conjuntos de dados com rótulos de tendência usando Python

Esta série de artigos apresenta várias técnicas destinadas a rotular séries temporais, técnicas essas que podem criar dados adequados à maioria dos modelos de inteligência artificial (IA). A rotulação de dados (ou anotação de dados) direcionada pode tornar o modelo de IA treinado mais alinhado aos objetivos e tarefas do usuário, melhorar a precisão do modelo e até mesmo ajudar o modelo a dar um salto qualitativo!
preview
A sazonalidade no mercado de moedas e suas possibilidades de uso

A sazonalidade no mercado de moedas e suas possibilidades de uso

Todo indivíduo moderno está familiarizado com o conceito de sazonalidade, por exemplo, todos nós estamos acostumados com o aumento dos preços de vegetais frescos no inverno ou o aumento do preço dos combustíveis durante fortes geadas, mas poucos sabem que existem padrões semelhantes no mercado de moedas.
preview
Regressão rede elástica usando descida de coordenadas no MQL5

Regressão rede elástica usando descida de coordenadas no MQL5

Neste artigo, exploraremos a implementação prática da regressão rede elástica (elastic net regularization) para minimizar o sobreajuste e, ao mesmo tempo, separar automaticamente preditores úteis daqueles que possuem pouca força preditiva.
preview
Algoritmos de otimização populacionais: Algoritmo de mudas, semeadura e crescimento (SSG)

Algoritmos de otimização populacionais: Algoritmo de mudas, semeadura e crescimento (SSG)

O algoritmo de “mudas, semeadura e crescimento” (Saplings Sowing and Growing up, SSG) é inspirado em um dos organismos mais resistentes do planeta, um exemplo notável de sobrevivência em inúmeras condições.
preview
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)

Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)

Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos como está organizando nosso código, os primeiros arquivos de cabeçalho e classes, e como escrever testes. Este artigo também inclui notas breves sobre o desenvolvimento orientado por testes (Test-Driven Development) e sua aplicação neste projeto.
preview
Gráficos na biblioteca DoEasy (Parte 100): Eliminando bugs ao trabalhar com objetos gráficos padrão estendidos

Gráficos na biblioteca DoEasy (Parte 100): Eliminando bugs ao trabalhar com objetos gráficos padrão estendidos

Hoje vamos retocar e eliminar falhas evidentes ao trabalhar com objetos gráficos estendidos (e padrão) e com objetos-formas na tela, além disso vamos consertar os erros observados durante os testes no último artigo. E assim vamos concluir esta seção da descrição da biblioteca.
preview
Redes neurais de maneira fácil (Parte 39): Go-Explore - uma abordagem diferente para exploração

Redes neurais de maneira fácil (Parte 39): Go-Explore - uma abordagem diferente para exploração

Continuamos com o tema da exploração do ambiente no aprendizado por reforço. Neste artigo, abordaremos mais um algoritmo, o Go-Explore, que permite explorar eficazmente o ambiente durante a fase de treinamento do modelo.
preview
Algoritmos de otimização populacionais: algoritmo de otimização de forrageamento bacteriano (BFO)

Algoritmos de otimização populacionais: algoritmo de otimização de forrageamento bacteriano (BFO)

A base da estratégia de forrageamento de E. coli (E. coli) inspirou cientistas a desenvolverem o algoritmo de otimização BFO. Esse algoritmo apresenta ideias originais e abordagens promissoras para otimização e merece um estudo mais aprofundado.
preview
Anotação de dados na análise de série temporal (Parte 3): Exemplo de uso de anotação de dados

Anotação de dados na análise de série temporal (Parte 3): Exemplo de uso de anotação de dados

Esta série de artigos apresenta várias técnicas destinadas a rotular séries temporais, técnicas essas que podem criar dados adequados à maioria dos modelos de inteligência artificial (IA). A rotulação de dados (ou anotação de dados) direcionada pode tornar o modelo de IA treinado mais alinhado aos objetivos e tarefas do usuário, melhorar a precisão do modelo e até mesmo ajudar o modelo a dar um salto qualitativo!
preview
Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)

Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)

As últimas 2 partes foram dedicadas ao método transformador de decisões (DT), que modela sequências de ações no contexto de um modelo autorregressivo de recompensas desejadas. Neste artigo, vamos considerar outro algoritmo de otimização deste método.
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 55): Controle interno contrastivo (CIC)

Redes neurais de maneira fácil (Parte 55): Controle interno contrastivo (CIC)

O aprendizado contrastivo é um método de aprendizado de representação sem supervisão. Seu objetivo é ensinar o modelo a identificar semelhanças e diferenças nos conjuntos de dados. Neste artigo, discutiremos o uso de abordagens de aprendizado contrastivo para explorar diferentes habilidades do Ator.