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
Criando EAs multimódulo
Criando EAs multimódulo

Criando EAs multimódulo

A linguagem de programação MQL permite concretizar o conceito de design modular de estratégias de negociação. O artigo mostra um exemplo de criação de um Expert Advisor multimodular que consiste em módulos de arquivo compilados separadamente.
Gráficos Off-line no Novo MQL4
Gráficos Off-line no Novo MQL4

Gráficos Off-line no Novo MQL4

A atualização MQL4 tem um novo formato para armazenar dados históricos e fornecer a estrutura MqlRates apropriada para o armazenamento conveniente dos valores Time, Open, Low, High, Close e Volume. Por muitos anos, os traders têm desenvolvido seus aplicativos MQL4 que coletam e armazenam seus dados em arquivos HST para gerar gráficos off-line e nós garantimos que todos os arquivos compilados anteriormente (EX4) irão trabalhar no novo terminal MetaTrader 4 da mesma forma que antes.
Métodos de controle remoto de EAs
Métodos de controle remoto de EAs

Métodos de controle remoto de EAs

A principal vantagem dos robôs de negociação é o fato de poderem trabalhar 24 horas por dia em servidores VPS remotos. Ás vezes, é necessário intervir em seu trabalho manualmente, porém, pode não haver acesso direto ao servidor. Será que é possível gerenciar o trabalho de EAs remotamente? Esse artigo propõe uma das maneiras para controlar robôs por meio de comandos externos.
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.
Métodos de ordenação e sua visualização usando a MQL5
Métodos de ordenação e sua visualização usando a MQL5

Métodos de ordenação e sua visualização usando a MQL5

A biblioteca Graphic.mqh foi projetada para trabalhar com gráficos na MQL5. O artigo fornece um exemplo de sua aplicação prática e explica a ideia de ordenação. O conceito geral de ordenação é descrito aqui, pois cada tipo de ordenação já possui pelo menos um artigo separado, enquanto que alguns tipos de ordenação são objetos de estudos detalhados.
Guia prático do MQL5: Controles da sub-janela indicadora - barra de rolagem
Guia prático do MQL5: Controles da sub-janela indicadora - barra de rolagem

Guia prático do MQL5: Controles da sub-janela indicadora - barra de rolagem

Vamos continuar a explorar vários controles e desta vez a nossa atenção é para a barra de rolagem. Assim como no artigo anterior intitulado"Guia prático do MQL5: Os controles da sub-janela indicadora - botões", todas as operações serão realizadas na sub-janela indicadora. Tome um tempo para ler o artigo acima mencionado, uma vez que ele fornece uma descrição detalhada do trabalho com eventos na função OnChartEvent(), enquanto este ponto somente será casualmente abordado neste artigo. Para fins ilustrativos, desta vez vamos criar uma barra de rolagem vertical para uma grande lista de todas as propriedades de instrumentos financeiros que possam ser obtidas usando recursos do MQL5.
Usando planilhas para construir estratégias de negociação
Usando planilhas para construir estratégias de negociação

Usando planilhas para construir estratégias de negociação

O artigo descreve os princípios básicos e abordagens que permitem analisar qualquer estratégia usando planilhas - Excel, Calc, Google. Os resultados também são comparados com os do testador do MetaTrader 5.
Estimando o índice de funcionalidade, o expoente de Hurst e a possibilidade de prever séries temporais financeiras
Estimando o índice de funcionalidade, o expoente de Hurst e a possibilidade de prever séries temporais financeiras

Estimando o índice de funcionalidade, o expoente de Hurst e a possibilidade de prever séries temporais financeiras

A busca e o estudo do comportamento fractal de dados financeiros implica que, por trás do comportamento aparentemente caótico de séries temporais econômicas, estão ocultos e operam mecanismos estáveis que governam a conduta coletiva dos participantes. Na bolsa de valores, essa mecânica pode levar ao surgimento de uma dinâmica de preços que determina e descreve as propriedades específicas das séries de preços. Na negociação, seria interessante ter indicadores que pudessem estimar os parâmetros de fractalidade de maneira efetiva e estável, numa escala e num intervalo de tempo que fossem uteis na prática.
Previsão de séries temporais (parte 1): decomposição do modo empírico (EMD)
Previsão de séries temporais (parte 1): decomposição do modo empírico (EMD)

Previsão de séries temporais (parte 1): decomposição do modo empírico (EMD)

