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
Interfaces Gráficas II: Configuração dos manipuladores de eventos da Biblioteca (Capítulo 3)
Interfaces Gráficas II: Configuração dos manipuladores de eventos da Biblioteca (Capítulo 3)

Interfaces Gráficas II: Configuração dos manipuladores de eventos da Biblioteca (Capítulo 3)

Os artigos anteriores contêm a implementação das classes para criar os componentes do menu principal. Agora, está na hora de olharmos com mais atenção os manipuladores de eventos nas classes base principais e dos controles criados. Nós também prestaremos uma atenção especial na gestão do estado do gráfico, dependendo da localização do cursor do mouse.
Que testes deve passar o robô de negociação antes da publicação no Mercado
Que testes deve passar o robô de negociação antes da publicação no Mercado

Que testes deve passar o robô de negociação antes da publicação no Mercado

Todos os produtos do Mercado, antes de serem publicados, passam uma revisão preliminar obrigatória para garantir um único padrão de qualidade. Neste artigo, vamos falar sobre os erros mais comuns que os desenvolvedores cometem ao trabalhar com os seus indicadores técnicos e robôs de negociação. Além disso, mostraremos como testar por si mesmo o seu produto antes de enviá-lo para o Mercado.
Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)
Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)

Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)

Neste artigo, nós vamos criar o elemento linha de separação. Será possível usá-lo não só como um elemento de interface independentes, mas também como uma parte de diversos outros elementos. Depois disso, nós teremos todos os recursos necessários para o desenvolvimento da classe do menu de contexto, que também serão considerados neste artigo em detalhe. Acrescentando, nós vamos apresentar todos os incrementos necessários à classe, que é a base para armazenar os ponteiros para todos os elementos da interface gráfica da aplicação.
Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)
Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)

Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)

Na segunda parte da série, nós vamos mostrar em detalhes o desenvolvimento de tais elementos de interface como o menu principal e o menu de contexto. Nós também vamos mencionar os elementos de desenho e criar uma classe especial para ele. Nós vamos discutir detalhadamente tais questões como a gestão de eventos do programa, incluindo aquelas que são personalizadas.
Como criar bots para Telegram em MQL5
Como criar bots para Telegram em MQL5

Como criar bots para Telegram em MQL5

Este artigo contém instruções passo-a-passo para a criação de bots para o Telegram em MQL5. Esta informação pode ser útil aos usuários que desejam sincronizar o seu robô de negociação a um dispositivo móvel. Existem exemplos de bots no artigo que fornecem sinais de negociação, busca de informações em sites, enviam informações sobre o balanço da conta, cotações e imagens de gráficos ao seu telefone celular.
Expert Advisor Universal: Um Trailing Stop Customizado (Parte 6)
Expert Advisor Universal: Um Trailing Stop Customizado (Parte 6)

Expert Advisor Universal: Um Trailing Stop Customizado (Parte 6)

A sexta parte do artigo sobre o Expert Advisor universal descreve o uso do recurso "Trailing Stop". O artigo irá guiá-lo através de como criar um módulo "Trailing Stop" personalizado com regras unificadas, bem como adicioná-lo ao motor de negociação para gerir automaticamente as posições.
Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)
Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)

Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)

No capítulo anterior da primeira parte da série sobre interfaces gráficas, a classe de formulário foi enriquecida por métodos que permitiram gerir o formulário através dos cliques em seus controles. Neste artigo, nós vamos testar nosso trabalho em diferentes tipos de programa MQL, como indicadores e scripts. Já que a biblioteca foi concebida para ser multi-plataforma para que ela pudesse ser utilizada em todas as plataformas MetaTrader, nós também vamos testá-la no MetaTrader 4.
Interfaces gráficas I: Funções para os Botões do Formulário e Remoção dos Elementos da Interface (Capítulo 4)
Interfaces gráficas I: Funções para os Botões do Formulário e Remoção dos Elementos da Interface (Capítulo 4)

Interfaces gráficas I: Funções para os Botões do Formulário e Remoção dos Elementos da Interface (Capítulo 4)

Neste artigo, nós vamos continuar desenvolvendo esta classe, adicionando os métodos que permitem gerir o formulário mediante os cliques em seus controles. Nós habilitaremos o fechamento do programa por um botão do formulário, bem como implementar a funcionalidade de minimização e maximização do mesmo.
Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)
Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)

Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)

