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
O poder do ZigZag (parte I). Desenvolvimento da classe base do indicador
O poder do ZigZag (parte I). Desenvolvimento da classe base do indicador

O poder do ZigZag (parte I). Desenvolvimento da classe base do indicador

Muitos pesquisadores não prestam atenção o suficiente para determinar o comportamento dos preços. Ao mesmo tempo, são usados métodos complexos, que muitas vezes são “caixas pretas”, como aprendizado de máquina ou redes neurais. A questão mais importante que surge nesse caso é quais dados enviar para o treinamento de um determinado modelo.
Mini-emulador do mercado ou Testador de estratégias manual
Mini-emulador do mercado ou Testador de estratégias manual

Mini-emulador do mercado ou Testador de estratégias manual

O mini-emulador do mercado é um indicador projetado para emulação parcial do trabalho no terminal. Presumivelmente, ele pode ser usado no teste de estratégias "manuais" de análise e negociação no mercado.
Os Erros Mais Comuns nos Programas MQL4 e Como Evitá-los
Os Erros Mais Comuns nos Programas MQL4 e Como Evitá-los

Os Erros Mais Comuns nos Programas MQL4 e Como Evitá-los

Para evitar o término dos programas por erros críticos, a versão anterior do compilador tratava muitos erros no ambiente de tempo de execução. Por exemplo, a divisão por zero ou o array fora do intervalo são erros críticos e geralmente levam a uma pane do programa. O novo compilador pode detectar a origem real ou potencial dos erros e melhorar a qualidade do código. Neste artigo, nós discutimos os possíveis erros que podem ser detectados durante a compilação de programas antigos e ver como corrigi-los.
Algumas dicas para clientes iniciantes
Algumas dicas para clientes iniciantes

Algumas dicas para clientes iniciantes

Um provérbio que é geralmente atribuído a diversas pessoas famosas diz: "Aquele que não comete erros nunca faz nada." A menos que você considere a própria inatividade um erro, é difícil argumentar contra esta afirmação. Mas você sempre pode analisar os erros anteriores (os seus e os dos outros) para minimizar o número dos seus erros futuros. Tentaremos analisar possíveis situações que surgem ao executar empregos no serviço de mesmo nome.
Criando indicadores de ponto no MQL5
Criando indicadores de ponto no MQL5

Criando indicadores de ponto no MQL5

Neste artigo, consideraremos a criação de dois indicadores: o indicador de tick, que plota o gráfico de tick do indicador de vela de tick e preço, que plota velas com o número específico de ticks. Cada um dos indicadores escreve os preços de entrada em um arquivo e usa os dados salvos após o reinício do indicador (estes dados também podem ser usados por outros programas).
Como escrever uma boa descrição para um produto do mercado
Como escrever uma boa descrição para um produto do mercado

Como escrever uma boa descrição para um produto do mercado

O MQL5 Market tem muitos produtos à venda, mas algumas de suas descrições deixam muito a desejar. Muitos textos obviamente precisam de melhoria, visto que negociadores comuns não são capazes de compreendê-los. Este artigo o ajuda a colocar seu produto em uma luz favorável. Use nossas recomendações para escrever uma descrição atrativa que facilmente mostrará aos clientes o que exatamente você está vendendo.
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.
Calculadora de sinais
Calculadora de sinais

Calculadora de sinais

A calculadora de sinais funciona diretamente a partir do terminal MetaTrader 5, e esta é a sua grande vantagem, pois o terminal pré-seleciona e classifica os sinais. Assim, no terminal MetaTrader 5, o usuário vê apenas os sinais com o máximo de compatibilidade com a sua conta de negociação.
Estimativa da densidade de Kernel da função de densidade de probabilidade desconhecida
Estimativa da densidade de Kernel da função de densidade de probabilidade desconhecida

Estimativa da densidade de Kernel da função de densidade de probabilidade desconhecida

O artigo trata da criação de um programa que permite estimar a densidade do kernel da função densidade de probabilidade desconhecida. Método de estimativa de densidade do kernel foi escolhido para executar a tarefa. O artigo contém códigos fonte da implementação de software de método, exemplos de seu uso e ilustrações.
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.
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.
Guia Prático do MQL5: Processamento do Evento TradeTransaction
Guia Prático do MQL5: Processamento do Evento TradeTransaction

Guia Prático do MQL5: Processamento do Evento TradeTransaction

