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 - Simulação de mercado (Parte 13): Nascimento do SIMULADOR (III)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 13): Nascimento do SIMULADOR (III)

Aqui iremos dar uma leve otimizada nas coisas. Isto para facilitar o que iremos fazer no próximo artigo. Mas também irei explicar como você pode visualizar o que o simulador está gerando em termos de aleatoriedade.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 14): Nascimento do SIMULADOR (IV)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 14): Nascimento do SIMULADOR (IV)

Neste artigo continuaremos a fase de desenvolvimento do simulador. Mas agora, vamos ver como criar de fato um movimento do tipo RANDOM WALK. Este tipo de movimentação é muito interessante, pois tudo envolvido no mercado de capitais tem como base este tipo de movimentação. Além do mais você vai começar a entender alguns conceitos importantes para quem faz estáticas de mercado.
preview
Criando uma Interface Gráfica de Usuário Interativa no MQL5 (Parte 1): Criando o Painel

Criando uma Interface Gráfica de Usuário Interativa no MQL5 (Parte 1): Criando o Painel

Este artigo explora os passos fundamentais para criar e implementar um painel de Interface Gráfica de Usuário (GUI) utilizando a Linguagem MetaQuotes 5 (MQL5). Painéis utilitários personalizados melhoram a interação do usuário no trading, simplificando tarefas comuns e visualizando informações essenciais de trading. Ao criar painéis personalizados, os traders podem otimizar seu fluxo de trabalho e economizar tempo durante as operações de trading.
preview
DoEasy. Controles (Parte 27): Continuamos a trabalhar no objeto WinForms "ProgressBar"

DoEasy. Controles (Parte 27): Continuamos a trabalhar no objeto WinForms "ProgressBar"

Neste artigo, continuaremos desenvolvendo o controle ProgressBar. Criaremos a funcionalidade para gerenciar a barra de progresso e os efeitos visuais.
preview
Redes neurais de maneira fácil (Parte 84): normalização reversível (RevIN)

Redes neurais de maneira fácil (Parte 84): normalização reversível (RevIN)

Há muito já aprendemos que o pré-processamento dos dados brutos desempenha um grande papel na estabilidade do treinamento do modelo. E, para o processamento online de dados "brutos", frequentemente usamos a camada de normalização em lote. No entanto, às vezes surge a necessidade de um procedimento inverso. Um dos possíveis métodos para resolver tais tarefas é discutido neste artigo.
preview
Algoritmos de otimização populacional: simulação de têmpera (Simulated Annealing, SA). Parte I

Algoritmos de otimização populacional: simulação de têmpera (Simulated Annealing, SA). Parte I

O algoritmo de simulação de têmpera é uma metaheurística inspirada no processo de têmpera de metais. Neste artigo, realizaremos uma análise detalhada do algoritmo e mostraremos como muitas concepções comuns e mitos em torno deste método de otimização popular e amplamente conhecido podem ser equivocados e incompletos. Anúncio da segunda parte do artigo: "Conheça nosso algoritmo autoral de simulação de têmpera isotrópica (Simulated Isotropic Annealing, SIA)!"
preview
Arbitragem triangular com previsões

Arbitragem triangular com previsões

Este artigo simplifica a arbitragem triangular, mostrando como usar previsões e softwares especializados para negociar moedas de forma mais inteligente, mesmo se você for novo no mercado. Pronto para negociar com expertise?
preview
Preparação de indicadores com vários símbolos/períodos

Preparação de indicadores com vários símbolos/períodos

Neste artigo, examinaremos os princípios para criar indicadores com vários símbolos/períodos e recuperar dados deles dentro de EAs e indicadores. Veremos as nuances mais importantes ao usar multi-indicadores em EAs e indicadores, e sua plotagem mediante buffers de indicador personalizado.
preview
Criação de um Expert Advisor simples em várias moedas usando MQL5 (Parte 4): Média móvel triangular — Sinais do indicador

Criação de um Expert Advisor simples em várias moedas usando MQL5 (Parte 4): Média móvel triangular — Sinais do indicador

Neste artigo, por EA multimoeda, entendemos um robô investidor, ou um robô de negociação, 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. Desta vez, usaremos apenas um indicador, em particular a média móvel triangular em um ou mais timeframes, ou escalas de tempo.
preview
Desenvolvimento de um sistema de negociação baseado no Índice de Facilitação do Mercado de Bill Williams

Desenvolvimento de um sistema de negociação baseado no Índice de Facilitação do Mercado de Bill Williams