Este artigo fornece uma descrição mais detalhada do mecanismo de negociação CStrategy. Por demanda popular dos usuários, nós adicionamos funções de apoio as ordem pendente no mecanismo de negociação. Além disso, a versão mais recente do MetaTrader 5 agora oferece suporte a contas com a opção de cobertura (hedge). O mesmo suporte foi adicionado ao CStrategy. O artigo fornece uma descrição detalhada de algoritmos para o uso de ordens pendentes, bem como dos princípios de funcionamento da classe CStrategy nas contas com a opção de cobertura (hedge) habilitada.
Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)
Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)

Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)

Na última parte da série de artigos sobre o mecanismo de negociação CStrategy, vamos considerar a operação simultânea de vários algoritmos de negociação, aprenderemos a carregar estratégias de arquivos XML, e apresentaremos um painel simples para selecionar Expert Advisors partir de um único módulo executável e gerenciar os seus modos de negociação.
Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)
Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)

Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)

No artigo anterior, nós começamos a desenvolver uma classe de formulário para os controles. Neste artigo, nós vamos continuar a desenvolver esta classe e preenchê-la com os métodos para mover um formulário sobre a área do gráfico. Em seguida, integraremos este componente da interface para o núcleo da biblioteca. Além disso, nós vamos garantir que os controles do formulário mudem de cor quando o cursor do mouse estiver pairando sobre eles.
Interfaces Gráficas I: Formulário para os Controles (Capítulo 2)
Interfaces Gráficas I: Formulário para os Controles (Capítulo 2)

Interfaces Gráficas I: Formulário para os Controles (Capítulo 2)

Neste artigo, nós vamos criar o primeiro e o principal elemento da interface gráfica - o formulário para os controles. Vários controles podem ser anexados a este formulário, podendo ser de qualquer lugar e qualquer combinação.
Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)
Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)

Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)

Este artigo continua a série de publicações do modelo universal de um Expert Advisor. Esta parte descreve em detalhes o modelo de eventos original, baseado no processamento de dados centralizado e considera a estrutura da classe base CStrategy.
Interfaces Gráficas I: Preparação da Estrutura da Biblioteca (Capítulo 1)
Interfaces Gráficas I: Preparação da Estrutura da Biblioteca (Capítulo 1)

Interfaces Gráficas I: Preparação da Estrutura da Biblioteca (Capítulo 1)

Este artigo é o começo de uma outra série sobre o desenvolvimento de interfaces gráficas. Atualmente, não há uma única biblioteca de código que permite a criação rápida e fácil de interfaces gráficas de alta qualidade dentro das aplicações em MQL. Me refiro as interfaces gráficas que estamos acostumados nos sistemas operacionais comuns.
Expert Advisor Universal: Modos de Negociação das Estratégias (Parte 1)
Expert Advisor Universal: Modos de Negociação das Estratégias (Parte 1)

Expert Advisor Universal: Modos de Negociação das Estratégias (Parte 1)

Qualquer desenvolvedor de Expert Advisor, independentemente de suas habilidades de programação, diariamente é confrontado com as mesmas tarefas de negociação e problemas algorítmicos, que devem ser resolvidos para organizar um processo de negociação confiável. O artigo descreve as possibilidades do motor de negociação CStrategy que possibilita a solução destas tarefas e fornece ao usuário um mecanismo eficaz para descrever uma idéia de negociação personalizada.
Expert Advisor Universal: Estratégias Personalizadas e Classes Auxiliares de Negociação (Parte 3)
Expert Advisor Universal: Estratégias Personalizadas e Classes Auxiliares de Negociação (Parte 3)

Expert Advisor Universal: Estratégias Personalizadas e Classes Auxiliares de Negociação (Parte 3)

Neste artigo, vamos continuar a análise dos algoritmos do motor de negociação CStrategy. A terceira parte da série contém uma análise detalhada com exemplos de como desenvolver estratégias de negociação específicas usando esta abordagem. É dada uma atenção especial aos algoritmos auxiliares - sistema de registro Expert Advisor e acesso a dados usando um indexador convencional (Close[1], Open[0], etc).
Guia Prático MQL5 - Programando os Canais Móveis
Guia Prático MQL5 - Programando os Canais Móveis

Guia Prático MQL5 - Programando os Canais Móveis

Este artigo apresenta um método de programação de um sistema de canais equidistantes. Alguns detalhes da construção de tais canais estarão sendo considerados aqui. É fornecido a tipificação do canal, propondo um método de canais móveis do tipo universal. Para implementar o código, foi utilizado a Programação Orientada a Objetos (POO).
Método da área
Método da área

Método da área

