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
Armazenamento e visualização de informações
Armazenamento e visualização de informações

Armazenamento e visualização de informações

O artigo trata de métodos convenientes e eficientes de armazenamento e visualização de informações. São consideradas aqui alternativas ao arquivo log padrão do terminal e à função Comment().
Modelo Universal do Expert Advisor
Modelo Universal do Expert Advisor

Modelo Universal do Expert Advisor

Este artigo ajudará iniciantes em trading a criar Expert Advisors ajustáveis.
preview
Otimização Walk Forward Contínua (parte 5): Panorama do Projeto Otimizador Automático e Criação da Interface Gráfica

Otimização Walk Forward Contínua (parte 5): Panorama do Projeto Otimizador Automático e Criação da Interface Gráfica

Este artigo fornece uma descrição mais detalhada da otimização walk-forward na plataforma MetaTrader 5. Nos artigos anteriores, nós consideramos os métodos para gerar e filtrar o relatório de otimização e começar a analisar a estrutura interna do aplicativo responsável pelo processo de otimização. O Otimizador Automático é implementado como uma aplicação em C# e possui sua própria interface gráfica. O quinto artigo é dedicado à criação dessa interface gráfica.
preview
Abordagem de força bruta para encontrar padrões

Abordagem de força bruta para encontrar padrões

Neste artigo, procuraremos padrões no mercado, criaremos Expert Advisors com base neles e verificaremos quanto tempo esses padrões permanecem funcionais.
Documentação gerada automaticamente para o código MQL5
Documentação gerada automaticamente para o código MQL5

Documentação gerada automaticamente para o código MQL5

A maioria dos codificadores Java estará familiarizada com a documentação gerada automaticamente com o JavaDocs. A ideia é adicionar comentários no código de uma maneira semi-estruturada que possam ser extraídos em um arquivo de ajuda fácil de navegar. O mundo do C++ também possui vários geradores automáticos de documentação, com os dois líderes sendo o SandCastle da Microsoft e o Doxygen. O artigo descreve o uso do Doxygen para criar o arquivo de ajuda HTML a partir dos comentários estruturados no código MQL5. O experimento funcionou muito bem, acredito que a documentação de ajuda que o Doxygen produz do código MQL5 irá agregar uma grande quantidade de valor.
Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)
Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)

Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)

Na parte VIII da série de artigos dedicados à criação de interfaces gráficas no MetaTrader, nós vamos introduzir os controles compostos complexos como os calendários, lista hierárquica e o navegador de arquivos. Devido à grande quantidade de informações, os artigos foram escritos separadamente para cada assunto. O primeiro capítulo desta parte descreve o controle calendário e sua versão expandida — um calendário suspenso.
preview
Desenvolvendo um EA de negociação do zero (Parte 09): Um salto conceitual (II)

Desenvolvendo um EA de negociação do zero (Parte 09): Um salto conceitual (II)

Colocando o Chart Trade em uma janela flutuante. No artigo anterior criamos o sistema base para utilizar templates dentro de uma janela flutuante.
A Regra de Ouro dos Traders
A Regra de Ouro dos Traders

A Regra de Ouro dos Traders

Para obter lucros baseados em expectativas elevadas, precisamos entender os três princípios básicos de uma boa negociação: 1) conhecer o seu risco ao entrar no mercado; 2) cortar suas perdas mais cedo e executar o seu lucro; 3) conhecer a expectativa do seu sistema - testar e ajustar regularmente. Este artigo fornece um código de programa para saída das posições abertas de acordo com o segundo princípio de ouro, pois permite tomar o lucro no mais alto nível possível.
MetaEditor : Modelos como um local para se apoiar
MetaEditor : Modelos como um local para se apoiar

MetaEditor : Modelos como um local para se apoiar

Pode ser novidade para muitos de nossos leitores que todas as preparações para escrever um EA podem ser feitas uma vez e então usadas continuamente.
preview
Perceptron Multicamadas e o Algoritmo Backpropagation (Parte II): Implementação em Python e Integração com MQL5

Perceptron Multicamadas e o Algoritmo Backpropagation (Parte II): Implementação em Python e Integração com MQL5

