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
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.
Floresta de Decisão Aleatória na Aprendizagem por Reforço
Floresta de Decisão Aleatória na Aprendizagem por Reforço

Floresta de Decisão Aleatória na Aprendizagem por Reforço

A Floresta Aleatória (RF), com o uso de bagging, é um dos métodos mais poderosos de aprendizado de máquina, o que é ligeiramente inferior ao gradient boosting. Este artigo tenta desenvolver um sistema de negociação de autoaprendizagem que toma decisões com base na experiência adquirida com a interação com o mercado.
EA com interface gráfica: Criação do painel (Parte I)
EA com interface gráfica: Criação do painel (Parte I)

EA com interface gráfica: Criação do painel (Parte I)

Apesar de muitos traders ainda preferirem negociar manualmente, há poucas hipóteses de fazer o trabalho sem automatizar as operações de rotina. O artigo mostra um exemplo em que é criado um EA multissímbolo de sinal para negociação manual.
Como analisar os trades do Sinal selecionado no gráfico
Como analisar os trades do Sinal selecionado no gráfico

Como analisar os trades do Sinal selecionado no gráfico

O serviço Sinais de negociação se desenvolve rapidamente. E como você está confiando seu dinheiro a um provedor do sinais, seria bom minimizar o risco de perder o depósito. Como lidar com essa selva de sinais de negociação? Como encontrar esse sinal que trará o lucro para você? O artigo propõe a criação de uma ferramenta para analisar visualmente o histórico de trades de sinais de negociação no gráfico do instrumento.
Como transferir a parte de cálculo de qualquer indicador para o código do EA
Como transferir a parte de cálculo de qualquer indicador para o código do EA

Como transferir a parte de cálculo de qualquer indicador para o código do EA

Existem vários motivos que justificam a transferência do código do indicador para o EA. Mas como avaliar os prós e contras desta abordagem? Este artigo propõe uma maneira de transferir o código do indicador para um EA. Além disso, são realizados vários experimentos para avaliar a velocidade de funcionamento do EA.
Melhoramos o trabalho com Painéis, adicionando transparência, alterando a cor do plano de fundo e herdando da CAppDialog/CWndClient
Melhoramos o trabalho com Painéis, adicionando transparência, alterando a cor do plano de fundo e herdando da CAppDialog/CWndClient

Melhoramos o trabalho com Painéis, adicionando transparência, alterando a cor do plano de fundo e herdando da CAppDialog/CWndClient

Continuamos a estudar o trabalho com a CAppDialog. Agora, aprenderemos a como definir a cor de fundo, de borda e de barra de título para o painel gráfico. Consideraremos passo a passo como adicionar transparência à janela do aplicativo ao movê-la no gráfico. Em seguida, analisaremos a criação de descendentes da CAppDialog ou da CWndClient e veremos novas sutilezas ao trabalhar com controles. Finalmente, olharemos de uma nova perspectiva os novos Projetos.
Visualização dos resultados de otimização pelo critério selecionado
Visualização dos resultados de otimização pelo critério selecionado

Visualização dos resultados de otimização pelo critério selecionado

No artigo, continuamos a desenvolver o aplicativo MQL para trabalhar com resultados de otimização que foi iniciado em artigos anteriores. Desta vez, veremos um exemplo em que podemos gerar uma tabela de melhores resultados após a otimização de parâmetros, especificando através da interface gráfica outro critério.
Construímos um ZigZag de osciladores. Exemplo de execução do trabalho segundo os termos de referência
Construímos um ZigZag de osciladores. Exemplo de execução do trabalho segundo os termos de referência

Construímos um ZigZag de osciladores. Exemplo de execução do trabalho segundo os termos de referência

O artigo apresenta a criação do indicador ZigZag de acordo com os termos de referência para um dos exercícios descritos no artigo "Como criar uma especificação de requisitos para solicitar um indicador". O indicador é construído com base em extremos determinados com a ajuda de um oscilador. O indicador suporta o uso de um dos seguintes osciladores: WPR, CCI, Chaikin, RSI, Stochastic Oscillator.
preview
Como criar um painel gráfico de qualquer nível de complexidade

Como criar um painel gráfico de qualquer nível de complexidade

O artigo apresenta uma explicação detalhada de como criar um painel com base na classe CAppDialog e como adicionar controles ao painel. Ele fornece a descrição da estrutura do painel e um esquema, que exibe a herança de objetos. Neste artigo, você também aprenderá como os eventos são tratados e como eles são entregues aos controles dependentes. Exemplos adicionais mostram como editar os parâmetros do painel, como o tamanho e a cor do plano de fundo.
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.
Trabalhemos com os resultados da otimização através da interface gráfica do usuário
Trabalhemos com os resultados da otimização através da interface gráfica do usuário

Trabalhemos com os resultados da otimização através da interface gráfica do usuário

Continuamos a desenvolver o tópico sobre o processamento e análise de resultados de otimização. Desta vez, a tarefa é selecionar os 100 melhores resultados de otimização e exibi-los na tabela da GUI. Vamos fazer com que o usuário, selecionando uma série na tabela de resultados de otimização, receba um gráfico multissímbolo de saldo e rebaixamento, em gráficos separados.
Gráfico de saldo multissímbolo no MetaTrader 5
Gráfico de saldo multissímbolo no MetaTrader 5

Gráfico de saldo multissímbolo no MetaTrader 5

O artigo mostra um aplicativo MQL de exemplo com uma interface gráfica em que gráficos multissímbolos de saldo e rebaixamento do depósito são exibidos com base nos resultados do último teste.
Visualizando a otimização de uma estratégia de negociação na MetaTrader 5
Visualizando a otimização de uma estratégia de negociação na MetaTrader 5

Visualizando a otimização de uma estratégia de negociação na MetaTrader 5

O artigo implementa um aplicativo MQL com uma interface gráfica para a visualização estendida do processo de otimização. A interface gráfica utiliza a última versão da biblioteca EasyAndFast. Muitos usuários podem questionar-se sobre a necessidade de utilizar interfaces gráficas em aplicativos MQL. Este artigo demonstra um dos vários casos em que eles podem ser úteis para os traders.
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.
Sincronização de vários gráficos num instrumento em diferentes timeframes
Sincronização de vários gráficos num instrumento em diferentes timeframes

Sincronização de vários gráficos num instrumento em diferentes timeframes

Muitas vezes, para tomar decisões, no processo de negociação, é necessário analisar simultaneamente gráficos em vários timeframes. Ao mesmo tempo, há objetos de análise gráfica nos gráficos. Implementar os mesmos objetos em todos os gráficos é incômodo. Neste artigo, proponho automatizar a clonagem de objetos em gráficos.
Comparamos a velocidade de indicadores de armazenamento automático em cache
Comparamos a velocidade de indicadores de armazenamento automático em cache

Comparamos a velocidade de indicadores de armazenamento automático em cache

O artigo compara o acesso MQL5 clássico a indicadores com métodos alternativos em estilo MQL4. São consideradas algumas variações de acesso - em estilo MQL4 - a indicadores, nomeadamente, o acesso com cache de identificadores e sem ele. É estudada a contabilização de identificadores de indicadores dentro do kernel MQL5.