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
Como criar e testar símbolos de ativos MOEX personalizados no MetaTrader 5
Como criar e testar símbolos de ativos MOEX personalizados no MetaTrader 5

Como criar e testar símbolos de ativos MOEX personalizados no MetaTrader 5

O artigo descreve a criação de um símbolo de ativo personalizado da bolsa de valores usando a linguagem MQL5, em particular, descreve o uso de cotações no popular site "Finam". Outra opção considerada neste artigo é a possibilidade de trabalhar com um formato arbitrário de arquivos de texto, usados na criação do símbolo personalizado. Isso permite trabalhar com quaisquer símbolos financeiros e fontes de dados, depois de criar um símbolo personalizado, podemos usar todos os recursos do Testador de Estratégia do MetaTrader 5 a fim de testarmos os algoritmos de negociação para os instrumentos da bolsa.
Desenvolvimento de um utilitário de navegação e seleção de símbolos em MQL5 e MQL4
Desenvolvimento de um utilitário de navegação e seleção de símbolos em MQL5 e MQL4

Desenvolvimento de um utilitário de navegação e seleção de símbolos em MQL5 e MQL4

Traders experientes estão bem cientes do fato de que a maioria das coisas demoradas na negociação não são abrir e monitorar posições, mas sim selecionar símbolos e procurar pontos de entrada. Neste artigo, nós vamos desenvolver um EA simplificando a busca por pontos de entrada em instrumentos de negociação fornecidos pela sua corretora.
Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'
Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'

Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'

Este artigo é uma continuação do artigo "Padrões de reversão: Testando o padrão 'topo/fundo duplo'" publicado anteriormente. Agora consideraremos o padrão de reversão O-C-O, o bem conhecido Ombro-Cabeça-Ombro, compararemos o desemprenho de dois padrões e, por último, tentaremos combinar o trading de dois padrões num só sistema de negociação.
Aplicando a teoria da probabilidade na negociação de gaps
Aplicando a teoria da probabilidade na negociação de gaps

Aplicando a teoria da probabilidade na negociação de gaps

Neste artigo, nós aplicaremos a teoria da probabilidade e métodos da estatística matemática para criar e testar estratégias de negociação. Nós também veremos o risco de negociação ótimo usando as diferenças entre o preço e o passeio aleatório. Está provado que, se os preços se comportarem como um passeio aleatório de deslocamento de zero (sem tendência direcional), então a negociação com lucro é impossível.
Reversão: criemos um ponto de entrada e programemos um algoritmo de negociação manual
Reversão: criemos um ponto de entrada e programemos um algoritmo de negociação manual

Reversão: criemos um ponto de entrada e programemos um algoritmo de negociação manual

Este é o último artigo da série sobre estratégia de reversão. Nele, tentaremos resolver um problema que levou a resultados inconsistentes relativamente a testes em artigos anteriores. Adicionalmente, escreveremos e testaremos nosso próprio algoritmo para negociar manualmente usando a estratégia de reversão em qualquer mercado.
Usando OpenCL para testar padrões de candles
Usando OpenCL para testar padrões de candles

Usando OpenCL para testar padrões de candles

Neste artigo, estudaremos um algoritmo para criar um testador de modelos de candles, em linguagem OpenCL, no modo "OHLC em M1". Além disso, compararemos sua velocidade com a do testador de estratégia embutido, no modo de otimização rápida e lenta.
WebRequest multi-threaded assíncrono em MQL5
WebRequest multi-threaded assíncrono em MQL5

WebRequest multi-threaded assíncrono em MQL5

Este artigo descreve uma biblioteca que permite aumentar a eficiência ao trabalhar com solicitações HTTP em linguagem MQL5. O WebRequest é iniciado no modo sem bloqueio em threads adicionais usando gráficos e EAs assistentes, compartilhando eventos personalizados e lendo recursos compartilhados. Códigos fonte estão anexados ao artigo.
Padrões de reversão: Testando o padrão 'topo/fundo duplo'
Padrões de reversão: Testando o padrão 'topo/fundo duplo'

Padrões de reversão: Testando o padrão 'topo/fundo duplo'