O sistema "Método da área" funciona com base na interpretação pouco comum das leituras do oscilador RSI. Neste artigo fala-se tanto do indicador que processa o método da área, como do conselheiro que negocia de acordo com este sistema. Além disso, adicionamos resultados de teste detalhados do conselheiro para vários símbolos, timeframes e valores de área.
Calculadora de sinais
Calculadora de sinais

Calculadora de sinais

A calculadora de sinais funciona diretamente a partir do terminal MetaTrader 5, e esta é a sua grande vantagem, pois o terminal pré-seleciona e classifica os sinais. Assim, no terminal MetaTrader 5, o usuário vê apenas os sinais com o máximo de compatibilidade com a sua conta de negociação.
Criamos um auxiliar na negociação manual
Criamos um auxiliar na negociação manual

Criamos um auxiliar na negociação manual

O número de robôs de negociação para trabalhar nos mercados de moedas ultimamente está crescendo como uma bola de neve. Neles estão compilados diversos conceitos e estratégias, mas vale a pena referir que ainda ninguém conseguiu criar um modelo de inteligência artificial que não esteja submetido a ricos de perda. Por isso, muitos traders continuam empenhados em negociar manualmente. E para esses especialistas são criados assistentes robóticos, chamados de painéis de negociação. Esse artigo é outro exemplo de como criar um painel de negociação "do zero".
Indicador Rope por Erik Naymanf
Indicador Rope por Erik Naymanf

Indicador Rope por Erik Naymanf

O artigo revela como o indicador "Rope" foi criado com base na "The Small Encyclopedia of Trader" (Pequena Enciclopédia do Trader), por Erik L. Nayman. Este indicador mostra a direção da tendência, usando cálculos dos valores das tendências de alta e de baixa durante um período de tempo determinado. O artigo também conta com os princípios do desenvolvimento e cálculos do indicador, bem como exemplos do código. Outros temas abordados incluem o desenvolvimento de um Expert Advisor com base no indicador, e também, a otimização dos parâmetros externos.
Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid
Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid

Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid

Este artigo apresenta um método alternativo de criação da Interface Gráfica do Usuário (GUI) com base em layouts e containers, usando um gerenciador de layout - a classe CGrid. A classe CGrid é um comando auxiliar, atua como um container para outros containers e faz o controle usando um layout de grade.
Avaliação e seleção de variáveis para os modelos de aprendizado da máquina
Avaliação e seleção de variáveis para os modelos de aprendizado da máquina

Avaliação e seleção de variáveis para os modelos de aprendizado da máquina

Este artigo foca sobre as especificidades de escolha, o pré-condicionamento e avaliação das variáveis de entrada (preditoras) para uso em modelos de aprendizagem da máquina. Novas abordagens e oportunidades de análises preditoras profundas e suas influências no possível sobre-ajuste (overfitting) dos modelos serão consideradas. O resultado global do uso de modelos, em grande parte, depende do resultado desta etapa. Vamos analisar dois pacotes, oferecendo abordagens novas e originais para a seleção dos preditores.
MQL5 para iniciantes: Proteção antivandalismo de objetos gráficos
MQL5 para iniciantes: Proteção antivandalismo de objetos gráficos

MQL5 para iniciantes: Proteção antivandalismo de objetos gráficos

O que o seu programa deve fazer, se os painéis de controle gráfico foram removidos ou modificados por alguém? Neste artigo, vamos mostrar a você o porquê de não ter objetos no gráfico "sem dono" e como não perder o controle sobre eles, se forem renomeados ou excluídos após o aplicativo ser deletado.
Agora a plataforma MetaTrader 5 possui um sistema de cobertura de registro de posições
Agora a plataforma MetaTrader 5 possui um sistema de cobertura de registro de posições

Agora a plataforma MetaTrader 5 possui um sistema de cobertura de registro de posições

Para ampliar as possibilidades dos traders de retail-Forex, foi adicionado à plataforma a cobertura (segundo sistema de registro). Agora, segundo o instrumento, você pode ter várias posições, incluindo posições opostas. Isto permite implementar estratégias de negociação com o assim chamado bloqueio, por outras palavras, se o preço estiver contra o trader, ele terá a possibilidade de abrir uma posição na direção oposta.
MQL5 Cookbook: Implementando seu próprio Depth of Market (Book de Ofertas)
MQL5 Cookbook: Implementando seu próprio Depth of Market (Book de Ofertas)

MQL5 Cookbook: Implementando seu próprio Depth of Market (Book de Ofertas)

