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 EA multimoeda (Parte 9): Coleta dos resultados de otimização de instâncias individuais da estratégia de trading

Desenvolvendo um EA multimoeda (Parte 9): Coleta dos resultados de otimização de instâncias individuais da estratégia de trading

Vamos delinear as principais etapas para o desenvolvimento do nosso EA. Uma das primeiras será realizar a otimização de uma instância individual da estratégia de trading desenvolvida. Tentaremos reunir em um único lugar todas as informações necessárias sobre as execuções do testador durante a otimização.
Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos
Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos

Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos

Com este artigo, começaremos o desenvolvimento de uma classe-coleção de objetos-gráficos que armazenará uma lista-coleção de objetos-gráficos com suas subjanelas e indicadores, e tornará possível trabalhar com gráficos selecionados e suas subjanelas, ou com uma lista de vários gráficos ao mesmo tempo.
preview
Indicadores adaptativos

Indicadores adaptativos

Neste artigo, exploraremos diferentes enfoques para desenvolver indicadores adaptativos. Esses indicadores se destacam pelo uso de feedback entre as entradas e saídas, o que permite que eles se adaptem de forma autônoma para processar séries temporais financeiras de forma eficiente.
preview
Desenvolvimento de robô em Python e MQL5 (Parte 1): Pré-processamento de dados

Desenvolvimento de robô em Python e MQL5 (Parte 1): Pré-processamento de dados

Esse será um guia detalhado sobre como desenvolver um robô de trading baseado em aprendizado de máquina. Realizaremos a coleta e preparação de dados e características. Para a execução do projeto, utilizaremos a linguagem de programação Python e bibliotecas, bem como a plataforma MetaTrader 5.
preview
Data Science e Machine Learning (Parte 23): Por que o LightGBM e o XGBoost superam muitos modelos de IA?

Data Science e Machine Learning (Parte 23): Por que o LightGBM e o XGBoost superam muitos modelos de IA?

Essas técnicas avançadas de árvores de decisão com boosting de gradiente oferecem desempenho superior e flexibilidade, tornando-as ideais para modelagem financeira e trading algorítmico. Aprenda como aproveitar essas ferramentas para otimizar suas estratégias de trading, melhorar a precisão preditiva e ganhar uma vantagem competitiva nos mercados financeiros.
preview
Previsão usando modelos ARIMA em MQL5

Previsão usando modelos ARIMA em MQL5

Neste artigo, continuamos a desenvolver a classe CArima para construir modelos ARIMA adicionando métodos de previsão intuitivos.
preview
Como desenvolver um sistema de negociação baseado no indicador Índice de Vigor Relativo

Como desenvolver um sistema de negociação baseado no indicador Índice de Vigor Relativo

Um novo artigo em nossa série sobre como desenvolver um sistema de negociação pelo indicador técnico mais popular. Neste artigo, nós aprenderemos como fazer isso pelo indicador Índice de Vigor Relativo.
preview
Combinatória e teoria da probabilidade para negociação (Parte V): análise de curva

Combinatória e teoria da probabilidade para negociação (Parte V): análise de curva

Neste artigo, explorei as possibilidades de reduzir amostras multiestado complexas a amostras simples de estado duplo. O objetivo principal é obter uma análise e umas conclusões que possam ajudar no desenvolvimento de algoritmos de negociação escaláveis baseados na teoria da probabilidade. Naturalmente, a matemática também está envolvida, mas dada a experiência de artigos anteriores, vejo que informações mais gerais são muito mais úteis do que detalhes.
preview
Redes neurais de retropropagação em matrizes MQL5

Redes neurais de retropropagação em matrizes MQL5

Este artigo trata da teoria e prática do uso do algoritmo de retropropagação de erros no MQL5 através de matrizes. Oferecemos classes prontas e exemplos de scripts, indicadores e EAs.
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte II)
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte II)

Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte II)

Nesse artigo o autor continua a analisar algoritmos de implementação dos sistemas de negociação mais simples e descreve alguns detalhes relevantes da utilização dos resultados de otimização. O artigo será útil para investidores iniciantes e desenvolvedores de EA.
preview
Modelos prontos para integrar indicadores nos Expert Advisors (Parte 3): Indicadores de tendência

Modelos prontos para integrar indicadores nos Expert Advisors (Parte 3): Indicadores de tendência

Neste artigo de referência, vamos dar uma olhada nos indicadores padrão da categoria Indicadores de tendência. Criaremos modelos prontos a serem usados em Expert Advisors, modelos esses que incluirão: declaração e configuração de parâmetros, inicialização/desinicialização de indicadores e recuperação de dados/sinais a partir de buffers de indicador em EAs.
preview
Validação cruzada combinatoriamente simétrica no MQL5