Um pacote python foi disponibilizado com o proposito de trazer integração com MQL, com isso abre-se as portas para enumeras possibilidades como, exploração de dados, criação e uso de modelos de machine learning. Com essa integração nativa entre MQL5 e Python, abriu-se as portas para muitas possibilidades de uso, podemos construir de uma simples regressão linear a um modelo de aprendizado profundo. Vamos entender como instalar e preparar o ambiente de desenvolvimento e usar algumas das bibliotecas de aprendizado de maquina.
preview
Como trabalhar com linhas usando MQL5

Como trabalhar com linhas usando MQL5

Neste artigo, falaremos sobre como trabalhar com os gráficos de linhas mais importantes, como linhas de tendência, suporte e resistência, usando as ferramentas da linguagem MQL5.
Tabelas eletrônicas no MQL5
Tabelas eletrônicas no MQL5

Tabelas eletrônicas no MQL5

O artigo descreve uma classe de array tridimensional dinâmico que contém dados de diferentes tipos em sua primeira dimensão. O armazenamento de dados na forma de tabela é conveniente para resolver uma gama ampla de problemas de organização, armazenamento e operação com informações ligadas de diferentes tipos. O código fonte da classe que implementa a funcionalidade de trabalho com etiquetas está em anexo neste artigo.
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.
preview
Desenvolvendo um EA de negociação do zero( Parte 15): Acessando dados na WEB (I)

Desenvolvendo um EA de negociação do zero( Parte 15): Acessando dados na WEB (I)

Como ter acesso a dados na WEB dentro do MetaTrader 5. Na WEB temos diversos sites e locais onde uma grande e vasta quantidade de informações estão disponíveis e ficam acessíveis a aqueles que sabem onde procurar e como melhor utilizar estas informações.
preview
Força bruta para encontrar padrões (Parte III): novos horizontes

Força bruta para encontrar padrões (Parte III): novos horizontes

Este artigo dá continuidade ao tópico sobre força bruta, trazendo novos recursos de análise de mercado para o algoritmo do meu programa e acelerando, assim, a velocidade da análise e a qualidade dos resultados finais, o que fornece a visão da mais alta qualidade de padrões globais dentro da estrutura desta abordagem.
Expert Advisor multiplataforma: Introdução
Expert Advisor multiplataforma: Introdução

Expert Advisor multiplataforma: Introdução

Este artigo descreve um método que permite desenvolver rápida e facilmente um Expert Advisor multiplataforma. O método proposto combina as características, comuns para ambas as versões, numa classe e desenvolve a implementação para funções incompatíveis nas classes herdadas.
preview
Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais

Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais

Como uma continuação do tópico das redes neurais, eu proponho ao leitor a análise das redes neurais convolucionais. Esse tipo de rede neural geralmente é aplicado para analisar imagens visuais. Neste artigo, nós consideraremos a aplicação dessas redes no mercado financeiro.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 43): classes de objetos de buffers de indicador
Trabalhando com séries temporais na biblioteca DoEasy (Parte 43): classes de objetos de buffers de indicador

Trabalhando com séries temporais na biblioteca DoEasy (Parte 43): classes de objetos de buffers de indicador

Neste artigo, veremos a criação de classes de objetos-buffers de indicador como herdeiros de um objeto-buffer abstrato, o que simplifica a declaração e trabalho com buffers de indicadores ao criar programas-indicadores próprios baseados na biblioteca DoEasy.
preview
Quase-construtor para criar um Expert Advisor

Quase-construtor para criar um Expert Advisor

Disponibilizo meu próprio conjunto de funções de negociação na forma de um Expert Advisor pronto para uso. O método agora proposto permite gerar diversas estratégias de negociação simplesmente adicionando indicadores e mudando os parâmetros de entrada.
preview
Como desenvolver um sistema de negociação baseado no indicador Volumes

Como desenvolver um sistema de negociação baseado no indicador Volumes

