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
Previsão de movimentos do mercado utilizando a classificação Bayesiana e indicadores com base na análise de espectro singular
Previsão de movimentos do mercado utilizando a classificação Bayesiana e indicadores com base na análise de espectro singular

Previsão de movimentos do mercado utilizando a classificação Bayesiana e indicadores com base na análise de espectro singular

Nesta pesquisa, são consideradas uma ideologia e metodologia a fim de construir um sistema de recomendação para negociar rápido com base na combinação de possibilidades de previsão com ajuda da Análise de Espetro Singular (SSA) e o método de aprendizado de máquina baseado no teorema de Bayes.
Exemplo de indicador que constrói uma linha de suporte e resistência
Exemplo de indicador que constrói uma linha de suporte e resistência

Exemplo de indicador que constrói uma linha de suporte e resistência

O artigo mostra a implementação de um indicador para construção de linhas de suporte e de resistência com base em condições formais. Você não só poderá aplicar o indicador, mas também entenderá quão fácil é realizá-lo. Agora você será capaz de formular as condições para desenhar linhas alterando o código do indicador ligeiramente para atender às suas necessidades.
Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)
Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)

Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)

Este artigo implementará a possibilidade de selecionar o texto usando várias combinações de teclas e excluir o texto selecionado, da mesma maneira que é feito em outros editores de texto. Além disso, vamos continuar com a otimização do código e prepararemos as classes para avançar para o processo final do segundo estágio da evolução da biblioteca, onde todos os controles serão renderizados como imagens separadas (telas).
Quanto dura a tendência?
Quanto dura a tendência?

Quanto dura a tendência?

No artigo, são selecionadas várias maneiras de identificar a tendência, a fim de definir sua duração em relação ao estado de correção do mercado. Na teoria, acredita-se numa correlação tendência-fase de correção de 30% para 70%. Nós temos que verificar isso.
Ângulos em negociação e a necessidade de estudá-los
Ângulos em negociação e a necessidade de estudá-los

Ângulos em negociação e a necessidade de estudá-los

Este artigo analisa a negociação através da medição de ângulos no terminal MetaTrader 4. Além disso, é apresentado o plano geral para o uso de ângulos a fim de analisar a tendência, bem como abordagens inovadoras que permitem a aplicação prática de análise de ângulos na negociação. As conclusões descritas são úteis para negociação.
Criação de indicadores personalizados usando a classe CCanvas
Criação de indicadores personalizados usando a classe CCanvas

Criação de indicadores personalizados usando a classe CCanvas

O artigo descreve um exemplo de criação de indicadores personalizados usando as primitivas gráficas da classe CCanvas.
Sistema de negociação DiNapoli
Sistema de negociação DiNapoli

Sistema de negociação DiNapoli

No artigo, é examinado o sistema de negociação com níveis de Fibonacci desenvolvido e descrito por Joe DiNapoli. Além disso, são explicados os conceitos básicos e a essência do sistema, e é fornecido um exemplo de um indicador simples.
Criação de documentos com base em códigos-fonte MQL5
Criação de documentos com base em códigos-fonte MQL5

Criação de documentos com base em códigos-fonte MQL5

No artigo é estudada a criação de documentação para um código em linguagem MQL5, partindo da automação de tags (marcação). Além disso, quanto ao programa Doxygen, é descrito seu funcionamento, adequada configuração e obtenção de resultados em vários formatos (HTML, HtmlHelp e PDF).
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.
Ondas de Wolfe
Ondas de Wolfe

Ondas de Wolfe

Este método gráfico, proposto por Bill Wolfe, torna possível não só identificar a forma e, assim, determinar o tempo e a direção de entrada, mas também prever o alvo, que deve atingir o preço, e o tempo para alcançá-lo. Este artigo descreve como criar, com a base no indicador ZigZag, um indicador para procurar ondas de Wolfe e um Expert Advisor simples que opere de acordo com seus sinais.
Receitas MQL5 - Criamos um buffer circular para calcular rapidamente indicadores numa janela deslizante
Receitas MQL5 - Criamos um buffer circular para calcular rapidamente indicadores numa janela deslizante

Receitas MQL5 - Criamos um buffer circular para calcular rapidamente indicadores numa janela deslizante

O buffer circular é a maneira mais simples e eficaz de organizar os dados para os cálculos numa janela deslizante. Este artigo descreve como está construído este algoritmo e mostra como usá-lo para fazer o cálculo numa janela deslizante usando um processo simples e eficiente.
Interfaces gráficas X: Algoritmo de quebra de linha na caixa de texto multilinha (build 12)
Interfaces gráficas X: Algoritmo de quebra de linha na caixa de texto multilinha (build 12)

Interfaces gráficas X: Algoritmo de quebra de linha na caixa de texto multilinha (build 12)