O artigo estuda a teoria e a aplicação prática de um algoritmo de previsão de séries temporais com base na decomposição em modos empíricos, além disso, propõe sua implementação em MQL5 e fornece indicadores de teste e EAs.
Como desenvolver uma estratégia de negociação lucrativa
Como desenvolver uma estratégia de negociação lucrativa

Como desenvolver uma estratégia de negociação lucrativa

Este artigo fornece uma resposta à seguinte questão: "É possível formular uma estratégia de negociação automatizada baseada em dados do histórico com redes neurais?".
Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados
Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados

Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados

O artigo considera uma abordagem para o teste de estresse de uma estratégia de negociação usando os símbolos personalizados. Uma classe de símbolo personalizada é criada para essa finalidade. Esta classe é utilizada para receber os dados de ticks de fontes de terceiros, bem como realizar alterações das propriedades do símbolo. Com base nos resultados do trabalho realizado, nós consideraremos várias opções para alterar as condições de negociação, sob as quais uma estratégia de negociação está sendo testada.
Usando arquivos de texto para armazenar parâmetros de entrada dos Expert Advisors, indicadores e scripts
Usando arquivos de texto para armazenar parâmetros de entrada dos Expert Advisors, indicadores e scripts

Usando arquivos de texto para armazenar parâmetros de entrada dos Expert Advisors, indicadores e scripts

O artigo descreve a aplicação de arquivos de texto para armazenar objetos dinâmicos, arrays e outras variáveis, as quais são ​​utilizadas como propriedades dos Expert Advisors, indicadores e scripts. Os arquivos servem como um complemento útil para a funcionalidade das ferramentas padrão oferecidas pelas linguagens MQL.
preview
Otimização Walk Forward Contínua (Parte 1): Trabalhando com os Relatórios de Otimização

Otimização Walk Forward Contínua (Parte 1): Trabalhando com os Relatórios de Otimização

O primeiro artigo é dedicado à criação de um kit de ferramentas para trabalhar com os relatórios de otimização, importá-los da plataforma e para filtrar e classificar os dados obtidos. A MetaTrader 5 permite baixar os resultados da otimização, no entanto, nosso objetivo é adicionar nossos próprios dados ao relatório de otimização.
Aplicação prática de bancos de dados para análise de mercado
Aplicação prática de bancos de dados para análise de mercado

Aplicação prática de bancos de dados para análise de mercado

Trabalhar com dados se tornou a tarefa principal para o software moderno - tanto para aplicativos autônomos quanto para os de rede. Para solucionar esse problema um software especializado foi criado. São sistemas de gerenciamento de banco de dados (DBMS) que podem estruturar, sistematizar e organizar dados para seu armazenamento e processamento. Quanto aos negócios, a maioria dos analistas não utiliza bancos de dados em seu trabalho. Mas existem tarefas para as quais essa solução teria que ser útil. Este artigo fornece um exemplo de indicadores que podem salvar e carregar dados da partir de bancos de dados com ambas arquiteturas cliente-servidor ou arquivo-servidor.
Criando um indicador de várias moedas utilizando um número de buffers indicadores intermediários
Criando um indicador de várias moedas utilizando um número de buffers indicadores intermediários

Criando um indicador de várias moedas utilizando um número de buffers indicadores intermediários

Houve um recente aumento de interesse em análises de cluster do mercado FOREX. O MQL5 abre novas possibilidades para pesquisa de tendências de movimento de pares de moeda. Um recurso chave do MQL5, diferenciando-o do MQL4 é a possibilidade de utilizar uma quantia ilimitada de buffers de indicador. Este artigo descreve um exemplo da criação de um indicador de diversas moedas.
Monitoramento de sinais de negociação multimoeda (Parte 4): Aprimoramento das funcionalidades e melhorias no sistema de busca de sinais
Monitoramento de sinais de negociação multimoeda (Parte 4): Aprimoramento das funcionalidades e melhorias no sistema de busca de sinais

Monitoramento de sinais de negociação multimoeda (Parte 4): Aprimoramento das funcionalidades e melhorias no sistema de busca de sinais

Nesta parte, nós expandimos o sistema de busca e edição de sinais de negociação, além de apresentar a possibilidade de usar indicadores personalizados e adicionar a localização do programa. Nós criamos anteriormente um sistema básico para busca de sinais, mas ele era baseado em um pequeno conjunto de indicadores e em um conjunto simples de regras de busca.
Expert Advisor multiplataforma: Sinais
Expert Advisor multiplataforma: Sinais