Aqui está um novo artigo da nossa série sobre como aprender a desenvolver um sistema de negociação com base nos indicadores técnicos mais populares. O artigo atual será dedicado ao indicador de Volumes. O volume como conceito é um dos fatores mais importantes na negociação nos mercados financeiros e nós temos que prestar atenção quanto a isso. Através deste artigo, nós aprenderemos como desenvolver um sistema de negociação simples pelo indicador Volumes.
Controles gráficos personalizados. Parte 2. Biblioteca de controles
Controles gráficos personalizados. Parte 2. Biblioteca de controles

Controles gráficos personalizados. Parte 2. Biblioteca de controles

O segundo artigo da série "Controles gráficos personalizados" apresenta uma biblioteca para manusear os principais problemas que surgem da interação entre um programa (Expert Advisor, script, indicador) e um usuário. A biblioteca contém um grande número de classes (CInputBox, CSpinInputBox, CCheckBox, CRadioGroup, CVSсrollBar, CHSсrollBar, CList, CListMS, CComBox, CHMenu, CVMenu, CHProgress, CDialer, CDialerInputBox, CTable) e exemplos de seu uso.
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.
Aprofundando na "memória" do mercado através da diferenciação e do análise de entropia
Aprofundando na "memória" do mercado através da diferenciação e do análise de entropia

Aprofundando na "memória" do mercado através da diferenciação e do análise de entropia

O campo para aplicar a diferenciação fracionária é bastante amplo. Por exemplo, os algoritmos de aprendizado de máquina geralmente recebem uma série diferenciada na entrada. O problema é que é necessário derivar novos dados de acordo com o histórico existente, para que o modelo de aprendizado de máquina possa reconhecê-los. Este artigo discute a abordagem inicial para a diferenciação das séries temporais, além disso, é fornecido um exemplo de estratégia de negociação otimizada automaticamente baseada nas séries diferenciadas obtidas.
Proteção contra falsos positivos do robô de negociação
Proteção contra falsos positivos do robô de negociação

Proteção contra falsos positivos do robô de negociação

A rentabilidade dos sistemas de negociação é determinada não só pela lógica e precisão da dinâmica dos instrumentos financeiros, mas também pela qualidade do algoritmo de execução dessa lógica. Os falsos positivos são uma manifestação característica da má execução da lógica fundamental do robô de negociação. Neste artigo trataremos várias opções para resolver esse problema.
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.
Barras sintéticas - Uma Nova Dimensão para Exibição de Informações Gráficas dos Preços
Barras sintéticas - Uma Nova Dimensão para Exibição de Informações Gráficas dos Preços

Barras sintéticas - Uma Nova Dimensão para Exibição de Informações Gráficas dos Preços

A principal desvantagem dos métodos tradicionais para a exibição de informações dos preços utilizando as barras e as velas japonesas é que estão vinculadas ao período de tempo. Estes métodos eram ideais ao momento em que foram criados, mas hoje com os movimentos do mercado demasiadamente rápidos, os preços exibidos no gráfico desta forma não contribuem para uma resposta rápida ao novo movimento. O método de exibição dos gráficos de preços proposto não tem esta desvantagem e oferece um layout muito familiar.
Análise Avançada de uma Conta de Negociação
Análise Avançada de uma Conta de Negociação

Análise Avançada de uma Conta de Negociação

O artigo trata sobre sistema automático para análise de qualquer conta de negociação no terminal MetaTrader 4, são considerados os aspectos técnicos de um relatório gerado e a interpretação dos resultados obtidos. Conclusões sobre as melhorias dos fatores das negociações são mostradas após a análise detalhada do relatório. O script MQLab ™ Graphic Report é usado para análise.
Contos de Robôs de Negociação: É Mais ou Menos?
Contos de Robôs de Negociação: É Mais ou Menos?

Contos de Robôs de Negociação: É Mais ou Menos?

Dois anos atrás, no artigo "A Última Cruzada" analisamos bastante um método que ainda não é amplamente utilizado na atualidade e interessante para a exibição das informações de mercado - gráficos de ponto e figura. Agora eu sugiro que você tente escrever um robô de negociação com base nos padrões detectados no gráfico ponto e figura.
Como se tornar um bom programador (Parte 4): agilizando a velocidade de programação
Como se tornar um bom programador (Parte 4): agilizando a velocidade de programação

