Artigos com exemplos de como programar na linguagem MQL5

icon

Inúmeros artigos com exemplos sobre como criar indicadores e robôs de negociação para a plataforma MetaTrader na linguagem MQL5 esperam por você. Cada artigo é acompanhado de códigos-fonte, que você pode abrir no MetaEditor e executar por conta própria.

Esses artigos serão úteis tanto para quem está se iniciando na negociação automatizada, bem como traders capacitados com experiência em programação e negociação. Aqui você encontrará não apenas exemplos, mas também novas ideias.

Novo artigo
recentes | melhores
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.
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.
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.
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.
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.
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.
Como criar uma Especificação de Requisitos para solicitar um indicador
Como criar uma Especificação de Requisitos para solicitar um indicador

Como criar uma Especificação de Requisitos para solicitar um indicador

Na maioria das vezes, a primeira etapa no desenvolvimento de um sistema de negociação é a criação de um indicador técnico, que pode identificar padrões favoráveis ​​de comportamento do mercado. Um indicador desenvolvido de forma profissional pode ser encomendado no serviço Freelance. Neste artigo você aprenderá a criar uma Especificação de Requisitos apropriada, que o ajudará a obter o indicador desejado mais rapidamente.
Criando um feed de notícias personalizado para o MetaTrader 5
Criando um feed de notícias personalizado para o MetaTrader 5

Criando um feed de notícias personalizado para o MetaTrader 5