Nós continuamos com o desenvolvimento do controle da caixa de texto Multilinha. Desta vez, nossa tarefa é implementar um quebra automático de linha no caso da largura da caixa de texto ser excedida ou uma quebra automática de linha inversa do texto para a linha anterior se a oportunidade surgir.
Sequência DeMarker (TD SEQUENTIAL) com uso de inteligência artificial (IA)
Sequência DeMarker (TD SEQUENTIAL) com uso de inteligência artificial (IA)

Sequência DeMarker (TD SEQUENTIAL) com uso de inteligência artificial (IA)

Neste ativo, vou discutir como, "cruzando" uma estratégia muito importante e uma rede neural, é possível se envolver com sucesso na negociação. Falaremos sobre a estratégia "Sequential" de Thomas DeMarker com o uso de sistemas de inteligência artificial (IA). O trabalho será APENAS segundo a primeira parte da estratégia, utilizando os sinais "Instalação" e "Interseção".
Negociação usando canais Donchian
Negociação usando canais Donchian

Negociação usando canais Donchian

No artigo, são desenvolvidas e testadas várias estratégias com base no canal Donchian com a utilização de diferentes indicadores de filtro. São realizadas a pesquisa e a análise comparativa de seu funcionamento.
Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)
Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)

Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)

Nós continuamos a adicionar novos recursos para a tabela renderizada: ordenação dos dados, gerenciamento do número de colunas e linhas, definição dos tipos de células da tabela para colocar os controles dentro delas.
Análise comparativa de 10 estratégias de tendência
Análise comparativa de 10 estratégias de tendência

Análise comparativa de 10 estratégias de tendência

No artigo, além de una breve visão geral de 10 estratégias de tendência, são levados a cabo seu teste e análise comparativa. Com base nos resultados obtidos, é feita uma conclusão geral sobre a viabilidade, vantagens e desvantagens da negociação de tendência.
Os Expert Advisors prontos a partir do Assistente MQL5 funcionam no MetaTrader 4
Os Expert Advisors prontos a partir do Assistente MQL5 funcionam no MetaTrader 4

Os Expert Advisors prontos a partir do Assistente MQL5 funcionam no MetaTrader 4

No artigo, propõe-se um emulador simples do ambiente de negociação MetaTrader 5 para o MetaTrader 4. Com sua ajuda é possível transferir e adaptar as classes de negociação da biblioteca padrão. Como resultado, os EAs gerados no Assistente do MetaTrader 5 podem ser compilados e executados sem alterações no MetaTrader 4.
Receitas MQL5 - sinais de negociação de pivô
Receitas MQL5 - sinais de negociação de pivô

Receitas MQL5 - sinais de negociação de pivô

No artigo, é apresentado o processo de desenvolvimento e implementação de uma classe-robô de sinais com base em pivôs, isto é, níveis de reversão. Com base nesta classe é construída uma estratégia usando a Biblioteca padrão. São consideradas as possibilidades de desenvolver uma estratégia de pivôs adicionando filtros.
Tendência universal com GUI
Tendência universal com GUI

Tendência universal com GUI

No artigo, criaremos um indicador de tendência universal com base numa série de indicadores padrão. Será desenvolvida uma interface gráfica do usuário para selecionar o tipo de indicador e seus parâmetros. Exibiremos o indicador numa janela separada com fileiras de ícones coloridos.
Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)
Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)

Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)

Nós continuamos a complementar a tabela renderizada (CCanvasTable) com novas funcionalidades. A tabela terá agora: o realce das linhas quando o mouse estiver em cima; possibilidade de adicionar um array de ícones para cada célula e um método para trocá-los; possibilidade de definir ou modificar o texto da célula durante a execução do programa, e muito mais.
Padrões disponíveis para negociação de cestas de moedas. Parte II
Padrões disponíveis para negociação de cestas de moedas. Parte II

Padrões disponíveis para negociação de cestas de moedas. Parte II

Continuação da conversa sobre padrões que podem ser detectados pelo trader ao operar pares de moedas. Esta parte descreve os padrões formados durante o uso combinado de indicadores de tendência. Como ferramentas de análise são usados indicadores construídos com base num índice de moeda.
Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)
Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)

Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)

Até agora, o tipo mais avançado de tabelas já desenvolvido em nossa biblioteca foi a CTable. Esta tabela é montada a partir de caixas de edição do tipo OBJ_EDIT, e seu posterior desenvolvimento tornou-se problemático. Portanto, em termos de capacidades máximas, é melhor desenvolver tabelas renderizadas do tipo CCanvasTable mesmo no atual estágio de desenvolvimento da biblioteca. Sua versão atual está completamente inerte, mas a partir deste artigo, nós vamos tentar corrigir esta situação.
Interfaces Gráficas X: O controle Caixa de Texto Multilinha (build 8)
Interfaces Gráficas X: O controle Caixa de Texto Multilinha (build 8)