Neste artigo estudaremos as capacidades da linguagem MQL5 do ponto de vista da programação orientada a eventos. A grande vantagem dessa abordagem está na possibilidade do programa receber informações por etapas sobre a implementação das operações de negociação. O artigo também contém um exemplo do recebimento e processamento de informações sobre as operações de negociação em curso usando o manipulador de eventos TradeTransaction. Em minha opinião, esta abordagem pode ser usada para copiar as ordens de um terminal para outro.
Estudo de técnicas de análise de velas (parte III): Biblioteca para trabalhar com os padrões
Estudo de técnicas de análise de velas (parte III): Biblioteca para trabalhar com os padrões

Estudo de técnicas de análise de velas (parte III): Biblioteca para trabalhar com os padrões

O objetivo deste artigo é criar uma ferramenta personalizada que permita aos usuários receber e usar todo o array de informações sobre os padrões discutidos anteriormente. Nós vamos criar uma biblioteca de funções relacionadas aos padrões que você poderá usar em seus próprios indicadores, painéis de negociação, Expert Advisors, etc.
O método ideal para calcular o volume da posição total pelo número mágico especificado
O método ideal para calcular o volume da posição total pelo número mágico especificado

O método ideal para calcular o volume da posição total pelo número mágico especificado

O problema do cálculo do volume de posição total do símbolo especificado e número mágico é considerado neste artigo. O método proposto requer apenas a parte mínima necessária do histórico de negócios, descobre o tempo mais próximo quando a posição total foi igual a zero, e realiza os cálculos com os negócios recentes. O trabalho com variáveis globais do terminal de cliente também é considerado.
Indicadores MTF como ferramenta de análise técnica
Indicadores MTF como ferramenta de análise técnica

Indicadores MTF como ferramenta de análise técnica

A maioria de nós concorda com a opinião de que o processo de análise da situação atual do mercado começa com uma revisão dos períodos gráficos maiores, o que acontece até passarmos para o gráfico em que fazemos trading. Esta análise é uma das condições para uma negociação bem-sucedida e uma abordagem profissional. O artigo discute indicadores multiperíodo, formas de criá-los com exemplos de código MQL5. Além disso, avalia as desvantagens e vantagens de cada versão e propõe uma nova abordagem de indicadores usando o modo MTF.
Indicador Alternativo Ichimoku - Configurações e exemplos de uso
Indicador Alternativo Ichimoku - Configurações e exemplos de uso

Indicador Alternativo Ichimoku - Configurações e exemplos de uso

Como configurar o Alternativo Ichimoku corretamente? Leia a descrição dos parâmetros de configuração. O artigo irá ajudá-lo a compreender os métodos de configuração de parâmetros não só do indicador Ichimoku. Certamente você também vai entender melhor como configurar o Ichimoku Kinko Hyo padrão.
Otimização Walk Forward em MetaTrader 5 feita com suas próprias mãos
Otimização Walk Forward em MetaTrader 5 feita com suas próprias mãos

Otimização Walk Forward em MetaTrader 5 feita com suas próprias mãos

No artigo, são discutidas abordagens que permitem emular com bastante precisão a Otimização Walk Forward através do testador interno e bibliotecas auxiliares implementadas em MQL.
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.
Assistente MQL5: Como ensinar um EA a abrir ordens pendentes a qualquer preço
Assistente MQL5: Como ensinar um EA a abrir ordens pendentes a qualquer preço

Assistente MQL5: Como ensinar um EA a abrir ordens pendentes a qualquer preço

O artigo descreve um método de modificação do código de um módulo do sinal de negociação para implementação da funcionalidade que permite que você configure ordens pendentes a qualquer distância do preço atual: podendo ser preço de abertura ou fechamento da barra anterior ou do valor da média móvel. Há uma enorme quantidade de opções. O importante é que você possa definir qualquer preço de abertura para uma ordem pendente. Esse artigo será útil para negociadores que negociam com ordens pendentes.
Guia Prático MQL5: Processamento do Evento BookEvent
Guia Prático MQL5: Processamento do Evento BookEvent

Guia Prático MQL5: Processamento do Evento BookEvent

Este artigo estuda o BookEvent - o evento da Profundidade do Mercado, bem como o princípio de seu processamento. Um programa em MQL e o tratamento dos estados da Profundidade do Mercado servem de exemplo. Ele é escrito usando a abordagem orientada a objetos. Os resultados do tratamento são exibidos na tela como um painel com os níveis da Profundidade do Mercado.
Como escrever um indicador na base de um outro indicador
Como escrever um indicador na base de um outro indicador

Como escrever um indicador na base de um outro indicador