O artigo examina a possibilidade de criar um feed de notícias flexível, que oferece muitas opções para escolher o tipo de notícias e sua fonte. Além disso, ele mostra como você pode integrar uma API da Web ao terminal MetaTrader 5.
LifeHack para traders: "amassando" ForEach com os define (#define)
LifeHack para traders: "amassando" ForEach com os define (#define)

LifeHack para traders: "amassando" ForEach com os define (#define)

Passo intermediário para aqueles que ainda escrevem em MQL4, mas não conseguem migrar para MQL5. Continuamos a procurar oportunidades para escrever código em estilo MQL4. Desta vez, examinaremos a substituição de macros do pré-processador - #define.
O padrão Rompimento de Canal
O padrão Rompimento de Canal

O padrão Rompimento de Canal

As tendências de preços formam canais de preços que podem ser observados nos gráficos dos instrumentos financeiros. O rompimento do canal atual é um forte sinal de reversão de tendência. Neste artigo, eu sugiro uma maneira de automatizar o processo de encontrar esses sinais e ver se o padrão de rompimento de canal pode ser usado para criar uma estratégia de negociação.
Testador de estratégia personalizada com base em cálculos matemáticos rápido
Testador de estratégia personalizada com base em cálculos matemáticos rápido

Testador de estratégia personalizada com base em cálculos matemáticos rápido

O artigo descreve como criar um testador de estratégias personalizado e um analisador de corridas de otimização próprio. Depois de lê-lo, você vai entender como funciona o modo de cálculos matemáticos e o mecanismo de quadros, como preparar e fazer upload de seus próprios dados para cálculos e usar algoritmos eficientes para comprimi-los. Além disso, este artigo será de interesse para quem deseje saber maneiras de armazenar informações personalizadas num EA.
Estratégia de negociação "Momentum Pinball"
Estratégia de negociação "Momentum Pinball"

Estratégia de negociação "Momentum Pinball"

Neste artigo, continuamos a falar sobre a programação das estratégias de negociação descritas no livro de L. Raschke e L. Connors "Street Smarts: High Probability Short-Term Trading Strategies, devoted to testing of range limits by price". Desta vez, estudamos o sistema "Momentum Pinball": é descrita a criação de dois indicadores, um robô de negociação e um bloco de sinal com base nele.
Negociação pelos níveis de DiNapoli
Negociação pelos níveis de DiNapoli

Negociação pelos níveis de DiNapoli

O artigo considera uma das variantes da implementação prática do Expert Advisor para negociar com os níveis de DiNapoli usando as ferramentas padrão da MQL5. São realizados o teste de desempenho e suas conclusões.
Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors
Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors

Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors

Este artigo aborda principalmente as classes CExpertAdvisor e CExpertAdvisors, que servem como contêiner para todos os outros componentes descritos nesta série de artigos sobre expert advisors multiplataforma.
Lógica Difusa nas estratégias de negociação
Lógica Difusa nas estratégias de negociação

Lógica Difusa nas estratégias de negociação

O artigo considera um exemplo de aplicação da lógica difusa para construir um sistema de negociação simples, usando a biblioteca Fuzzy. São propostas melhorias ao sistema através da combinação da lógica difusa, algoritmos genéticos e redes neurais.
Expert Advisor Multiplataforma: Stops personalizados, Breakeven e Stop Móveis
Expert Advisor Multiplataforma: Stops personalizados, Breakeven e Stop Móveis

Expert Advisor Multiplataforma: Stops personalizados, Breakeven e Stop Móveis

Este artigo discute como os níveis de stop personalizados podem ser configurados em um expert advisor multiplataforma. Ele também discute um método fortemente relacionado ao assunto na qual envolve a possibilidade de definir a evolução do nível de stop ao longo do tempo.
Expert Advisor Multiplataforma: Stops
Expert Advisor Multiplataforma: Stops

Expert Advisor Multiplataforma: Stops

Este artigo discute uma implementação dos níveis de stop em um expert advisor para torná-lo compatível com as duas plataformas - MetaTrader 4 e MetaTrader 5.
Busca automática de divergências e convergência
Busca automática de divergências e convergência

Busca automática de divergências e convergência

O artigo examina todos os tipos de divergência: oculta, estendida, tripla, convergência, de classes A, B e C, etc. É criado um indicador universal para elas serem buscadas e exibidas num gráfico.
Interfaces gráficas XI: Integração da Biblioteca Gráfica Padrão (build 16)
Interfaces gráficas XI: Integração da Biblioteca Gráfica Padrão (build 16)

Interfaces gráficas XI: Integração da Biblioteca Gráfica Padrão (build 16)

Uma nova versão da biblioteca gráfica para a criação de gráficos científicos (a classe CGraphic) foi apresentada recentemente. Esta atualização da biblioteca desenvolvida para criar interfaces gráficas irá introduzir uma versão com um novo controle para a criação de gráficos. Agora está ainda mais fácil de visualizar os dados de diferentes tipos.
Escrevendo um livro de ofertas de scalping com base na biblioteca gráfica CGraphic
Escrevendo um livro de ofertas de scalping com base na biblioteca gráfica CGraphic

Escrevendo um livro de ofertas de scalping com base na biblioteca gráfica CGraphic

O artigo apresenta a criação de um livro de ofertas de scalping com funcionalidade básica. Desenvolve-e um gráfico de ticks com base na biblioteca gráfica CGraphic e se integra na tabela de pedidos. Pode-se criar um poderoso auxiliar para negociação no curto prazo utilizando o livro de ofertas descrito.
Expert Advisor universal: indicador CUnIndicator e trabalho com ordens pendentes (parte 9)
Expert Advisor universal: indicador CUnIndicator e trabalho com ordens pendentes (parte 9)

Expert Advisor universal: indicador CUnIndicator e trabalho com ordens pendentes (parte 9)

O artigo descreve o trabalho com indicadores através da classe universal do CUnIndicator. Além disso, consideram-se novas formas de trabalhar com ordens pendentes. Observe que, a partir deste ponto, a estrutura do projeto do CStrategy muda significativamente. Agora todos os arquivos são colocados num único diretório para a conveniência dos usuários.
Usando armazenamento em nuvem para intercâmbio de dados entre os terminais
Usando armazenamento em nuvem para intercâmbio de dados entre os terminais

Usando armazenamento em nuvem para intercâmbio de dados entre os terminais

As tecnologias baseadas em nuvem estão se tornando mais populares. À nossa disposição temos serviços de armazenamento pagos ou gratuitos. Mas será que é possível usá-los na negociação? Este artigo apresenta uma tecnologia para intercâmbio de dados entre terminais usando serviços de armazenamento em nuvem.
Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)
Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)

Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)