Interfaces Gráficas X: O controle Caixa de Texto Multilinha (build 8)

Neste artigo, nós vamos discutir o controle Caixa de Texto Multilinha. Ao contrário dos objetos gráficos do tipo OBJ_EDIT, a versão apresentada não terá restrições quanto ao número de caracteres de entrada. Ele também adiciona o modo para transformar a caixa de texto em um editor de texto simples, onde o cursor pode ser movido usando o mouse ou as teclas.
Cálculo do coeficiente de Hurst
Cálculo do coeficiente de Hurst

Cálculo do coeficiente de Hurst

No artigo são apresentados em detalhes o propósito do expoente de Hurst, a interpretação de seus valores e o algoritmo de cálculo. São ilustrados os resultados da análise de alguns segmentos dos mercados financeiros e é apresentado o método de trabalho com softwares MetaTrader 5 que implementam a ideia da análise fractal.
preview
Visualize isto! Biblioteca gráfica em linguagem MQL5 como equivalente a plot de R

Visualize isto! Biblioteca gráfica em linguagem MQL5 como equivalente a plot de R

A exibição visual usando gráficos desempenha um importante papel na exploração e estudo de padrões regulares. Nas populares linguagens de programação entre a comunidade científica, tais como R e Python, a função especial plot é destinada para visualização. Com ela você pode desenhar linhas, gráficos de dispersão e histogramas para visualizar padrões. Em linguagem MQL5 você pode fazer a mesma coisa usando a classe CGraphics.
Canal universal com GUI
Canal universal com GUI

Canal universal com GUI

Todos os indicadores de canais apresentam três linhas, isto é: central, superior e inferior. A linha central, quanto à sua plotagem, é idêntica à média móvel. Na maioria dos casos, para a plotagem do canal, é utilizada a média móvel. As linhas superior e inferior são equidistantes da linha central. Esta distância pode ser determinada simplesmente em pontos, em porcentagem do preço (indicador Envelopes), pode ser usado o valor do desvio padrão (bandas de Bollinger), pode ser empregado o valor do indicador de ATR (canal Keltner).
Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)
Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)

Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)

O código da biblioteca precisa ser otimizado: ele deve ser mais regularizado, o que é - mais legível e compreensível para estudar. Além disso, nós vamos continuar a desenvolver os controles criados anteriormente: listas, tabelas e barras de rolagem.
Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)
Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)

Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)

O desenvolvimento da biblioteca para a criação de interfaces gráficas continua. Os controles Horário e a Lista de Caixas de Seleção serão discutidos neste momento. Além disso, agora a classe CTable fornece a capacidade de classificar os dados em ordem crescente ou decrescente.
Modelagem 3D em MQL5
Modelagem 3D em MQL5

Modelagem 3D em MQL5

As séries temporais são um sistema dinâmico em que os valores de uma variável aleatória chegam de forma consistente, isto é, de forma contínua ou em intervalos. A transição para a análise 3D de mercado fornece um novo olhar sobre os complexos processos e fenômenos de interesse para os investigadores. Este artigo descreve as funções de visualização para representações em 3D de dados bidimensionais.
ZUP - ZigZag universal com padrões Pesavento. Interface gráfica
ZUP - ZigZag universal com padrões Pesavento. Interface gráfica

ZUP - ZigZag universal com padrões Pesavento. Interface gráfica

Nos 10 anos que se passaram desde o lançamento da primeira versão da plataforma ZUP, tem havido muitas mudanças e melhorias. O resultado foi um complemento gráfico exclusivo para MetaTrader 4 que permite analisar fácil e rapidamente informações de mercado. Este artigo descreve como trabalhar com a interface gráfica do usuário da plataforma ZUP.
Detecção automática de pontos extremos com base numa variação de preço especificado
Detecção automática de pontos extremos com base numa variação de preço especificado

Detecção automática de pontos extremos com base numa variação de preço especificado

A automação com estratégias de negociação que envolvem padrões gráficos, requer a capacidade de procurar pontos extremos nos gráficos para processamento e interpretação. As ferramentas existentes nem sempre fornecem essa capacidade. Os algoritmos descritos no artigo permitem encontrar todos os pontos extremos nos gráficos. As ferramentas discutidas aqui são igualmente eficientes durante os movimentos de tendência e de lateralidade. Os resultados obtidos não são fortemente afetados por um período de tempo selecionado e são apenas definidos por uma escala especifica.
Incorpore o terminal web MetaTrader 4/5 em seus sites, já que é gratuito e permite ganhar dinheiro
Incorpore o terminal web MetaTrader 4/5 em seus sites, já que é gratuito e permite ganhar dinheiro