Este é um novo artigo de uma série na qual aprendemos a desenvolver sistemas de negociação baseados em indicadores técnicos conhecidos. Neste novo artigo, analisamos o Índice de Facilitação do Mercado (Market Facilitation Index, MFI), criado por Bill Williams.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 15): Nascimento do SIMULADOR (V) - RANDOM WALK

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 15): Nascimento do SIMULADOR (V) - RANDOM WALK

Neste artigo iremos finalizar a fase, onde estamos desenvolvendo o simulador para o nosso sistema. O principal proposito aqui será ajustar o algoritmo visto no artigo anterior. Tal algoritmo tem como finalidade criar o movimento de RANDOM WALK. Por conta disto, o entendimento do conteúdo dos artigos anteriores, é primordial para acompanhar o que será explicado aqui. Se você não acompanhou o desenvolvimento do simulador, aconselho você a ver esta sequência desde o inicio. Caso contrário, poderá ficar perdido no que será explicado aqui.
preview
Como desenvolver um sistema de negociação baseado no indicador Awesome Oscilador

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

Neste novo artigo da nossa série, nós aprenderemos sobre uma nova ferramenta técnica que pode ser útil em nossas negociações e ele é o indicador Awesome Oscillator (AO). Nós aprenderemos como desenvolver um sistema de negociação por este indicador.
preview
Implementação do teste aumentado de Dickey-Fuller no MQL5

Implementação do teste aumentado de Dickey-Fuller no MQL5

Neste artigo, vamos mostrar como implementar o teste aumentado de Dickey-Fuller e sua aplicação para realizar testes de cointegração usando o método de Engle-Granger.
preview
Ciência de dados e Aprendizado de Máquina (parte 10): Regressão de Ridge

Ciência de dados e Aprendizado de Máquina (parte 10): Regressão de Ridge

A regressão de Ridge é uma técnica simples para reduzir a complexidade do modelo e evitar o ajuste excessivo que pode resultar da regressão linear simples
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
Criando um Limitador de Drawdown Diário EA em MQL5

Criando um Limitador de Drawdown Diário EA em MQL5

O artigo discute, de forma detalhada, como implementar a criação de um Expert Advisor (EA) baseado no algoritmo de negociação. Isso ajuda a automatizar o sistema em MQL5 e a controlar o Drawdown Diário.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 54): classes herdeiras do indicador base abstrato

Trabalhando com séries temporais na biblioteca DoEasy (Parte 54): classes herdeiras do indicador base abstrato

Neste artigo, analisaremos a criação de classes de objetos herdeiros do indicador base abstrato. Esses objetos nos darão acesso à capacidade de criar EAs de indicador, coletar e receber estatísticas sobre valores de dados de diferentes indicadores e preços. Também criaremos uma coleção de objetos-indicadores a partir da qual será possível acessar as propriedades e dados de cada indicador criado no programa.
preview
Redes neurais de maneira fácil (Parte 47): Espaço contínuo de ações

Redes neurais de maneira fácil (Parte 47): Espaço contínuo de ações

Neste artigo, estamos ampliando o escopo das tarefas do nosso agente. No processo de treinamento, incluiremos alguns aspectos de gerenciamento de dinheiro e risco, que são partes integrantes de qualquer estratégia de negociação.
preview
Simulação de mercado (Parte 19): Iniciando o SQL (II)

Simulação de mercado (Parte 19): Iniciando o SQL (II)

Como eu disse no primeiro artigo sobre SQL, não faz sentido você perder tempo, programado rotinas e mais rotinas a fim de conseguir, gerar ou produzir algo que o próprio SQL já contém. Porém sem saber o básico do básico, você não conseguirá fazer nada em SQL, a fim de aproveitar de alguma forma o que esta ferramenta tem a nos oferecer. Sendo assim, aqui neste artigo iremos ver como fazer para conseguir executar tarefas primordiais a serem feitas em bancos de dados.
preview
Redes neurais de maneira fácil (Parte 85): previsão multidimensional de séries temporais

Redes neurais de maneira fácil (Parte 85): previsão multidimensional de séries temporais

Neste artigo, quero apresentar a vocês um novo método abrangente de previsão de séries temporais, que combina harmoniosamente as vantagens dos modelos lineares e dos transformers.
Terminal Service Client. Como tornar o Pocket PC um amigo do Big Brother
Terminal Service Client. Como tornar o Pocket PC um amigo do Big Brother

Terminal Service Client. Como tornar o Pocket PC um amigo do Big Brother

O artigo descreve como conectar o PC remoto com o MT4 Client Terminal instalado via PDA.
preview
Redes neurais de maneira fácil (Parte 61): O problema do otimismo no aprendizado por reforço off-line

