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 58): Voltando a trabalhar no serviço

Desenvolvendo um sistema de Replay (Parte 58): Voltando a trabalhar no serviço

Depois de ter dado um tempo no desenvolvimento e aperfeiçoamento do serviço usado no replay / simulação. Iremos voltar a trabalhar nele. Mas como já não iremos mais usar alguns recursos, como as variáveis globais de terminal, se torna necessário uma completa reestruturação de algumas partes do mesmo. Mas não fiquem aflitos, tal processo será adequadamente explicado, para que todos consigam de fato acompanhar o desenrolar do desenvolvimento do serviço.
preview
Redes neurais de maneira fácil (Parte 78): Detecção de objetos baseada em Transformador (DFFT)

Redes neurais de maneira fácil (Parte 78): Detecção de objetos baseada em Transformador (DFFT)

Neste artigo, proponho olhar a questão da construção de uma estratégia de trading de outra perspectiva. Em vez de prever o movimento futuro dos preços, tentaremos construir um sistema de trading baseado na análise de dados históricos.
preview
Ciência de dados e aprendizado de máquina (Parte 20): Escolha entre LDA e PCA em tarefas de algotrading no MQL5

Ciência de dados e aprendizado de máquina (Parte 20): Escolha entre LDA e PCA em tarefas de algotrading no MQL5

Neste artigo, vamos considerar métodos de redução de dimensionalidade e sua aplicação no ambiente de trading MQL5. Especificamente, vamos estudar as nuances da Análise Discriminante Linear (LDA) e da Análise de Componentes Principais (PCA), bem como analisar sua influência no desenvolvimento de estratégias e na análise de mercado.
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
Como criar um Consultor Especializado Multi-Moedas simples usando MQL5 (Parte 7): ZigZag com Sinais dos Indicadores Awesome Oscillator

Como criar um Consultor Especializado Multi-Moedas simples usando MQL5 (Parte 7): ZigZag com Sinais dos Indicadores Awesome Oscillator

O consultor especializado multi-moedas neste artigo é um consultor especializado ou negociação automatizada que usa o indicador ZigZag, filtrado com o Awesome Oscillator ou que filtram os sinais um do outro.
preview
Variáveis Avançadas e Tipos de Dados em MQL5

Variáveis Avançadas e Tipos de Dados em MQL5

Variáveis e tipos de dados são tópicos muito importantes não apenas na programação MQL5, mas também em qualquer linguagem de programação. As variáveis e tipos de dados em MQL5 podem ser categorizados como simples e avançados. Neste artigo, identificaremos e aprenderemos sobre os avançados, pois já mencionamos os simples em um artigo anterior.
preview
Introdução ao MQL5 (Parte 5): Um Guia para Iniciantes sobre Funções de Array em MQL5

Introdução ao MQL5 (Parte 5): Um Guia para Iniciantes sobre Funções de Array em MQL5

Explore o mundo dos arrays em MQL5 na Parte 5, projetado para iniciantes absolutos. Simplificando conceitos complexos de codificação, este artigo foca na clareza e inclusão. Junte-se à nossa comunidade de aprendizes, onde perguntas são bem-vindas e conhecimento é compartilhado!
preview
DoEasy. Controles (Parte 33): "ScrollBar" vertical

DoEasy. Controles (Parte 33): "ScrollBar" vertical

No artigo, continuaremos a desenvolver elementos gráficos da biblioteca DoEasy e incluir a rolagem vertical para os controles do objeto-forma. Também vamos adicionar algumas funções e métodos úteis que serão necessários no futuro.
preview
Compreendendo os Paradigmas de Programação (Parte 2): Uma Abordagem Orientada a Objetos para Desenvolver um Expert Advisor de Ação de Preço

Compreendendo os Paradigmas de Programação (Parte 2): Uma Abordagem Orientada a Objetos para Desenvolver um Expert Advisor de Ação de Preço

Aprenda sobre o paradigma de programação orientada a objetos e sua aplicação no código MQL5. Este segundo artigo aprofunda-se nas especificidades da programação orientada a objetos, oferecendo experiência prática através de um exemplo prático. Você aprenderá como converter nosso expert advisor de ação de preço procedural desenvolvido anteriormente usando o indicador EMA e dados de preços de velas para um código orientado a objetos.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 19): Supercharge Seus Modelos de IA com AdaBoost