Incorpore o terminal web MetaTrader 4/5 em seus sites, já que é gratuito e permite ganhar dinheiro

Os traders estão bem familiarizados com o terminal web, ele permite negociar nos mercados financeiros diretamente desde o navegador da web. E gostaríamos de oferecer colocá-lo em seu site, uma vez que é totalmente gratuito. Você tem clientes, as corretoras estão interessadas em novas iniciativas, nós, por sua vez, temos uma solução web pronta. E para que tudo corra bem, é necessário apenas incorporar um iframe em seu site.
Exemplo de desenvolvimento de uma estratégia de spread nos futuros da MICEX-RTS
Exemplo de desenvolvimento de uma estratégia de spread nos futuros da MICEX-RTS

Exemplo de desenvolvimento de uma estratégia de spread nos futuros da MICEX-RTS

A MetaTrader 5 permite desenvolver e testar robôs que negociam simultaneamente em vários instrumentos. O testador de estratégia embutido na plataforma baixa automaticamente - a partir do servidor de negociação da corretora - o histórico de ticks e leva em conta as especificações do contrato, assim, o desenvolvedor não precisa fazer nada com suas mãos. Isto torna possível reproduzir com facilidade e confiança todas as condições do ambiente de negociação, até intervalos de milissegundos entre o surgimento de ticks em símbolos diferentes. Neste artigo, vamos mostrar como desenvolver e testar estratégias de spread em dois futuros da Bolsa de Valores de Moscou (MICEX-RTS).
Padrões disponíveis ao negociar cestas de moedas
Padrões disponíveis ao negociar cestas de moedas

Padrões disponíveis ao negociar cestas de moedas

Seguindo o nosso artigo anterior, sobre os princípios de negociação de cestas de moeda, vamos analisar os padrões que os traders podem detectar. Também consideraremos as vantagens e desvantagens de cada padrão e forneceremos algumas recomendações sobre seu uso. Os indicadores baseados no oscilador Williams, serão utilizados como ferramentas de análise.
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.
Interfaces Gráficas X: Caixa de Edição de Texto, Slider de Imagens e Controles Simples (build 5)
Interfaces Gráficas X: Caixa de Edição de Texto, Slider de Imagens e Controles Simples (build 5)

Interfaces Gráficas X: Caixa de Edição de Texto, Slider de Imagens e Controles Simples (build 5)

Este artigo irá considerar novos controles: A Caixa de Edição de Texto, o Slider de Imagem, bem como os controles simples adicionais: Rótulo de Texto e Imagem. A biblioteca continua a crescer, e, além da introdução de novos controles, aqueles que foram criados anteriormente também estão sendo melhorados.
Como desenvolver e testar uma estratégia para Opções Binárias com o Testador de Estratégia do MetaTrader 4
Como desenvolver e testar uma estratégia para Opções Binárias com o Testador de Estratégia do MetaTrader 4

Como desenvolver e testar uma estratégia para Opções Binárias com o Testador de Estratégia do MetaTrader 4

Tutorial para desenvolver uma estratégia para Opções Binárias e testa-la no Testador de Estratégia do MetaTrader 4 com o utilitário do Mercado Binary-Options-Strategy-Tester.
Distribuições estatísticas em forma de histogramas sem buffers de indicador e matrizes
Distribuições estatísticas em forma de histogramas sem buffers de indicador e matrizes

Distribuições estatísticas em forma de histogramas sem buffers de indicador e matrizes

O artigo considera a possibilidade de criar histogramas, distribuições estatísticas das características do mercado usando memória gráfica, ou seja, sem o uso de buffers de indicador e matrizes. Aqui você tem à sua disposição não só exemplos detalhados de como construir esses histogramas, mas também pode conhecer a funcionalidade "oculta" dos objetos gráficos da linguagem MQL5.
Fundamentos Básicos da Programação: Variáveis Globais do Terminal  MetaTrader 5
Fundamentos Básicos da Programação: Variáveis Globais do Terminal  MetaTrader 5

Fundamentos Básicos da Programação: Variáveis Globais do Terminal MetaTrader 5

As variáveis globais do terminal possibilitam uma ferramenta essencial para o desenvolvimento de Expert Advisors sofisticados e confiáveis. Se você dominar as variáveis globais, você nunca mais vai querer desenvolver EAs no MQL5 sem elas.
Oscilador universal com interface gráfica do usuário
Oscilador universal com interface gráfica do usuário

Oscilador universal com interface gráfica do usuário

No artigo, descreve-se a criação de um indicador universal baseado em todos os osciladores do terminal com uma interface gráfica do usuário própria. Isto permite rápida e facilmente alterar os parâmetros de cada oscilador individual diretamente a partir da janela do gráfico (em vez de abrir a janela de opções), comparar seu desempenho e selecionar a melhor opção para uma tarefa específica.