Redes neurais de maneira fácil (Parte 61): O problema do otimismo no aprendizado por reforço off-line

Durante o aprendizado off-line, otimizamos a política do Agente com base nos dados da amostra de treinamento. A estratégia resultante confere ao Agente confiança em suas ações. Mas, essa confiança nem sempre é justificada, já que pode acarretar maiores riscos durante a utilização prática do modelo. Hoje vamos examinar um dos métodos para reduzir esses riscos.
preview
Desenvolvendo um sistema de Replay (Parte 65): Dando play no serviço (VI)

Desenvolvendo um sistema de Replay (Parte 65): Dando play no serviço (VI)

Aqui neste artigo mostrarei como faremos para conseguir implementar o avanço rápido, assim como também resolveremos o problema do indicador de mouse, quando este está sendo usando junto com a aplicação de replay / simulação. 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.
A ociosidade é o estímulo do progresso. Marcação semiautomática de um modelo
A ociosidade é o estímulo do progresso. Marcação semiautomática de um modelo

A ociosidade é o estímulo do progresso. Marcação semiautomática de um modelo

Entre as dezenas de exemplos de como trabalhar com gráficos, há um método de marcação manual de um modelo. Linhas de tendência, canais, níveis de suporte/resistência etc. são impostos em um gráfico. Com certeza, há alguns programas especiais para esse tipo de trabalho. Todo mundo decide sobre qual método usar. Neste artigo, ofereço uma opção para você considerar de métodos de marcação manual com a automatização subsequente de alguns elementos das ações de rotina repetidas.
preview
Estratégia de negociação no indicador de reconhecimento apurado de velas Doji

Estratégia de negociação no indicador de reconhecimento apurado de velas Doji

O indicador baseado em metabarras detecta mais velas do que o clássico baseado em barras únicas. Vamos ver se ele oferece benefícios reais na negociação automatizada.
preview
Modelos prontos para integrar indicadores nos Expert Advisors (Parte 2): Indicadores de volume e Bill Williams

Modelos prontos para integrar indicadores nos Expert Advisors (Parte 2): Indicadores de volume e Bill Williams

Neste artigo, examinaremos os indicadores padrão das categorias Volumes e Bill Williams. 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
Redes neurais de maneira fácil (Parte 86): Transformador em forma de U

Redes neurais de maneira fácil (Parte 86): Transformador em forma de U

Continuamos a analisar algoritmos de previsão de séries temporais. E neste artigo, proponho que você conheça o método U-shaped Transformer.
preview
Experiências com redes neurais (Parte 3): Uso pratico

Experiências com redes neurais (Parte 3): Uso pratico

As redes neurais são tudo para nós. E vamos verificar na prática se é assim, indagando se MetaTrader 5 é uma ferramenta autossuficiente para implementar redes neurais na negociação. A explicação vai ser simples.
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte III)
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte III)

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

Nesse artigo o autor continua a analisar algoritmos de implementação dos sistemas de negociação mais simples e introduz a automação de simulações. O artigo será útil para investidores iniciantes e desenvolvedores de EA.
preview
Perceptron Multicamadas e o Algoritmo Backpropagation (Parte 3): Integrando ao Testador de estratégias - Visão Geral (I)

Perceptron Multicamadas e o Algoritmo Backpropagation (Parte 3): Integrando ao Testador de estratégias - Visão Geral (I)

O perceptron multicamadas é uma evolução do perceptron simples, capaz de resolver problemas não linearmente separáveis. Juntamente com o algoritmo backpropagation, é possível treinar essa rede neural de forma eficiente. Na terceira parte da série sobre perceptron multicamadas e backpropagation, vamos mostrar como integrar essa técnica ao testador de estratégias. Essa integração permitirá a utilização de análise de dados complexos e melhores decisões para otimizar as estratégias de negociação. Nesta visão geral, discutiremos as vantagens e os desafios da implementação desta técnica.
preview
Ciência de Dados e Aprendizado de Máquina — Redes Neurais (Parte 02): Arquitetura das Redes Neurais Feed Forward

Ciência de Dados e Aprendizado de Máquina — Redes Neurais (Parte 02): Arquitetura das Redes Neurais Feed Forward

Há detalhes a serem abordadas na rede neural feed-forward antes de finalizarmos este assunto, a arquitetura é uma delas. Vamos ver como nós podemos construir e desenvolver uma rede neural flexível para as nossas entradas, o número de camadas ocultas e os nós para cada rede.
preview
Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 6): Dois indicadores RSI cruzam suas linhas

Criando um Expert Advisor simples multimoeda usando MQL5 (Parte 6): Dois indicadores RSI cruzam suas linhas