Na prática, os traders muitas vezes procuram por pontos de reversão, uma vez que é no momento em que surge a tendência que o preço tem o maior potencial de movimento. É por isso que, na prática da análise técnica, são considerados vários padrões de reversão. Um dos padrões mais famosos e usados é o de 'topo/fundo duplo'. Este artigo apresenta uma opção para detectar padrão algoritmicamente, além disso, nele é testada sua rentabilidade em dados históricos.
Reversão: reduzindo o rebaixamento máximo e testando outros mercados
Reversão: reduzindo o rebaixamento máximo e testando outros mercados

Reversão: reduzindo o rebaixamento máximo e testando outros mercados

Nesse artigo, continuaremos falando sobre reversão; tentaremos reduzir o rebaixamento máximo para um nível aceitável em instrumentos já discutidos; verificaremos, enquanto isso, quão afectado fica o lucro obtido. Adicionalmente, checaremos como funciona a reversão em outros mercados, como o de ações, commodities, índices e ETF, agrário. Atenção, esse artigo tem muitas imagens.
Gap - estratégia rentável ou 50/50?
Gap - estratégia rentável ou 50/50?

Gap - estratégia rentável ou 50/50?

Esse artigo considera o fenômeno gap - situação em que a diferença entre o preço de fechamento do timeframe anterior e o preço de abertura do próximo é significativa. Adicionalmente, toca a questão da direção tomada pela barra diária. Aqui é implementada a DLL de sistema da função GetOpenFileName.
Implementando Take Profit na forma de ordens limitadas sem alterar o código original do EA
Implementando Take Profit na forma de ordens limitadas sem alterar o código original do EA

Implementando Take Profit na forma de ordens limitadas sem alterar o código original do EA

No fórum já foi amplamente discutido o uso de ordens limitadas, em vez de colocar take-profit padrão. Qual é a vantagem dessa abordagem e como ela pode ser implementada em nossa negociação? Nesse artigo, quero contar a vocês minha opinião sobre as respostas a essas perguntas.
Otimização automática de EAs no MetaTrader 5
Otimização automática de EAs no MetaTrader 5

Otimização automática de EAs no MetaTrader 5

Este artigo descreve um mecanismo de auto-otimização de um EA para o MetaTrader 5.
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.
Os 100 melhores passes de otimização (parte 1). Desenvolvimento de um analisador de otimizações
Os 100 melhores passes de otimização (parte 1). Desenvolvimento de um analisador de otimizações

Os 100 melhores passes de otimização (parte 1). Desenvolvimento de um analisador de otimizações

O artigo trata do desenvolvimento de um aplicativo para selecionar os melhores passes de otimização usando várias opções possíveis. O aplicativo é capaz de ordenar os resultados de otimização por diversos fatores. Os passes de cada otimização são sempre gravadas em um banco de dados, portanto, você sempre poderá selecionar os novos parâmetros do robô sem realizar a re-otimização. Além disso, você pode ver todos os passes de otimização em um único gráfico, calcular a métrica do VaR paramétrico e construir o gráfico de distribuição normal de passes e resultados da negociação de um determinado conjunto de métricas. Além disso, os gráficos de algumas taxas calculadas são construídos dinamicamente, começando com o início da otimização (ou de uma data selecionada para outra data selecionada).
Receitas MQL5 – Obtendo as propriedades de uma posição de cobertura aberta
Receitas MQL5 – Obtendo as propriedades de uma posição de cobertura aberta

Receitas MQL5 – Obtendo as propriedades de uma posição de cobertura aberta

A plataforma MetaTrader 5 não é apenas multimercado, pois ela também permite que utilizar diferentes sistemas de registro de posição. Esses recursos expandem significativamente as ferramentas para a implementação e formalização de ideias de negociação. O artigo trata de como processar e levar em conta as propriedades das posições quando elas são registradas independentemente (cobertura - 'hedge'). Além disso, é proposta uma classe derivada, é exemplificado como processar e obter as propriedades de uma posição de cobertura.
Modelo de continuação de movimento - estatísticas de desempenho e pesquisa em gráficos
Modelo de continuação de movimento - estatísticas de desempenho e pesquisa em gráficos

Modelo de continuação de movimento - estatísticas de desempenho e pesquisa em gráficos

Nesse artigo, quero descrever como funciona um dos modelos de continuação de movimento. O trabalho é baseado na definição de duas ondas — uma principal e outra corretiva. Como extremos serão usados fractais e, como eu os chamo, potenciais fractais - extremos que ainda não se formaram como fractais.
Usando indicadores para otimização RealTime de EAs
Usando indicadores para otimização RealTime de EAs