Validação cruzada combinatoriamente simétrica no MQL5

Neste artigo veremos como implementar a verificação cruzada combinatoriamente simétrica no MQL5 puro para medir o grau de ajuste após a otimização de uma estratégia usando o algoritmo completo e lento do testador de estratégias.
preview
Aprendendo MQL5 do iniciante ao profissional (Parte II): Tipos de dados básicos e uso de variáveis

Aprendendo MQL5 do iniciante ao profissional (Parte II): Tipos de dados básicos e uso de variáveis

Continuação da série para iniciantes. Aqui veremos como criar constantes e variáveis, registrar datas, cores e outros dados úteis. Aprenderemos a criar enumerações como dias da semana ou estilos de linha (contínua, tracejada etc.). Variáveis e expressões são a base da programação. Elas estão em 99% dos programas, portanto é fundamental entendê-las. Se você é novato em programação, este é um bom ponto de partida. Se o nível de conhecimento em programação é muito básico, conforme meu artigo anterior (link no início).
Trabalhando com séries temporais na biblioteca DoEasy (Parte 48): indicadores multissímbolos multiperíodos num buffer de uma subjanela
Trabalhando com séries temporais na biblioteca DoEasy (Parte 48): indicadores multissímbolos multiperíodos num buffer de uma subjanela

Trabalhando com séries temporais na biblioteca DoEasy (Parte 48): indicadores multissímbolos multiperíodos num buffer de uma subjanela

Neste artigo consideraremos um exemplo que mostra como criar indicadores padrão multissímbolos e multiperíodos que usam um buffer de indicador e funcionam numa subjanela do gráfico principal. Prepararemos classes da biblioteca para trabalhar com indicadores padrão que funcionam na janela principal do programa, ou que tenham mais de um buffer para exibir seus dados.
Como desenvolver um sistema de negociação baseado no indicador Momentum
Como desenvolver um sistema de negociação baseado no indicador Momentum

Como desenvolver um sistema de negociação baseado no indicador Momentum

No meu artigo anterior, eu mencionei a importância de identificar a tendência que é a direção dos preços. Neste artigo, eu compartilharei um dos conceitos e indicadores mais importantes que é o indicador Momentum. Eu compartilharei como desenvolver um sistema de negociação com base no indicador Momentum.
preview
Teste e otimização de estratégias para opções binárias no MetaTrader 5

Teste e otimização de estratégias para opções binárias no MetaTrader 5

Testamos e otimizamos estratégias de opções binárias no MetaTrader 5.
preview
Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 1): Sinais baseados no ADX em combinação com o Parabolic SAR

Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 1): Sinais baseados no ADX em combinação com o Parabolic SAR

Neste artigo, por EA multimoeda, entendemos um Expert Advisor ou robô de negociação capaz de negociar (abrir/fechar ordens, gerenciar ordens, etc.) mais de um par de símbolos a partir de um único gráfico.
preview
Testes de permutação de Monte Carlo no MetaTrader 5

Testes de permutação de Monte Carlo no MetaTrader 5

Este artigo explora o uso de testes de permutação, aplicando-os a qualquer Expert Advisor através da reorganização de dados de ticks, recorrendo exclusivamente aos recursos disponíveis no MetaTrader 5.
preview
Experiências com redes neurais (Parte 1): Lembrando a geometria

Experiências com redes neurais (Parte 1): Lembrando a geometria

As redes neurais são tudo para nós. Vamos ver se isso é verdade na prática. Para tal, vamos fazer experiências e adotar abordagens não-convencionais. Vamos escrever também um sistema de negociação lucrativo. A explicação vai ser simples.
preview
Criação de Previsões de Séries Temporais Usando Redes Neurais LSTM: Normalizando Preço e Tokenizando o Tempo

Criação de Previsões de Séries Temporais Usando Redes Neurais LSTM: Normalizando Preço e Tokenizando o Tempo

Este artigo descreve uma estratégia simples para normalizar os dados de mercado usando o intervalo diário e treinar uma rede neural para aprimorar as previsões de mercado. Os modelos desenvolvidos podem ser utilizados em conjunto com estruturas de análise técnica existentes ou de forma independente para auxiliar na previsão da direção geral do mercado. A estrutura delineada neste artigo pode ser ainda mais refinada por qualquer analista técnico para desenvolver modelos adequados para estratégias de negociação manuais e automatizadas.
preview
Estratégia de negociação RSI Deep Three Move