Por Expert Advisor multimoeda, nesta seção, entende-se um EA ou robô de trading que utiliza dois indicadores RSI com linhas cruzadas, isto é, um RSI rápido que cruza um RSI lento.
preview
Matrix Utils, estendendo as matrizes e a funcionalidade da biblioteca padrão de vetores

Matrix Utils, estendendo as matrizes e a funcionalidade da biblioteca padrão de vetores

As matrizes servem como base para os algoritmos de aprendizado de máquina e computação em geral devido à sua capacidade de lidar efetivamente com grandes operações matemáticas. A biblioteca padrão tem tudo o que é necessário, mas vamos ver como podemos estendê-la introduzindo várias funções no arquivo utils, ainda não disponível na biblioteca
preview
Redes neurais de maneira fácil (Parte 14): Agrupamento de dados

Redes neurais de maneira fácil (Parte 14): Agrupamento de dados

Devo confessar que já se passou mais de um ano desde que o último artigo foi publicado. Em um período tão longo como esse, é possível reconsiderar muitas coisas, desenvolver novas abordagens. E neste novo artigo, gostaria de me afastar um pouco do método de aprendizado supervisionado usado anteriormente, e sugerir um pouco de mergulho nos algoritmos de aprendizado não supervisionado. E, em particular, desejaria analisar um dos algoritmos de agrupamento, o k-médias (k-means).
preview
Teoria das Categorias em MQL5 (Parte 14): funtores com ordem linear

Teoria das Categorias em MQL5 (Parte 14): funtores com ordem linear

Este artigo, parte de uma série de artigos sobre a implementação da teoria das categorias no MQL5, é dedicado aos funtores. Vamos explorar como a ordem linear pode ser mapeada em um conjunto de dados através dos funtores ao analisar dois conjuntos de dados que, à primeira vista, parecem não ter nenhuma conexão entre si.
preview
Algoritmos de otimização populacionais: salto de sapo embaralhado

Algoritmos de otimização populacionais: salto de sapo embaralhado

O artigo apresenta uma descrição detalhada do algoritmo salto de sapo embaralhado (Shuffled Frog Leaping Algorithm, SFL) e suas capacidades na solução de problemas de otimização. O algoritmo SFL é inspirado no comportamento dos sapos em seu ambiente natural e oferece uma nova abordagem para a otimização de funções. O algoritmo SFL é uma ferramenta eficaz e flexível, capaz de lidar com diversos tipos de dados e alcançar soluções ótimas.
Gráficos na biblioteca DoEasy (Parte 87): coleção de objetos gráficos, controlamos a modificação de propriedades de objetos em todos os gráficos abertos
Gráficos na biblioteca DoEasy (Parte 87): coleção de objetos gráficos, controlamos a modificação de propriedades de objetos em todos os gráficos abertos

Gráficos na biblioteca DoEasy (Parte 87): coleção de objetos gráficos, controlamos a modificação de propriedades de objetos em todos os gráficos abertos

No artigo, continuaremos a trabalhar no rastreamento dos eventos de objetos gráficos padrão e na criação de funcionalidades que permitem controlar as alterações nas propriedades dos objetos gráficos localizados em qualquer gráfico aberto no terminal.
preview
Métodos de William Gann (Parte I): Criando um indicador de ângulos de Gann

Métodos de William Gann (Parte I): Criando um indicador de ângulos de Gann

Qual é a essência da teoria de Gann? Como são construídos os ângulos de Gann? Criamos um indicador de ângulos de Gann para o MetaTrader 5.
preview
DoEasy. Controles (Parte 6): Controle "Painel", redimensionamento automático do contêiner para adequá-lo ao seu conteúdo

DoEasy. Controles (Parte 6): Controle "Painel", redimensionamento automático do contêiner para adequá-lo ao seu conteúdo

Neste artigo, continuaremos trabalhando no objeto WinForms "Painel" e geraremos seu redimensionamento automático em função do tamanho geral dos objetos Dock localizados dentro dele. Além disso, adicionaremos novas propriedades ao objeto de biblioteca "Símbolo".
preview
Desenvolvendo um sistema de Replay (Parte 67): Refinando o Indicador de controle

Desenvolvendo um sistema de Replay (Parte 67): Refinando o Indicador de controle

Neste artigo mostrarei o que um pouco de refinamento no código é capaz de fazer. Tal refinamento tem como objetivo tornar mais simples o nosso código. Fazer um maior uso das chamadas de biblioteca do MQL5. Mas principalmente fazer com que o nosso código se torne bem mais estável, seguro e fácil de ser usado por outras classe, ou outros códigos que por ventura construiremos. 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.