Usando indicadores para otimização RealTime de EAs

Não é segredo que o sucesso de qualquer robô de negociação depende da seleção correta de parâmetros (otimização). Mas os parâmetros que são ótimos para um intervalo de tempo nem sempre são os melhores em outros períodos. Muitas vezes, os EAs que são lucrativos nos testes se revelam não lucrativos em tempo real. Nesse momento, surge a necessidade de estar otimizando continuamente, o que se torna uma rotina, porém, sempre há alguém que procura maneiras de automatizar o trabalho. Nesse artigo, proponho uma abordagem não padrão para resolver esse problema.
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas

Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas

O artigo fornece uma visão geral das capacidades do terminal para criar e trabalhar com símbolos personalizados, oferece opções para modelar um histórico de negociação usando símbolos personalizados, tendências e vários padrões gráficos.
Reversão: o Santo Graal ou um equívoco perigoso?
Reversão: o Santo Graal ou um equívoco perigoso?

Reversão: o Santo Graal ou um equívoco perigoso?

Neste artigo, tentaremos entender, além do conceito de reversão, se vale a pena implementá-la para melhorar nossas estratégias de negociação. Após criarmos um Expert Advisor, usaremos dados históricos a fim de não só ver quais indicadores são mais indicados para reversão, mas também saber se é possível utilizar o EA sem indicadores como um sistema de negociação independente. Consideraremos se é possível converter um sistema de negociação desfavorável num lucrativo com a ajuda de reversões.
Raios Elder (Bulls Power e Bears Power)
Raios Elder (Bulls Power e Bears Power)

Raios Elder (Bulls Power e Bears Power)

Sistema de negociação Raios Elder (em inglês, 'Elder-ray') baseado nos indicadores Bulls Power, Bears Power e Moving Average (EMA — MME, média móvel exponencial). Este sistema foi descrito por Alexander Elder em seu livro "Como se transformar em um operador e investidor de sucesso" (na versão original em inglês, 'Trading for a Living').
Combinando uma estratégia de tendência com outra de fase de correção
Combinando uma estratégia de tendência com outra de fase de correção

Combinando uma estratégia de tendência com outra de fase de correção

Existem diversas estratégias de negociação - algumas procuram movimentos direcionais e operam com a tendência, já outras identificam faixas de preço e negociam dentro desses corredores. Neste ponto, surge a pergunta: é possível combinar as duas abordagens para aumentar a rentabilidade da negociação?
Gráfico PairPlot baseado em CGraphic para analisar correlações entre arrays de dados (séries temporais)
Gráfico PairPlot baseado em CGraphic para analisar correlações entre arrays de dados (séries temporais)

Gráfico PairPlot baseado em CGraphic para analisar correlações entre arrays de dados (séries temporais)

Comparar várias séries temporais durante uma análise técnica é uma tarefa bastante comum que requer ferramentas apropriadas. Neste artigo, eu sugiro o desenvolvimento de uma ferramenta para análise gráfica e a detecção de correlações entre duas ou mais séries temporais.
Escrita de indicadores de bolsa com controle de volume usando o indicador delta como exemplo
Escrita de indicadores de bolsa com controle de volume usando o indicador delta como exemplo

Escrita de indicadores de bolsa com controle de volume usando o indicador delta como exemplo

Este artigo descreve um algoritmo para construir indicadores de bolsa com base em volumes reais usando as funções CopyTicks() e CopyTicksRange(). Também apresenta as particularidades de construção desses indicadores, bem como seus aspetos de funcionamento tanto em tempo real quanto no testador de estratégias.
Redes Neurais Profundas (Parte VIII). Melhorando a qualidade de classificação dos bagging de ensembles
Redes Neurais Profundas (Parte VIII). Melhorando a qualidade de classificação dos bagging de ensembles

Redes Neurais Profundas (Parte VIII). Melhorando a qualidade de classificação dos bagging de ensembles