Ciência de Dados e Aprendizado de Máquina (Parte 19): Supercharge Seus Modelos de IA com AdaBoost

AdaBoost, um poderoso algoritmo de boosting projetado para elevar o desempenho dos seus modelos de IA. AdaBoost, abreviação de Adaptive Boosting, é uma técnica sofisticada de aprendizado em conjunto que integra perfeitamente aprendizes fracos, aprimorando sua força preditiva coletiva.
preview
Inferência causal em problemas de classificação de séries temporais

Inferência causal em problemas de classificação de séries temporais

Neste artigo, examinaremos a teoria da inferência causal usando aprendizado de máquina, bem como a implementação de uma abordagem personalizada em Python. A inferência causal e o pensamento causal têm suas raízes na filosofia e psicologia e desempenham um papel importante na nossa compreensão da realidade.
preview
Indicador Customizado: Traçar os Pontos de Entradas Parciais em contas Netting

Indicador Customizado: Traçar os Pontos de Entradas Parciais em contas Netting

Nesse artigo, veremos uma forma interessante e diferente de construir um indicador em MQL5. Ao invés de focar em uma tendência ou padrão gráfico, será no gerenciamento de nossas próprias posições, nas entradas e saídas parciais. Usaremos intensivamente arrays dinâmicos e algumas funções de negociação (Trade) relacionadas a histórico de transações e a posições abertas, naturalmente, para indicar no gráfico onde ocorreram essas negociações.
preview
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 11): Paredes numéricas

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 11): Paredes numéricas

As paredes numéricas (Number Walls) são uma variante do registrador de deslocamento com realimentação linear (Linear Shift Back Registers), que avalia previamente sequências para previsibilidade verificando a convergência. Vamos ver como essas ideias podem ser usadas no MQL5.
preview
Redes neurais de maneira fácil (Parte 77): Cross-Covariance Transformer (XCiT)

Redes neurais de maneira fácil (Parte 77): Cross-Covariance Transformer (XCiT)

Em nossos modelos, frequentemente usamos vários algoritmos de atenção. E, provavelmente, usamos Transformadores com mais frequência. A principal desvantagem deles é a exigência de recursos. Neste artigo, quero apresentar um algoritmo que ajuda a reduzir os custos computacionais sem perda de qualidade.
preview
Do básico ao intermediário: Variáveis (II)

Do básico ao intermediário: Variáveis (II)

Neste artigo vamos ver como trabalhar com variáveis do tipo estática. Este tema é um que costuma confundir muitos programadores. Iniciantes e até mesmo com alguma experiência. Já que existem alguns cuidados e macetes a serem observado no uso de tal mecanismo. 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
Trailing-stop no trading

Trailing-stop no trading

Neste artigo, vamos analisar o uso do trailing-stop no trading, sua utilidade e praticidade, e como pode ser utilizado. A praticidade do trailing-stop depende muito da volatilidade do preço e da escolha do nível de stop-loss. Para a configuração do stop-loss, podem ser utilizados vários métodos.
preview
Desenvolvendo um sistema de Replay (Parte 57): Dissecando o serviço de testagem

Desenvolvendo um sistema de Replay (Parte 57): Dissecando o serviço de testagem

Neste artigo iremos dissecar o serviço de teste que foi visto no artigo anterior. Mas por conta que lá já havia muita informação, e não queria complicar a coisa toda com mais informações. Vamos fazer isto neste artigo daqui. Então se você não tem ideia de como o serviço que foi visto no artigo anterior, permitia que as coisas funcionassem daquela forma. Venha comigo neste artigo para compreender o que será base para os próximos artigos.
preview
Do básico ao intermediário: Variáveis (I)

Do básico ao intermediário: Variáveis (I)

Muitos programadores em inicio tem muitas dificuldades em compreender, por que seus códigos não funcionam como eles esperam. Existem muitos detalhes que torna um código de fato funcional. Não é somente digitar toda uma série de funções e operação que faz um código funciona. Então que tão aprender da maneira correta, como se cria um código real. Ao invés de ficar copiando e colando partes de código encontrados aqui e ali? 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
Rede neural na prática: Pseudo Inversa (II)

Rede neural na prática: Pseudo Inversa (II)