Como se tornar um bom programador (Parte 4): agilizando a velocidade de programação

Suponho que todo desenvolvedor quer escrever código mais rapidamente. Porém, a habilidade de escrever código de forma rápida e produtiva não é uma característica inata que apenas uns poucos trazem consigo. Trata-se de uma habilidade que qualquer programador pode desenvolver e que será o tópico deste artigo.
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).
Como desenvolver um sistema de negociação baseado no indicador MACD
Como desenvolver um sistema de negociação baseado no indicador MACD

Como desenvolver um sistema de negociação baseado no indicador MACD

Neste artigo, nós aprenderemos uma nova ferramenta de nossa série: aprenderemos como projetar um sistema de negociação com base em um dos indicadores técnicos mais populares, o Moving Average Convergence Divergence (MACD).
Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)
Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)

Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)

Este artigo é o começo da sexta parte da série dedicada ao desenvolvimento da biblioteca para a criação de interfaces gráficas nos terminais MetaTrader. No primeiro capítulo, nós vamos discutir o controle caixa de seleção, o controle campo de edição e seus tipos combinados.
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.
preview
Agora é mais fácil criar painéis gráficos no MQL5

Agora é mais fácil criar painéis gráficos no MQL5

Neste artigo, apresentaremos um guia simples e claro para quem deseja criar uma das ferramentas mais valiosas e úteis na negociação, nomeadamente um painel gráfico que simplifica as tarefas de negociação. Os painéis gráficos permitem que você economize tempo e se concentre mais na negociação em si.
Tutorial da Rede Neural FANN2MQL
Tutorial da Rede Neural FANN2MQL

Tutorial da Rede Neural FANN2MQL

Este artigo foi publicado para mostrar-lhe como usar redes neurais através da FANN2MQL, usando um exemplo simples, vai ensinar um padrão para uma rede neural e testá-la para ver se ela reconhecerá padrões que nunca viu.
preview
Desenvolvendo um EA de negociação do zero (Parte 08): Um salto conceitual (I)

Desenvolvendo um EA de negociação do zero (Parte 08): Um salto conceitual (I)

Como implementar de forma o mais simples possível uma nova funcionalidade ? Aqui iremos dar um passo para trás para logo em seguida dar dois para frente.
preview
Gradient Boosting (CatBoost) no desenvolvimento de sistemas de negociação. Uma abordagem ingênua

Gradient Boosting (CatBoost) no desenvolvimento de sistemas de negociação. Uma abordagem ingênua

Treinamento do classificador CatBoost em Python e exportação do modelo para a mql5, bem como a análise dos parâmetros do modelo e um testador de estratégia customizado. A linguagem Python e a biblioteca MetaTrader 5 são usadas para preparar os dados e treinar o modelo.
A última cruzada
A última cruzada

A última cruzada

Veja seu terminal de negociação. Quais meios de apresentação de preço você pode ver? Barras, candlesticks, linhas. Estamos buscando tempo e preços onde temos apenas lucro com os preços. Devemos dar atenção aos preços ao analisarmos o mercado? Este artigo propõe um algorítimo e um script para um gráfico de ponto e figura ("jogo da velha") é dada consideração a vários padrões de preço em que o uso prático é destacado nas recomendações fornecidas.
preview
O que você pode fazer com as Médias Móveis

O que você pode fazer com as Médias Móveis

O artigo considera vários métodos de aplicação do indicador Média Móvel. Cada método que envolve uma análise de curva é acompanhado por indicadores que visualizam a ideia. Na maioria dos casos, as ideias mostradas aqui pertencem a seus autores respeitados. Minha única tarefa era reuni-los para permitir que você veja as principais abordagens e, esperançosamente, tome decisões de negociação mais razoáveis. Nível de proficiência em MQL5 — básico.
preview
Como desenvolver um sistema de negociação baseado no indicador ATR

Como desenvolver um sistema de negociação baseado no indicador ATR

Neste artigo, nós aprenderemos uma nova ferramenta técnica que pode ser usada na negociação, como continuação da série em que aprendemos a projetar sistemas de negociação simples. Desta vez, nós trabalharemos com outro indicador técnico popular: Average True Range (ATR).