Nesta atualização da biblioteca, o controle da tabela (a classe CTable) será complementado com novas opções. A gama de controles nas células da tabela foi expandida, desta vez adicionando as caixas de edição de texto e as caixas de combinação. Além disso, esta atualização também apresenta a capacidade de redimensionar a janela de uma aplicação MQL em tempo de execução.
Criação e teste de símbolos personalizados na MetaTrader 5
Criação e teste de símbolos personalizados na MetaTrader 5

Criação e teste de símbolos personalizados na MetaTrader 5

A criação de símbolos personalizados empurra os limites no desenvolvimento de sistemas de negociação e análise do mercado financeiro. Agora, os traders são capazes de desenhar gráficos e testar estratégias de negociação em um número ilimitado de instrumentos financeiros.
Examinemos na prática o método adaptativo de acompanhamento do mercado
Examinemos na prática o método adaptativo de acompanhamento do mercado

Examinemos na prática o método adaptativo de acompanhamento do mercado

A principal diferença entre ele e o sistema de negociação proposto no artigo é o uso de ferramentas matemáticas para analisar as cotações da bolsa de valores. O sistema implementa filtragem digital e estimativa espectral de séries temporais discretas. Descrevem-se os aspectos teóricos da estratégia e constrói-se o Expert Advisor para testá-la.
Padrão de bandeira
Padrão de bandeira

Padrão de bandeira

No artigo, são examinados os padrões de Bandeira, Flâmula, Cunha, Retângulo, Triângulo contrativo, Triângulo expansivo. São analisadas suas similaridades e diferenças, são criados tanto indicadores para pesquisá-los no gráfico quanto um indicador-testador para avaliar sua eficácia.
Expert Advisor Universal: Acessando as Propriedades do Símbolo (Parte 8)
Expert Advisor Universal: Acessando as Propriedades do Símbolo (Parte 8)

Expert Advisor Universal: Acessando as Propriedades do Símbolo (Parte 8)

A oitava parte do artigo apresenta a descrição da classe CSymbol, que é um objeto especial que fornece acesso a qualquer instrumento de negociação. Quando usada dentro de um Expert Advisor, a classe fornece um amplo conjunto de propriedades do símbolo, permitindo simplificar a programação do Expert Advisor e expandir a sua funcionalidade.
Expert Advisor Multiplataforma: Filtros de Tempo
Expert Advisor Multiplataforma: Filtros de Tempo

Expert Advisor Multiplataforma: Filtros de Tempo

Este artigo discute a implementação de vários métodos de filtragem de tempo de um Expert Advisor multiplataforma. As classes de filtro de tempo são responsáveis ​​por verificar se um determinado momento corresponde a uma determinada configuração de tempo definida.
Interfaces Gráficas XI: Controles renderizados (build 14.2)
Interfaces Gráficas XI: Controles renderizados (build 14.2)

Interfaces Gráficas XI: Controles renderizados (build 14.2)

Na nova versão da biblioteca, todos os controles serão desenhados em objetos gráficos separados do tipo OBJ_BITMAP_LABEL. Nós também vamos continuar a descrever a otimização do código: serão discutidas as mudanças nas principais classes da biblioteca.
Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)
Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)

Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)

À medida que a biblioteca cresce, seu código deve ser otimizado novamente para reduzir o seu tamanho. A versão da biblioteca descrita neste artigo tornou-se ainda mais orientada a objetos. Isso tornou o código mais amigável para o aprendizado. Uma descrição detalhada das últimas mudanças permitirá que os leitores desenvolvam a biblioteca de maneira independentemente de acordo com suas próprias necessidades.
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.