Por conta do fato, de que estes artigos visam a didática. E não para mostrar como implementar esta ou aquela funcionalidade. Vamos fazer algo um pouco diferente aqui. Em vez de mostrar como implementar a fatoração para conseguir a inversa de uma matriz. Vamos focar em como fatorar a pseudo inversa. O motivo é que não faz sentido, mostrar como fatorar algo de forma genérica. Se podemos fazer a mesma coisa de forma especializada. E melhor, será algo que você, conseguirá entender muito mais do por que as coisas serem como são. Então vamos ver por que um hardware aparece depois de um tempo, em substituição a um software.
preview
Multibot no MetaTrader (Parte II): Modelo dinâmico aprimorado

Multibot no MetaTrader (Parte II): Modelo dinâmico aprimorado

Desenvolvendo o tema do artigo anterior, decidi criar um modelo mais flexível e funcional que possui maiores capacidades e pode ser usado de forma eficaz tanto em freelancing quanto como base para o desenvolvimento de EAs multicurrency e multiperíodo com a capacidade de integrar com soluções externas.
preview
Operações baseadas em ângulos para traders

Operações baseadas em ângulos para traders

Este artigo abordará operações baseadas em ângulos. Vamos examinar métodos para construir ângulos e utilizá-los no trading.
preview
Usando algoritmos de otimização para configurar parâmetros de EA em tempo real

Usando algoritmos de otimização para configurar parâmetros de EA em tempo real

O artigo discute os aspectos práticos do uso de algoritmos de otimização para encontrar os melhores parâmetros de EA em tempo real, bem como a virtualização das operações de negociação e da lógica do EA. O artigo pode ser usado como instrução para implementar algoritmos de otimização em um EA.
preview
Construindo e testando sistemas de negociação com o Canal Keltner

Construindo e testando sistemas de negociação com o Canal Keltner

Neste artigo, tentaremos fornecer sistemas de negociação usando um conceito muito importante no mercado financeiro, que é a volatilidade. Forneceremos um sistema de negociação baseado no indicador Canal Keltner após compreendê-lo e como podemos codificá-lo e criar um sistema de negociação baseado em uma estratégia simples de negociação e testá-lo em diferentes ativos.
preview
Balanceando riscos ao negociar múltiplos instrumentos simultaneamente

Balanceando riscos ao negociar múltiplos instrumentos simultaneamente

Este artigo permitirá que um iniciante escreva uma implementação de um script do zero para balancear riscos ao negociar múltiplos instrumentos simultaneamente. Além disso, pode dar aos usuários experientes novas ideias para implementar suas soluções em relação às opções propostas neste artigo.
preview
Desenvolvendo um sistema de Replay (Parte 56): Adequando os Módulos

Desenvolvendo um sistema de Replay (Parte 56): Adequando os Módulos

Apesar dos módulos estarem se comunicando de maneira adequada, existe uma falha quando é tentado usar o indicador de mouse no serviço de replay. Precisamos corrigir isto agora, antes de dar o próximo passo. Além disto, havia uma falha que finalmente foi devidamente corrigida no código do indicador de mouse. Então esta versão finalmente se tornou estável, e devidamente finalizada.
preview
Introdução ao MQL5 (Parte 4): Estruturas, classes e funções de tempo

Introdução ao MQL5 (Parte 4): Estruturas, classes e funções de tempo

Nesta série, continuamos a desvendar os segredos da programação. No novo artigo, vamos estudar as bases das estruturas, classes e funções de tempo e adquirir novas habilidades para programação eficiente. Este guia pode ser útil não apenas para iniciantes, mas também para desenvolvedores experientes, pois simplifica conceitos complexos, fornecendo informações valiosas para dominar o MQL5. Continue aprendendo coisas novas, aperfeiçoe suas habilidades de programação e domine o mundo da negociação algorítmica.
preview
Desenvolvendo um EA multimoeda (Parte 3): Revisão da arquitetura

Desenvolvendo um EA multimoeda (Parte 3): Revisão da arquitetura

Nós já avançamos um pouco no desenvolvimento de um EA multimoeda com várias estratégias funcionando em paralelo. Com base na experiência acumulada, vamos revisar a arquitetura da nossa solução e tentar melhorá-la, antes que avancemos muito.
preview
Redes neurais de maneira fácil (Parte 76): explorando diversos modos de interação (Multi-future Transformer)

Redes neurais de maneira fácil (Parte 76): explorando diversos modos de interação (Multi-future Transformer)