Expert Advisor multiplataforma: Sinais

No artigo, são discutidas as classes CSignal e CSignals, que serão usadas em Expert Advisors multiplataforma. Além disso, serão examinadas as diferenças entre MQL4 e MQL5 quanto à organização de dados necessários para avaliar os sinais de negociação obtidos. O resultado será um código compatível com os compiladores das duas versões.
Trailing Stop padrão e saída de mercado
Trailing Stop padrão e saída de mercado

Trailing Stop padrão e saída de mercado

Desenvolvedores de algoritmos de modificação/fechamento de ordem sofrem de uma aflição contínua - como comparar resultados obtidos por métodos diferentes? O mecanismo de verificação é bem conhecido - é o Testador de Estratégia. Mas como fazer um EA funcionar igualmente para ordens de abertura/fechamento? O artigo descreve uma ferramenta que fornece uma forte repetição de aberturas de ordem que nos permite manter uma plataforma matematicamente correta para comparar os resultados de algoritmos diferentes para trailing stops e para sair do mercado.
Como copiar sinais pelas suas regras usando um EA ?
Como copiar sinais pelas suas regras usando um EA ?

Como copiar sinais pelas suas regras usando um EA ?

Ao assinar um sinal, a seguinte situação pode ocorrer: sua conta de negociação tem uma alavancagem de 1:100, o provedor tem uma alavancagem de 1:500 e as negociações usam um lote mínimo, seus saldos são praticamente iguais - porém o coeficiente de cópia irá abranger somente de 10% a 15%. Este artigo descreve como aumentar a taxa de cópia em tais casos.
Princípios de Programação em MQL5: Variáveis Globais do Terminal
Princípios de Programação em MQL5: Variáveis Globais do Terminal

Princípios de Programação em MQL5: Variáveis Globais do Terminal

Este artigo destaca as capacidades orientada a objeto da linguagem MQL5 em criar objetos que facilitam o trabalho com as variáveis ​​globais do terminal. Como exemplo prático eu considero um caso em que as variáveis ​​globais são usados ​​como pontos de controle para a implementação das fases de um programa.
Redes Neurais Profundas (Parte V). Otimização Bayesiana de hiperparâmetros de uma DNN
Redes Neurais Profundas (Parte V). Otimização Bayesiana de hiperparâmetros de uma DNN

Redes Neurais Profundas (Parte V). Otimização Bayesiana de hiperparâmetros de uma DNN

O artigo considera a possibilidade de aplicar a otimização Bayesiana para os hiperparâmetros das redes neurais profundas, obtidas por diversas variantes de treinamento. É realizado a comparação da qualidade de classificação de uma DNN com os hiperparâmetros ótimos em diferentes variantes de treinamento. O nível de eficácia dos hiperparâmetros ótimos da DNN foi verificado nos testes fora da amostra (forward tests). As direções possíveis para melhorar a qualidade da classificação foram determinadas.
preview
Perceptron Multicamadas e o Algoritmo Backpropagation

Perceptron Multicamadas e o Algoritmo Backpropagation

Recentemente, ao aumentar a popularidade desses métodos, tantas bibliotecas foram desenvolvidas em Matlab, R, Python, C++, e etc, que recebem o conjunto de treinamento como entrada e constroem automaticamente uma Rede Neural apropriada para o suposto problema. Vamos entender como funciona um tipo básico de Rede Neural, (Perceptron de um único neurônio e Perceptron Multicamadas), e um fascinante algoritmo responsável pelo aprendizado da rede, (Gradiente descendente e o Backpropagation). Tais modelos de rede serviram de base para os modelos mais complexos existentes hoje.
preview
Símbolos personalizados: Fundamentos práticos

Símbolos personalizados: Fundamentos práticos

O artigo é dedicado à geração programática de símbolos personalizados que são usados para demonstrar alguns métodos populares de exibição de cotações. Ele descreve uma variante sugerida da adaptação minimamente invasiva de Expert Advisors para negociar um símbolo real a partir de um gráfico de símbolo personalizado e derivado. Os códigos-fonte em MQL estão anexados a este artigo.
Negociação Forex e sua matemática básica
Negociação Forex e sua matemática básica

Negociação Forex e sua matemática básica

O objetivo do artigo consiste em descrever as principais características da negociação forex da forma mais simples e rápida possível, compartilhando verdades simples com iniciantes. Aqui tentaremos responder às perguntas mais interessantes no ambiente de negociação, bem como escrever um indicador simples.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo
Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo

Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo

Neste artigo, estamos lançando uma nova série de descrições de criação de bibliotecas DoEasy para criação simples e rápida de programas. Hoje começaremos a preparar a funcionalidade da biblioteca para acessar e trabalhar com dados de séries temporais de símbolos. Criaremos um objeto "Barra" que armazenará os dados básicos e avançados da barra da série temporal e colocaremos os objetos-barras na lista de séries temporais para facilitar a pesquisa e a classificação desses objetos.
Gerenciamento de capital de Vince. Realização como módulo de Assistente MQL5
Gerenciamento de capital de Vince. Realização como módulo de Assistente MQL5

Gerenciamento de capital de Vince. Realização como módulo de Assistente MQL5

O artigo foi escrito com base no livro de Ralph Vince, “The Mathematics of Money Management”. Nele, são discutidos os métodos empíricos e paramétricos, a fim de encontrar o tamanho ideal de lotes de negociação, em cuja base estão escritos os módulos de gerenciamento de capital para o assistente MLQ5.
Implementação de Indicators como classes por exemplos de Zigzag e ATR
Implementação de Indicators como classes por exemplos de Zigzag e ATR

Implementação de Indicators como classes por exemplos de Zigzag e ATR

O debate sobre uma forma ideal para calcular indicadores é infinito. Onde devemos calcular o indicador - no indicador em si ou dentro da lógica inteira no Expert Advisor que o usa? O artigo descreve uma das variáveis do movimento do código fonte de um indicador personalizado iCustom direto no código de um Expert Advisor ou script com otimização de cálculos e modelagem do valor prev_calculated.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXII): classes de negociação - classe básica de negociação, controle de restrições
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXII): classes de negociação - classe básica de negociação, controle de restrições

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXII): classes de negociação - classe básica de negociação, controle de restrições

No artigo, começaremos a criar uma classe básica de negociação da biblioteca e dotaremos a primeira versão com uma funcionalidade de verificação de permissões inicial para realizar operações de negociação. Também expandiremos levemente os recursos e o conteúdo da classe básica de negociação.
Criando um Expert Advisor multissistema e multimoeda
Criando um Expert Advisor multissistema e multimoeda

Criando um Expert Advisor multissistema e multimoeda

O artigo apresenta uma estrutura para um Expert Advisor que negocia múltiplos símbolos e utiliza vários sistemas de negociação simultaneamente. Se você já identificou os parâmetros de entrada ideais para todos os seus EAs e obteve bons resultados de simulação para cada um deles separadamente, pergunte-se quais os resultados que você obteria se testasse todos os EAs simultaneamente, com todas as suas estratégias juntas.
Avaliação do risco numa sequência de trades com um ativo. Continuação
Avaliação do risco numa sequência de trades com um ativo. Continuação

Avaliação do risco numa sequência de trades com um ativo. Continuação

O artigo desenvolve as idéias propostas, na seção anterior, e continua a examiná-las. Além disso, discute questões sobre a alocação da rentabilidade, a construção e o estudo de padrões estatísticos.
Técnica de Teste (Otimização) e Alguns Critérios para Seleção dos Parâmetros do Expert Advisor
Técnica de Teste (Otimização) e Alguns Critérios para Seleção dos Parâmetros do Expert Advisor

Técnica de Teste (Otimização) e Alguns Critérios para Seleção dos Parâmetros do Expert Advisor

Não existe problemas para encontrar o Santo Graal nos testes, o mais difícil é livrar-se dele. Este artigo aborda a seleção do parâmetros operacionais do Expert Advisor com o processamento de grupo automatizado da otimização, resultados dos testes quanto a utilização máxima da capacidade de desempenho de terminal e a carga mínima do usuário final.
Trabalhando Com Doubles no MQL4
Trabalhando Com Doubles no MQL4

Trabalhando Com Doubles no MQL4

Neste artigo vamos considerar erros típicos de programação que ocorrem durante o trabalho com números tipo double nos programas MQL4.
Três Aspectos Sobre Automação da Negociação Manual. Parte 1: Negociação
Três Aspectos Sobre Automação da Negociação Manual. Parte 1: Negociação

Três Aspectos Sobre Automação da Negociação Manual. Parte 1: Negociação