Estratégia de negociação RSI Deep Three Move

Este artigo apresenta a estratégia de negociação RSI Deep Three Move no MetaTrader 5. O artigo é baseado em uma nova série de pesquisas que demonstram vários métodos de negociação com base no RSI, que é um indicador técnico para medir a força e o impulso de ativos financeiros, incluindo ações, moedas e commodities.
preview
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 05): cadeias de Markov

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 05): cadeias de Markov

As cadeias de Markov são uma poderosa ferramenta matemática que pode ser usada para modelar e prever dados de séries temporais em vários campos, incluindo finanças. Na modelagem e previsão de séries temporais financeiras, as cadeias de Markov são frequentemente usadas para modelar a evolução de ativos financeiros ao longo do tempo, ativo esses como preços de ações ou pares de moedas. Uma das principais vantagens dos modelos das cadeias de Markov é sua simplicidade e facilidade de uso.
preview
Do básico ao intermediário: Template e Typename (I)

Do básico ao intermediário: Template e Typename (I)

Aqui neste artigo, começaremos a lidar com um dos conceitos, que muitos iniciantes evitam. Isto por conta de que, templates, não é um assunto que podemos dizer, ser simples de entender e utilizar. Já que muitos não compreendem o princípio básico que se encontra por baixo do que seria um template. Que é justamente a sobrecarga de funções e procedimentos.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 56): objeto de indicador personalizado, obtenção de dados a partir de objetos-indicadores numa coleção

Trabalhando com séries temporais na biblioteca DoEasy (Parte 56): objeto de indicador personalizado, obtenção de dados a partir de objetos-indicadores numa coleção

Neste artigo, veremos a criação de um objeto de indicador personalizado para ser usado em Expert Advisors. Vamos modificar ligeiramente as classes da biblioteca e escrever métodos para receber dados desde objetos-indicadores em Expert Advisors.
preview
Avaliando modelos ONNX usando métricas de regressão

Avaliando modelos ONNX usando métricas de regressão

A regressão é uma tarefa de prever um valor real a partir de um exemplo não rotulado. Para avaliar a precisão das previsões de modelos de regressão, são utilizadas as chamadas métricas de regressão.
Trabalhando com preços na biblioteca DoEasy (Parte 61): coleção de séries de ticks para símbolos
Trabalhando com preços na biblioteca DoEasy (Parte 61): coleção de séries de ticks para símbolos

Trabalhando com preços na biblioteca DoEasy (Parte 61): coleção de séries de ticks para símbolos

Visto que diferentes símbolos podem ser usados durante a operação do programa, é necessário criar uma lista própria para cada um deles. Hoje vamos combinar essas listas numa coleção de dados de ticks. Na verdade, irá tratar-se de uma lista normal baseada numa classe de array dinâmico de ponteiros para instâncias da classe CObject e seus herdeiros da Biblioteca Padrão.
Pesquisa: Estimativa de operadores que utilizam o Terminal Móvel
Pesquisa: Estimativa de operadores que utilizam o Terminal Móvel

Pesquisa: Estimativa de operadores que utilizam o Terminal Móvel

Infelizmente, não há projeções claras disponíveis neste momento sobre o futuro do trading móvel. No entanto, há uma série de especulações em torno deste assunto. Em nossa tentativa de resolver essa ambiguidade decidimos realizar uma pesquisa entre os operadores para saber suas opiniões sobre nossos terminais móveis. Através dos esforços desta pesquisa, conseguimos estabelecer uma imagem clara do que os nossos clientes pensam sobre o produto, bem como os seus pedidos e desejos em desenvolvimentos futuros de nossos terminais móveis.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick
Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick

Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick

Com este artigo, vamos começar a criar a funcionalidade de biblioteca para trabalhar com dados de preços. Hoje vamos criar uma classe de objeto que armazenará todos os dados de preços recebidos no tick a seguir.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 25): Preparação para a próxima etapa

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 25): Preparação para a próxima etapa

Aqui neste artigo iremos finalizar a primeira etapa do desenvolvimento do sistema de replay / simulador. Ao finalizar esta etapa, estou dizendo a você, caro leitor, que o sistema já estará em um estágio avançado o suficiente para que novas funcionalidades possam de fato serem implementadas. Isto a fim de tornar o sistema ainda mais elaborado e mais útil para efetuar estudos e desenvolver conceitos de analise de mercado.
preview
Tutorial DirectX (Parte I): Desenhando o primeiro triângulo