Neste artigo, continuamos o tema de previsão do movimento de preços. E convido você a conhecer a arquitetura do Multi-future Transformer. A ideia principal é decompor a distribuição multimodal do futuro em várias distribuições unimodais, permitindo modelar eficientemente diversos modos de interação entre os agentes na cena.
preview
Desenvolvendo um EA multimoeda (Parte 2): Transição para posições virtuais de estratégias de trading

Desenvolvendo um EA multimoeda (Parte 2): Transição para posições virtuais de estratégias de trading

Vamos continuar a desenvolver o EA multimoeda com várias estratégias funcionando paralelamente. Tentaremos transferir todo o trabalho relacionado à abertura de posições a mercado do nível das estratégias para o nível do expert que gerencia as estratégias. As próprias estratégias irão negociar apenas virtualmente, sem abrir posições a mercado.
preview
Redes neurais de maneira fácil (Parte 75): aumentando a produtividade dos modelos de previsão de trajetórias

Redes neurais de maneira fácil (Parte 75): aumentando a produtividade dos modelos de previsão de trajetórias

Os modelos que estamos criando estão se tornando cada vez maiores e mais complexos. Com isso, aumentam os custos não apenas para o treinamento, mas também para a operação. Além disso, muitas vezes nos deparamos com situações em que o tempo de tomada de decisão é crítico. E, por isso, voltamos nossa atenção para métodos de otimização de desempenho dos modelos sem perder qualidade.
preview
Modelos de regressão da biblioteca Scikit-learn e sua exportação para ONNX

Modelos de regressão da biblioteca Scikit-learn e sua exportação para ONNX

Neste artigo, exploraremos a aplicação de modelos de regressão do pacote Scikit-learn, tentaremos convertê-los para o formato ONNX e usaremos os modelos resultantes em programas MQL5. Além disso, compararemos a precisão dos modelos originais com suas versões ONNX para ambas as precisões float e double. Além disso, examinaremos a representação ONNX dos modelos de regressão, com o objetivo de fornecer uma melhor compreensão de sua estrutura interna e princípios operacionais.
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: 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
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
Redes neurais de maneira fácil (Parte 74): previsão adaptativa de trajetórias

Redes neurais de maneira fácil (Parte 74): previsão adaptativa de trajetórias

Proponho a você conhecer um método bastante eficaz de previsão de trajetórias multiagentes, que é capaz de se adaptar a diferentes condições ambientais.
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
Tipo de desenho DRAW_ARROW em indicadores multissímbolos e multiperíodos

Tipo de desenho DRAW_ARROW em indicadores multissímbolos e multiperíodos

No artigo, vamos considerar o desenho de indicadores multissímbolos e multiperíodos com setas. Aprimoraremos os métodos da classe para a correta exibição das setas, que exibem dados dos indicadores de seta calculados em símbolo/período diferentes do símbolo/período do gráfico atual.
preview
Redes neurais de maneira fácil (Parte 73): AutoBots para previsão de movimentos de preço

Redes neurais de maneira fácil (Parte 73): AutoBots para previsão de movimentos de preço

Continuamos a análise dos algoritmos de aprendizado de modelos de previsão de trajetórias. E neste artigo, proponho que você conheça o método chamado “AutoBots”.
preview
Algoritmos de otimização populacionais: algoritmo genético binário (Binary Genetic Algorithm, BGA). Parte I

Algoritmos de otimização populacionais: algoritmo genético binário (Binary Genetic Algorithm, BGA). Parte I

Neste artigo, vamos realizar um estudo sobre vários métodos aplicados em algoritmos genéticos binários e outros algoritmos populacionais. Vamos examinar os componentes principais do algoritmo, como seleção, crossover e mutação, bem como seu impacto no processo de otimização. Além disso, vamos explorar as formas de representação de informações e seu impacto nos resultados de otimização.
preview
Desenvolvimento e teste de sistemas de negociação Aroon

Desenvolvimento e teste de sistemas de negociação Aroon

Nesta artigo, aprenderemos como construir um sistema de negociação Aroon, estudando os fundamentos dos indicadores e as etapas necessárias para criar um sistema de negociação baseado no indicador Aroon. Depois de criar este sistema de negociação, verificaremos se ele pode ser lucrativo ou se necessita de otimização adicional.