No MQL5 você pode escrever um indicador tanto do zero como baseado em outro indicador já existente, embutido no terminal do cliente ou um personalizado. E aqui você também tem dois modos - melhorar um indicador adicionando novos cálculos e estilos gráficos a ele, ou utilizar um indicador no terminal do cliente embutido ou um personalizado através das funções iCustom() ou IndicatorCreate().
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.
Por que o mercado de MQL5 é o melhor lugar para vender estratégias de negociação e indicadores técnicos
Por que o mercado de MQL5 é o melhor lugar para vender estratégias de negociação e indicadores técnicos

Por que o mercado de MQL5 é o melhor lugar para vender estratégias de negociação e indicadores técnicos

O mercado da comunidade MQL5 fornece desenvolvedores Expert Advisors, com o mercado já formado composto por milhares de clientes potenciais. Este é o melhor lugar para vender estratégias de negociação e indicadores técnicos!
Um exemplo de um Sistema de Comércio Baseado no indicador Heiken-Ashi
Um exemplo de um Sistema de Comércio Baseado no indicador Heiken-Ashi

Um exemplo de um Sistema de Comércio Baseado no indicador Heiken-Ashi

Neste artigo veremos a questão de uso de um indicador Heiken-Ashi na negociação. Com base neste indicador, um simples sistema de negócio é considerado e um Expert Advisor MQL5 é escrito. As operações de negócio são implementadas nas bases de classes da biblioteca de classe padrão. São fornecidos neste artigo os resultados de teste da estratégia de negócio revisada que são baseados no histórico e obtidos usando o strategy tester do MetaTrader 5 embutido.
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.
Guia Prático MQL5: Implementando um Array Associativo ou um Dicionário para Acesso Rápido ao Dados
Guia Prático MQL5: Implementando um Array Associativo ou um Dicionário para Acesso Rápido ao Dados

Guia Prático MQL5: Implementando um Array Associativo ou um Dicionário para Acesso Rápido ao Dados

Este artigo descreve um algoritmo especial que permite ter acesso aos elementos através de suas chaves únicas. Qualquer tipo de dados de base pode ser usado como uma chave. Por exemplo, ele pode ser representado como uma variável do tipo string ou inteiro. Tais contentores de dados são comumente referenciados a um dicionário ou um array associativo. Ele fornece uma maneira mais fácil e eficiente na resolução de problemas.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte I). Conceito, gerenciamento de dados e primeiros resultados
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte I). Conceito, gerenciamento de dados e primeiros resultados

Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte I). Conceito, gerenciamento de dados e primeiros resultados

Ao analisar um grande número de estratégias de negociação, pedidos de desenvolvimento de aplicativos para os terminais MetaTrader 5 e MetaTrader 4 e vários sites sobre MetaTrader, eu cheguei à conclusão de que toda essa diversidade é baseada principalmente nas mesmas funções elementares, ações e valores que aparecem regularmente em diferentes programas. Isso resultou na biblioteca multi-plataforma DoEasy para o desenvolvimento fácil e rápido de aplicativos para a МetaТrader 5 e МetaТrader 4.
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').
Criar critérios personalizados de otimização de Expert Advisors
Criar critérios personalizados de otimização de Expert Advisors

Criar critérios personalizados de otimização de Expert Advisors

O terminal do cliente MetaTrader 5 oferece uma ampla gama de possibilidades de otimização dos parâmetros de Expert Advisor. Além dos critérios de otimização inclusos no provador de estratégia, os desenvolvedores têm a possibilidade de criar os seus próprios critérios. Isto leva a um número quase ilimitado de possibilidades de teste e otimização dos Expert Advisors. Este artigo descreve formas práticas, tanto simples como complexas, de criação desses critérios.
Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)
Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)

Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)

Este artigo fornece uma descrição mais detalhada do mecanismo de negociação CStrategy. Por demanda popular dos usuários, nós adicionamos funções de apoio as ordem pendente no mecanismo de negociação. Além disso, a versão mais recente do MetaTrader 5 agora oferece suporte a contas com a opção de cobertura (hedge). O mesmo suporte foi adicionado ao CStrategy. O artigo fornece uma descrição detalhada de algoritmos para o uso de ordens pendentes, bem como dos princípios de funcionamento da classe CStrategy nas contas com a opção de cobertura (hedge) habilitada.
Visualizar uma estratégia no Tester do MetaTrader 5
Visualizar uma estratégia no Tester do MetaTrader 5

Visualizar uma estratégia no Tester do MetaTrader 5