Tutorial DirectX (Parte I): Desenhando o primeiro triângulo

Este é um artigo introdutório sobre o DirectX, que descreve as especificidades da operação com a API. Ele deve ajudar a entender a ordem em que seus componentes são inicializados. O artigo contém um exemplo de como escrever um script MQL5 que renderiza um triângulo usando o DirectX.
preview
Gráficos na biblioteca DoEasy (Parte 98): Movendo pontos de ancoragem de objetos gráficos padrão estendidos

Gráficos na biblioteca DoEasy (Parte 98): Movendo pontos de ancoragem de objetos gráficos padrão estendidos

Neste artigo, continuaremos a desenvolver objetos gráficos padrão estendidos e criaremos uma funcionalidade que move os pontos de ancoragem de objetos gráficos compostos por meio de pontos de controle usados para gerir as coordenadas dos pontos de ancoragem do objeto gráfico em questão.
Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo
Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo

Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo

Neste artigo, criaremos uma lista para armazenar dados de tick de um símbolo e verificaremos tal criação e respectiva recepção de dados a partir dela no EA. Essas listas de dados de tick - separadamente para cada símbolo usado - formarão uma coleção de dados de tick.
preview
Simulação de mercado (Parte 02): Cross Order (II)

Simulação de mercado (Parte 02): Cross Order (II)

Diferente do que foi visto no artigo anterior, aqui vamos fazer o controle de seleção no Expert Advisor. Porém, esta não é uma solução ainda definitiva. Mas irá nos atender por hora. Então acompanhe o artigo para entender como implementar uma das soluções possíveis.
Negociações com o uso do Linux
Negociações com o uso do Linux

Negociações com o uso do Linux

O artigo descreve como usar indicadores para monitorar a situação dos mercados financeiros online.
O padrão de design MVC e suas possibilidades de uso (Parte 2): Esquema de interação entre três componentes
O padrão de design MVC e suas possibilidades de uso (Parte 2): Esquema de interação entre três componentes

O padrão de design MVC e suas possibilidades de uso (Parte 2): Esquema de interação entre três componentes

Este artigo dá continuação e complemento ao tópico que vimos no artigo anterior, isto é, ao padrão MVC em programas escritos em MQL. Neste artigo, estudaremos um possível esquema de interação entre esses três componentes.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 07): Primeiras melhorias (II)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 07): Primeiras melhorias (II)

No artigo anterior fizemos a correção de alguns pontos, e adicionamos alguns testes no nosso sistema de replay, estes tentam garantir a maior estabilidade quanto for possível obter, ao mesmo tempo iniciamos a criação e o uso de um arquivo de configuração para o sistema de replay.
preview
O modelo de movimento dos preços e suas principais disposições (Parte 1): A versão do modelo mais simples e suas aplicações

O modelo de movimento dos preços e suas principais disposições (Parte 1): A versão do modelo mais simples e suas aplicações

O artigo fornece os fundamentos de um movimento de preços matematicamente rigoroso e a teoria do funcionamento do mercado. Até o presente, nós não tivemos nenhuma teoria de movimento de preços matematicamente rigorosa. Em vez disso, nós tivemos que lidar com as suposições baseadas na experiência, afirmando que o preço se move de uma certa maneira após um determinado padrão. É claro que essas suposições não foram apoiadas nem pela estatística e nem pela teoria.
preview
Como desenvolver um sistema de negociação baseado no indicador Alligator

Como desenvolver um sistema de negociação baseado no indicador Alligator

Neste artigo, completaremos nossa série sobre como projetar um sistema de negociação baseado no indicador técnico mais popular. Nós aprenderemos como criar um sistema de negociação baseado no indicador Alligator.
preview
Implementando o fator Janus em MQL5

Implementando o fator Janus em MQL5

Gary Anderson desenvolveu um método de análise de mercado baseado em uma teoria que chamou de fator Janus. Essa teoria descreve um conjunto de indicadores que podem ser usados ​​para identificar tendências e avaliar o risco de mercado. Neste artigo, vamos implementar essas ferramentas no MQL5.
Um assistente de investidores com base em análise MACD estendida
Um assistente de investidores com base em análise MACD estendida

Um assistente de investidores com base em análise MACD estendida

O script 'Trader's Assistant' (assistente de investidores) ajuda você a tomar uma decisão sobre posições de abertura, com base na análise estendida do estado MACD para as últimas três barras na negociação em tempo real, em qualquer período de tempo. Ele também pode ser usado para testes de fundo.