O artigo considera três métodos que podem ser usados ​​para aumentar a qualidade de classificação do bagging de ensembles, e a estimação de sua eficiência. Os efeitos da otimização dos hiperparâmetros da rede neural ELM e dos parâmetros de pós-processamento são avaliados.
Integração de um EA em MQL e bancos de dados (SQL Server, .NET e C#)
Integração de um EA em MQL e bancos de dados (SQL Server, .NET e C#)

Integração de um EA em MQL e bancos de dados (SQL Server, .NET e C#)

Este artigo descreve como adicionar a um EA um recurso para trabalhar com o servidor de banco de dados Microsoft SQL Server. São importadas funções de uma DLL. Para criar a DLL, é implementada a plataforma Microsoft .NET e a linguagem C#. Com pequenas alterações, os métodos usados no artigo também são adequados para EAs escritos em MQL4.
Negociação social. Sera que um sinal lucrativo pode ainda ser melhorado?
Negociação social. Sera que um sinal lucrativo pode ainda ser melhorado?

Negociação social. Sera que um sinal lucrativo pode ainda ser melhorado?

A maioria dos assinantes escolhe sinais de negociação pela aparência da curva de saldo e pelo número de assinantes. Daí que muitos provedores hoje se preocupam mais com estatísticas bonitas do que com a qualidade real do sinal, muitas vezes testando diversos volumes de transação e melhorando artificialmente a aparência da curva de saldo. Este artigo aborda critérios de confiabilidade e maneiras pelas quais um provedor pode melhorar a qualidade de seu sinal. São exemplificadas a análise do histórico de um determinado sinal e as maneiras que podem ajudar o provedor a torná-lo mais lucrativo e menos arriscado.
50 000 encomendas atendidas no Freelance MQL5.com
50 000 encomendas atendidas no Freelance MQL5.com

50 000 encomendas atendidas no Freelance MQL5.com

Mais de 50 000 pedidos foram concluídos até outubro de 2018 pelos membros do serviço oficial Freelance MetaTrader — o maior site freelance do mundo para programadores MQL, contando com mais de mil desenvolvedores, com dezenas encomendas diárias e com localização em 7 idiomas.
Indicador universal RSI para operação simultânea em dois sentidos
Indicador universal RSI para operação simultânea em dois sentidos

Indicador universal RSI para operação simultânea em dois sentidos

Ao desenvolver algoritmos de negociação, muitas vezes enfrentamos o desafio de como determinar onde começa e termina a tendência/fase de correção. Neste artigo, tentaremos criar um indicador universal compatível com sinais para diferentes tipos de estratégias. Procuraremos simplificar ao máximo o recebimento de sinais para operações de negociação no EA. Exemplificaremos como combinar diferentes indicadores num único indicador.
Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking
Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking

Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking

Nós continuamos a construir os ensembles. Desta vez, o bagging de ensemble criado anteriormente será complementado com um combinador treinável — uma rede neural profunda. Uma rede neural combina as 7 melhores saídas ensemble após a poda. A segunda obtém todas as 500 saídas do ensemble como entrada, realizando a poda e combinando elas. As redes neurais serão construídas usando o pacote keras/TensorFlow para Python. Os recursos do pacote serão brevemente considerados. Serão realizados os testes e a comparação da qualidade de classificação do bagging e stacking de ensembles.
950 sites transmitindo o calendário econômico da MetaQuotes
950 sites transmitindo o calendário econômico da MetaQuotes

950 sites transmitindo o calendário econômico da MetaQuotes

A adição do widget fornece os sites com um cronograma detalhado de 500 indicadores das maiores economias do mundo. Assim, além do conteúdo principal do site, os traders recebem rapidamente informações atualizadas sobre todos os eventos importantes com explicações e gráficos.
Apresentação personalizada do histórico de negociação e criação de gráficos para relatórios
Apresentação personalizada do histórico de negociação e criação de gráficos para relatórios

Apresentação personalizada do histórico de negociação e criação de gráficos para relatórios

O artigo descreve métodos personalizados, a fim de avaliar o histórico de negociação. Para fazer isso, são descritas duas classes para seu carregamento e análise. A primeira recolhe o histórico de negociação numa pequena tabela. Já a segunda está encarregada das estatísticas, uma vez que calcula vários indicadores e plota gráficos que ajudam a tornar mais conveniente a avaliação da eficácia da negociação.
14 000 robôs de negociação no Mercado MetaTrader
14 000 robôs de negociação no Mercado MetaTrader

14 000 robôs de negociação no Mercado MetaTrader

A maior loja de aplicativos prontos para algotrading já possui 13 970 produtos — entre eles 4 800 robôs, 6 500 indicadores, 2.400 utilitários e outras soluções. Quase metade dos aplicativos (6 000) não podem ser comprados, mas, sim, alugados. Um quarto dos produtos (3 800) é totalmente gratuito.
Teste de padrões de pares de moedas: Aplicação prática e perspectivas reais de negociação. Parte IV
Teste de padrões de pares de moedas: Aplicação prática e perspectivas reais de negociação. Parte IV

Teste de padrões de pares de moedas: Aplicação prática e perspectivas reais de negociação. Parte IV

Este artigo conclui a série dedicada à negociação de cestas de pares de moedas. Aqui nós testamos o padrão restante e discutimos a aplicação de todo o método na negociação real. Serão considerados as entradas e saídas no mercado, busca e análise de padrões e a aplicação de indicadores combinados.
Análise comparativa de 10 estratégias de fase de correção
Análise comparativa de 10 estratégias de fase de correção

Análise comparativa de 10 estratégias de fase de correção

O artigo explora as vantagens e desvantagens de negociar durante movimentos laterais. São criadas e testadas 10 estratégias que se baseiam no acompanhamento do movimento de preços dentro do canal. Cada estratégia possui um mecanismo de filtragem para eliminar sinais falsos de entrada no mercado.
O monitoramento da conta de negociação é uma ferramenta essencial do trader
O monitoramento da conta de negociação é uma ferramenta essencial do trader

O monitoramento da conta de negociação é uma ferramenta essencial do trader

O monitoramento da conta de negociação é um relatório detalhado de todas as transações concluídas. Todas as estatísticas de negociação são coletadas automaticamente e fornecidas a você na forma de diagramas e gráficos amigáveis.
Como criar uma Especificação de Requisitos para solicitar um robô de negociação
Como criar uma Especificação de Requisitos para solicitar um robô de negociação

Como criar uma Especificação de Requisitos para solicitar um robô de negociação

Você está negociando usando sua própria estratégia? Se as regras do sistema puderem ser formalmente descritas como algoritmos de software, é melhor confiar a negociação a um Expert Advisor automatizado. Um robô não precisa de sono ou comida e não está sujeito as fraquezas humanas. Neste artigo, nós mostramos como criar uma Especificação de Requisitos ao solicitar um robô de negociação no serviço Freelance.
Aplicação do método de Monte Carlo para otimizar estratégias de negociação
Aplicação do método de Monte Carlo para otimizar estratégias de negociação

Aplicação do método de Monte Carlo para otimizar estratégias de negociação

Antes de lançar um robô em uma conta de negociação, geralmente nós realizamos testes e otimizações no histórico das cotações. No entanto, surge uma pergunta razoável: como os resultados passados ​​podem nos ajudar no futuro? O artigo descreve a aplicação do método de Monte Carlo para construir critérios personalizados para a otimização da estratégia de negociação. Além disso, são considerados os critérios de estabilidade do EA.
Redes Neurais Profundas (Parte VI). Ensemble de classificadores de redes neurais: bagging
Redes Neurais Profundas (Parte VI). Ensemble de classificadores de redes neurais: bagging

Redes Neurais Profundas (Parte VI). Ensemble de classificadores de redes neurais: bagging

O artigo discute os métodos de construção e treinamento de ensembles de redes neurais com estrutura de bagging. Ele também determina as peculiaridades da otimização de hiperparâmetros para classificadores de redes neurais individuais que compõem o ensemble. A qualidade da rede neural otimizada obtida no artigo anterior da série é comparada com a qualidade do ensemble de redes neurais criado. São consideradas as possibilidades de melhorar ainda mais a qualidade da classificação do ensemble.
Construtor de estratégia visual. Criação de robôs de negociação sem programação
Construtor de estratégia visual. Criação de robôs de negociação sem programação

Construtor de estratégia visual. Criação de robôs de negociação sem programação

Este artigo apresenta um construtor de estratégia visual. É mostrado como qualquer usuário pode criar robôs de negociação e utilitários sem programação. Os Expert Advisors criados são totalmente funcionais e podem ser testados no testador de estratégias, otimizados na nuvem ou executados ao vivo em gráficos em tempo real.
EA com interface gráfica: Fornecendo funcionalidade (Parte II)
EA com interface gráfica: Fornecendo funcionalidade (Parte II)

EA com interface gráfica: Fornecendo funcionalidade (Parte II)

Esta é a segunda parte do artigo sobre criação de um EA multissímbolo de sinal para negociação manual. Nós já criamos uma interface gráfica. Neste artigo, vamos falar sobre como vinculá-la à funcionalidade do programa.