Todos conhecemos o ditado "é melhor ver uma vez do que ouvir cem vezes". Você pode ler diversos livros sobre Paris ou Veneza, mas com base nas imagens mentais, você não teria os mesmos sentimentos do que se estivesse caminhando à noite por essas cidades fabulosas. A vantagem da visualização pode ser facilmente projetada em qualquer aspecto de nossas vidas, incluindo trabalho no mercado, por exemplo, a análise de preço em gráficos utilizando indicadores e, é evidente, a visualização de teste de estratégia. Este artigo contém descrições de todos os recursos de visualização do Strategy Tester do MetaTrader 5.
R quadrado como uma estimativa da qualidade da curva de saldo da estratégia
R quadrado como uma estimativa da qualidade da curva de saldo da estratégia

R quadrado como uma estimativa da qualidade da curva de saldo da estratégia

Este artigo descreve a construção do R² - critério de otimização personalizado. Esse critério pode ser usado para estimar a qualidade da curva de saldo de uma estratégia e para selecionar as estratégias mais consistentes e lucrativas. O trabalho discute os princípios de sua construção e os métodos estatísticos utilizados na estimativa de propriedades e qualidade desta métrica.
Uso do filtro de Kalman na previsão da tendência
Uso do filtro de Kalman na previsão da tendência

Uso do filtro de Kalman na previsão da tendência

Para o sucesso na negociação, quase sempre são necessários indicadores, cujo objetivo é a separação entre o movimento principal do preço e as flutuações ruidosas. Neste artigo, é examinado um dos filtros digitais mais promissores, o filtro de Kalman. Além disso, são descritos tanto sua construção como uso na prática.
Usando Indicadores MetaTrader 5 com Estrutura de Aprendizado de Máquina ENCOG para Previsão das Séries Temporais
Usando Indicadores MetaTrader 5 com Estrutura de Aprendizado de Máquina ENCOG para Previsão das Séries Temporais

Usando Indicadores MetaTrader 5 com Estrutura de Aprendizado de Máquina ENCOG para Previsão das Séries Temporais

Este artigo apresenta a conexão do MetaTrader 5 para ENCOG - Rede neural avançada e estrutura de aprendizado de máquina. Ele contém a descrição e implementação de um simples indicador de rede neural com base em indicadores técnicos padrão e um Expert Advisor baseado em um indicador neural. Todos os códigos fonte, binários compilados, DLLs e uma rede treinada exemplar estão ligados ao artigo.
Depuração dos programas do MQL5
Depuração dos programas do MQL5

Depuração dos programas do MQL5

Este artigo é destinado principalmente aos programadores que já tenham aprendido a linguagem, mas ainda não tenham dominado completamente o desenvolvimento do programa. Ele revela algumas técnicas de depuração e apresenta uma experiência combinada do autor e muitos outros programadores.
Troca de dados entre indicadores: é fácil!
Troca de dados entre indicadores: é fácil!

Troca de dados entre indicadores: é fácil!

Queremos criar um ambiente que fornecesse acesso aos dados de indicadores anexos ao gráfico e que teria as seguintes propriedades: ausência de cópia de dados; modificação mínima do código dos métodos disponíveis, se precisarmos usá-los; preferencialmente código MQL (claro, temos que usar o DLL, mas usaremos apenas algumas strings do código C++). O artigo descreve um método fácil para desenvolver um ambiente de programa para o terminal MetaTrader, que poderia fornecer meios para acessar os buffers dos indicadores de outros programas MQL.
Os projetos permitem que criar robôs de negociação lucrativos!  Mas não é exatamente isso
Os projetos permitem que criar robôs de negociação lucrativos!  Mas não é exatamente isso

Os projetos permitem que criar robôs de negociação lucrativos! Mas não é exatamente isso

Um programa grande começa com um arquivo pequeno que, por sua vez, gradualmente se torna maior, sendo preenchido com conjuntos de funções e objetos. A maioria dos desenvolvedores de robôs lida com esse problema por meio de arquivos de inclusão. Mas, o melhor é começar imediatamente a escrever os programas de negociação em projetos, pois isso é benéfico em todos os aspectos.
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.
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.
Martingale como base para estratégia de negociação a longo prazo
Martingale como base para estratégia de negociação a longo prazo

Martingale como base para estratégia de negociação a longo prazo

Neste artigo vamos considerar em detalhes o sistema martingale, vamos analisar se este sistema pode ser aplicado na negociação e como usá-lo para minimizar os riscos. A principal desvantagem deste sistema é a probabilidade de perder todo o seu depósito, este fato deve ser levado em conta, caso decida negociar usando a técnica martingale.