Este artigo demonstra como utilizar o Depth of Market de forma programática e descreve o princípio de funcionamento da classe CMarketBook, que pode expandir a biblioteca padrão de classes de MQL5 e oferecer métodos convenientes para usar o Depth of Market (DOM). No Brasil o Livro de Ofertas faz o papel do DOM e registra todas as ordens por nível de preço.
Desenhando Resistência e Níveis de Suporte Com MQL5
Desenhando Resistência e Níveis de Suporte Com MQL5

Desenhando Resistência e Níveis de Suporte Com MQL5

Este artigo descreve um método para encontrar quatro pontos extremos, onde baseado neles, se desenha os níveis de suporte e de resistência. Para encontrar o extremos num gráfico de um par de moedas, foi usado o indicador RSI. Para dar um exemplo, nós fornecemos um código de indicador que exibe os níveis de suporte e resistência.
Indicador para Gráfico de Spindles
Indicador para Gráfico de Spindles

Indicador para Gráfico de Spindles

O artigo apresenta a plotagem do gráfico de spindles e seu uso em estratégias de negociação e experts. Primeiro vamos discutir a aparência do gráfico, plotagem e conexão com o gráfico de velas japonesas. Em seguida, analisaremos a implementação do indicador no código fonte na linguagem MQL5. Vamos testar o expert com base no indicador e formular uma estratégia de negociação.
Teoria de Mercado
Teoria de Mercado

Teoria de Mercado

A lógica completa da teoria do mercado que cobre todos os tipos e variedades de mercados de bens e serviços, não estava disponível até agora aos mercados micro e macro, como o Forex. Este artigo aborda a essência de uma nova teoria do mercado com base na análise do lucro, revela padrões de mudança dos preços em andamento e o princípio da operação de um mecanismo a permitir que o preço encontre o seu valor ideal, através da formação de uma cadeia de preços virtuais que desenvolvem um controle sobre o preço real. Mecanismos de formação e de mudança das tendências do mercado também são identificados aqui.
Manipulação de Arquivos ZIP em Linguagem MQL5 Pura
Manipulação de Arquivos ZIP em Linguagem MQL5 Pura

Manipulação de Arquivos ZIP em Linguagem MQL5 Pura

A linguagem MQL5 se mantém em evolução e novos recursos para trabalhar com dados estão constantemente sendo adicionados. Devido as inovações recentes, se tornou possível manipular arquivos ZIP usando ferramentas MQL5 nativas, sem envolver bibliotecas DLL de terceiros. Este artigo foca em como isso é realizado e implementa a classe CZip, que é uma ferramenta universal para ler, criar e modificar arquivos ZIP, como um exemplo.
Serviço Freelance no site MQL5.com - Encontre o Seu Desenvolvedor Favorito
Serviço Freelance no site MQL5.com - Encontre o Seu Desenvolvedor Favorito

Serviço Freelance no site MQL5.com - Encontre o Seu Desenvolvedor Favorito

Os desenvolvedores de robôs investidores não precisam mais procurar traders para prestarem os seus serviços aos que desejam seus próprios Expert Advisors - agora os traders vão encontrá-los. Atualmente, milhares de traders encomendam serviços a desenvolvedores no serviço Freelance MQL5 e pagam por este trabalho no próprio site MQL5.com. Durante 4 anos, este serviço tem facilitado a vida de três mil traders que pagaram por mais de 10 000 serviços prestados. E esta atividade dos traders e desenvolvedores está em constante crescimento!
Como Proteger Seu Expert Advisor Investindo na Bolsa de Moscou
Como Proteger Seu Expert Advisor Investindo na Bolsa de Moscou

Como Proteger Seu Expert Advisor Investindo na Bolsa de Moscou

O artigo explora os métodos de negociação que garantem a segurança das operações de investimentos nos mercados de ações e de baixa liquidez, tomando como exemplo o Mercado de Derivativos da Bolsa de Moscou. Ele traz uma abordagem prática da teoria de negociação descrita no artigo "Princípios da Precificação da Bolsa Tomando Como Exemplo o Mercado de Derivativos da Bolsa de Moscou".
Uma Introdução à Lógica Fuzzy
Uma Introdução à Lógica Fuzzy

Uma Introdução à Lógica Fuzzy