Este artigo é o primeiro de uma série de artigos sobre automação da negociação manual na plataforma МetaТrader 4. Cada artigo será dedicado a um dos seguintes aspectos: automação da negociação manual, atual estado da exibição da automação da negociação e automação dos relatórios sobre os resultados da negociação. Neste artigo, vou apresentar uma abordagem interessante para a criação de EAs controlados manualmente por um trader.
Erros de iniciantes no trabalho com o terminal do cliente MetaTrader 4
Erros de iniciantes no trabalho com o terminal do cliente MetaTrader 4

Erros de iniciantes no trabalho com o terminal do cliente MetaTrader 4

Errar é humano. Todos cometem erros: com maior ou menor frequência, por ignorância ou acidente. Você perguntou e agora nós respondemos às suas perguntas sobre: horário do terminal, resultados de testes, impressão no diário, símbolos, histórico do provador, importação do histórico, alavancagem, tráfego, dicas, redimensionamento, cálculos errados, conta inválida, ausência de notícias, mudança de preço, falta de dinheiro, fechamento do mercado.
Colorindo os resultados da otimização de estratégias de negociação
Colorindo os resultados da otimização de estratégias de negociação

Colorindo os resultados da otimização de estratégias de negociação

Neste artigo nós vamos realizar um experimento: nós vamos colorir os resultados da otimização. A cor é determinada por três parâmetros: os níveis de vermelho, verde e azul (RGB). Existem outros métodos de codificação de cores, que também usam três parâmetros. Assim, três parâmetros de teste podem ser convertidos em uma cor, que representa visualmente os valores. Leia este artigo para descobrir se essa representação pode ser útil.
Expert Advisor multiplataforma: Controle de capital
Expert Advisor multiplataforma: Controle de capital

Expert Advisor multiplataforma: Controle de capital

Neste artigo, falaremos sobre a implementação do controle de capital num EA multiplataforma. As classes de controle de capital são responsáveis ​​pelo cálculo do tamanho do lote, que o EA usa para entrar na próxima transação.
Análise de gráficos de Balanço/Capital líquido ("equity") de acordo com os símbolos e Expert Advisors ORDER_MAGIC
Análise de gráficos de Balanço/Capital líquido ("equity") de acordo com os símbolos e Expert Advisors ORDER_MAGIC

Análise de gráficos de Balanço/Capital líquido ("equity") de acordo com os símbolos e Expert Advisors ORDER_MAGIC

Introduzida a cobertura no MetaTrader 5, surgiu a grande possibilidade de negociar simultaneamente usando Expert Advisors numa só conta de negociação. Ao fazer isto, pode acontecer que exista uma primeira estratégia rentável, uma segunda não-rentável, e, como resultado, o gráfico de lucro flutue perto do zero. Nesse caso, é útil construir gráficos de Balanço e Capital líquido ("equity") para cada estratégia de negociação separadamente.
Otimização separada de uma estratégia em condições de tendência e lateralizada
Otimização separada de uma estratégia em condições de tendência e lateralizada

Otimização separada de uma estratégia em condições de tendência e lateralizada

O artigo considera a aplicação do método de otimização separada durante várias condições de mercado. A otimização separada significa definir os parâmetros ideais do sistema de negociação, otimizando para uma tendência de alta e tendência de baixa separadamente. Para reduzir o efeito de sinais falsos e melhorar a lucratividade, os sistemas são flexíveis, o que significa que eles têm um conjunto específico de configurações ou dados de entrada, o que se justifica porque o comportamento do mercado está em constante alteração.
Monitoramento de sinais de negociação multimoeda (Parte 2): Implementação da parte visual do aplicativo
Monitoramento de sinais de negociação multimoeda (Parte 2): Implementação da parte visual do aplicativo

Monitoramento de sinais de negociação multimoeda (Parte 2): Implementação da parte visual do aplicativo

No artigo anterior, nós criamos a estrutura do aplicativo, que nós usaremos como base para todo o trabalho adicional. Nesta parte, nós prosseguiremos com o desenvolvimento: nós criaremos a parte visual do aplicativo e configuraremos a interação básica dos elementos da interface.
Sistema de negociação '80-20'
Sistema de negociação '80-20'

Sistema de negociação '80-20'

Este artigo trata de como criar instrumentos (indicador e Expert Advisor) para estudo sobre a Estratégia de Negociação '80-20' descrita no livro "Street Smarts: High Probability Short-Term Trading Strategies" de Linda Raschke e Laurence Connors. Na linguagem MQL5, estão estabelecidas as regras desta estratégia, e seu principal indicador e Expert Advisor estão testados com base no histórico atual de mercado.