A lógica fuzzy expande nossos limites da lógica matemática e da teoria dos conjuntos. Este artigo revela os princípios básicos da lógica fuzzy, bem como a descrição de dois sistemas de inferência fuzzy usando os modelos do tipo Mamdani e Sugeno. Os exemplos fornecidos descreverão a implementação de modelos difusos (fuzzy) baseados nesses dois sistemas, que utilizam a biblioteca FuzzyNet para MQL5.
Usando Layouts e Containers para Controles de GUI: A Classe CBox
Usando Layouts e Containers para Controles de GUI: A Classe CBox

Usando Layouts e Containers para Controles de GUI: A Classe CBox

Este artigo apresenta um método alternativo de criação de GUI (Interface Gráfica do Usuário) baseado em layouts e containers, usando um gerenciador de layout - a classe CBox. A classe CBox é um controle auxiliar que atua como um container para controles essenciais em um painel de GUI. Ele pode gerar o design gráfico dos painéis facilmente, e, em alguns casos, reduzir o tempo de codificação.
Otimização. Algumas idéias simples
Otimização. Algumas idéias simples

Otimização. Algumas idéias simples

O processo de otimização pode exigir recursos significativos de seu computador ou mesmo dos agentes de teste da MQL5 Cloud Network. Este artigo compreende algumas idéias simples que eu uso para a facilitação do trabalho e a melhoria do Strategy Tester do MetaTrader 5. Eu tive essas idéias a partir da documentação, fórum e artigos.
Desenhando Medidores com Mostrador usando a classe CCanvas
Desenhando Medidores com Mostrador usando a classe CCanvas

Desenhando Medidores com Mostrador usando a classe CCanvas

Podemos encontrar medidores com mostrador em carros e aviões, na produção industrial e na vida cotidiana. Eles são utilizados em todos os domínios que requerem uma resposta rápida a um comportamento de valor controlado. Este artigo descreve a biblioteca de medidores com mostrador para o MetaTrader 5.
Redes Neurais de Terceira Geração: Redes Profundas
Redes Neurais de Terceira Geração: Redes Profundas

Redes Neurais de Terceira Geração: Redes Profundas

Este artigo é dedicado a uma nova perspectiva na direção da aprendizagem de máquina - o aprendizado profundo ou, para ser mais preciso, redes neurais profundas. Esta é uma breve revisão das redes neurais de segunda geração, a arquitetura de suas conexões e tipos principais, os métodos e regras de aprendizagem e suas principais desvantagens seguido pela história do desenvolvimento da rede neural de terceira geração, os seus principais tipos, peculiaridades e métodos de treinamento. Conduzida por experimentos práticos sobre a construção e treinamento de uma rede neural profunda, iniciada pelos pesos de uma pilha de autoencoders (Stacked Autoencoders) contendo dados reais. Todas as etapas, desde a seleção dos dados de entrada até a derivação métrica, serão discutidas em detalhe. A última parte do artigo contém uma implementação de um programa de rede neural profunda em um Expert Advisor com um indicador embutido, baseado em MQL4/R.
Florestas Aleatórias na Previsão das Tendências
Florestas Aleatórias na Previsão das Tendências

Florestas Aleatórias na Previsão das Tendências

Este artigo considera o uso do pacote Rattle na busca automática de padrões para prever as posições compradas ou vendidas dos pares de moedas no Forex. Este artigo pode ser útil tanto para novatos quanto para profissionais experientes.
Programando os Modos do EA Usando a Abordagem Orientada a Objetos
Programando os Modos do EA Usando a Abordagem Orientada a Objetos

Programando os Modos do EA Usando a Abordagem Orientada a Objetos

Este artigo explica a idéia da programação multi-modo de um robô de negociação em MQL5. Cada modalidade é implementada com a abordagem orientada a objetos. São fornecidos as instâncias de ambos os modos de hierarquias de classe e das classes para testes. A programação multi-modo de robôs de negociação presumi-se levar em conta todas as peculiaridades de cada modo operacional de um EA escrito em MQL5. Funções e enumerações são criadas para identificar o modo.
Dicas para Escolher um Sinal de Negociação para Assinar. Guia Passo-a-Passo
Dicas para Escolher um Sinal de Negociação para Assinar. Guia Passo-a-Passo

Dicas para Escolher um Sinal de Negociação para Assinar. Guia Passo-a-Passo

Este guia passo-a-passo é dedicado ao serviço de Sinais, examinação dos sinais de negociação, uma abordagem de sistema para a busca de um sinal desejado, que satisfaça os critérios de rentabilidade, risco, ambições de negociação, trabalhando em vários tipos de contas e instrumentos financeiros.