Artigos sobre programação na linguagem 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
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.
Gás neural em desenvolvimento: Implementação em MQL5
Gás neural em desenvolvimento: Implementação em MQL5

Gás neural em desenvolvimento: Implementação em MQL5

Este artigo mostra um exemplo de como desenvolver um programa MQL5 implementando o algorítimo adaptável de fazer o cluster chamado gás neural em desenvolvimento (GNG). O artigo é destinado para usuários que tenham estudado a documentação de linguagem e têm determinadas habilidades de programação e conhecimento básico na área de neuroinformática.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 40): indicadores com base na biblioteca - atualização de dados em tempo real
Trabalhando com séries temporais na biblioteca DoEasy (Parte 40): indicadores com base na biblioteca - atualização de dados em tempo real

Trabalhando com séries temporais na biblioteca DoEasy (Parte 40): indicadores com base na biblioteca - atualização de dados em tempo real

Neste artigo, consideraremos a criação de um indicador multiperíodo simples com base na biblioteca DoEasy. Modificaremos as classes de séries temporais para receber dados de qualquer timeframe e exibi-los no período gráfico atual.
preview
Redes Neurais de Maneira Fácil (Parte 5): Cálculos em Paralelo com o OpenCL

Redes Neurais de Maneira Fácil (Parte 5): Cálculos em Paralelo com o OpenCL

Discutimos anteriormente alguns tipos de implementações da rede neural. Nas redes consideradas, as mesmas operações são repetidas para cada neurônio. Uma etapa lógica adicional é utilizar os recursos da computação multithread (paralelismo em nível de threads) fornecidos pela tecnologia moderna em um esforço para acelerar o processo de aprendizagem da rede neural. Uma das possíveis implementações é descrita neste artigo.
preview
Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 09): Automação (I)

Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 09): Automação (I)

Criar um Expert Advisor automático não é uma tarefa muito complicada. Mas sem o devido conhecimento você pode acabar fazendo muita bobagem. Neste artigo iremos ver como se dá a construção do primeiro nível de automação. Então a questão aqui é aprender a criar o gatilho para promover o Breakeven e o Trailing Stop.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 41): exemplo de indicador multissímbolo multiperíodo
Trabalhando com séries temporais na biblioteca DoEasy (Parte 41): exemplo de indicador multissímbolo multiperíodo

Trabalhando com séries temporais na biblioteca DoEasy (Parte 41): exemplo de indicador multissímbolo multiperíodo

Neste artigo, veremos um exemplo de como criar um indicador multissímbolo multiperíodo usando as classes das séries temporais da biblioteca DoEasy que exibe numa subjanela um gráfico mostrando o par de moedas selecionado no período gráfico desejado na forma de velas japonesas. Vamos modificar um pouco as classes da biblioteca e criar um arquivo separado para armazenar enumerações dos parâmetros de entrada dos programas e para a escolher da linguagem de compilação.
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.
Desenvolvendo um algoritmo auto-adaptável (Parte II): melhorando a eficiência
Desenvolvendo um algoritmo auto-adaptável (Parte II): melhorando a eficiência

Desenvolvendo um algoritmo auto-adaptável (Parte II): melhorando a eficiência

Neste artigo, continuarei meu tópico, mas começarei tornando o algoritmo desenvolvido anteriormente mais flexível. Ele se tornou mais estável com o aumento no número de candles na janela de análise ou com o aumento no valor limite da porcentagem a nível de preponderância de candles decrescentes ou crescentes. Tivemos que fazer concessões e definir um tamanho de amostra maior para análise ou uma porcentagem maior de preponderância de candles prevalecentes.
Como criar rapidamente um Consultor Especialista para o Campeonato de Negociações Automáticas 2010
Como criar rapidamente um Consultor Especialista para o Campeonato de Negociações Automáticas 2010

Como criar rapidamente um Consultor Especialista para o Campeonato de Negociações Automáticas 2010

A fim de desenvolver um especialista para participar no Automated Trading Championship 2010 (Campeonato de Negociações Automáticas 2010), vamos usar um modelo de um conselheiro especialista pronto. Até mesmo um programador MQL5 iniciante será capaz desta tarefa, porque para suas estratégias as classes básicas, funções e modelos já estão desenvolvidos. é suficiente escrever uma quantidade mínima de código para implementar sua ideia de negociação.
Teste de padrões que surgem ao negociar cestas de pares de moedas. Parte I
Teste de padrões que surgem ao negociar cestas de pares de moedas. Parte I

Teste de padrões que surgem ao negociar cestas de pares de moedas. Parte I

Nós começamos a testar os padrões e tentamos os métodos descritos nos artigos sobre a negociação de cestas de pares de moedas. Veja como os padrões de rompimento dos níveis de sobrevenda/sobrecompra são aplicados na prática.
Sinais de negociação no MetaTrader 5: uma melhor alternativa às contas PAMM!
Sinais de negociação no MetaTrader 5: uma melhor alternativa às contas PAMM!

Sinais de negociação no MetaTrader 5: uma melhor alternativa às contas PAMM!

Temos o prazer de anunciar que o MetaTrader 5 agora dispõe de Sinais de negociação, proporcionando assim uma ferramenta poderosa aos investidores e gerentes. Enquanto você estiver seguindo as negociações de um trader bem sucedido, o terminal irá reproduzi-las automaticamente em sua conta!
Discretização da série de preços, componente aleatória e "ruído"
Discretização da série de preços, componente aleatória e "ruído"

Discretização da série de preços, componente aleatória e "ruído"

Estamos acostumados a analisar o mercado usando candles ou barras que "fatiam" a série de preços em intervalos regulares. Mas até que ponto essa forma de discretização distorce a estrutura real dos movimentos de mercado? Discretizar um sinal de áudio em intervalos regulares é uma solução aceitável, porque o sinal de áudio é uma função que muda com o tempo. O sinal em si é uma amplitude que depende do tempo e essa propriedade nele é fundamental.
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.
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.
Utilitário de seleção e navegação em MQL5 e MQL4: incremetando abas de "lembretes" e salvando objetos gráficos
Utilitário de seleção e navegação em MQL5 e MQL4: incremetando abas de "lembretes" e salvando objetos gráficos

Utilitário de seleção e navegação em MQL5 e MQL4: incremetando abas de "lembretes" e salvando objetos gráficos

Neste artigo, vamos expandir os recursos criados em publicação anterior, acrescentando abas para selecionar os símbolos que precisamos. Também aprenderemos como salvar objetos gráficos que criamos na plataforma, referente a símbolos específicos e assim, se necessitarmos, não tenhamos que criá-los novamente. E ainda, vamos descobrir como trabalhar apenas com símbolos que foram selecionados preliminarmente usando um site específico.
Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)
Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)

Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)

Na segunda parte da série, nós vamos mostrar em detalhes o desenvolvimento de tais elementos de interface como o menu principal e o menu de contexto. Nós também vamos mencionar os elementos de desenho e criar uma classe especial para ele. Nós vamos discutir detalhadamente tais questões como a gestão de eventos do programa, incluindo aquelas que são personalizadas.
preview
Como melhorar em aprendizado de máquina

Como melhorar em aprendizado de máquina

Esta é uma seleção de materiais que será útil para que os operadores possam melhorar seus conhecimentos sobre negociação algorítmica. Os algoritmos simples são coisa do passado, agora é difícil alcançar o sucesso sem o uso de aprendizado de máquina e redes neurais.
Interfaces Gráficas IV: Elementos Informativos da Interface (Capítulo 1)
Interfaces Gráficas IV: Elementos Informativos da Interface (Capítulo 1)

Interfaces Gráficas IV: Elementos Informativos da Interface (Capítulo 1)

No atual estágio de desenvolvimento, a biblioteca para a criação de interfaces gráficas contém um formulário e vários controles que podem ser ligados a ele. Foi mencionado antes que um dos artigos futuros seria dedicado ao modo multi-janela. Agora, nós já temos tudo preparado para considerar tal questão, desse modo, nós vamos lidar com isso no capítulo seguinte. Neste capítulo, nós vamos escrever as classes para criar os elementos de interface barra de status e dica de contexto.
preview
Redes neurais de maneira fácil (Parte 10): Atenção Multi-Cabeça

Redes neurais de maneira fácil (Parte 10): Atenção Multi-Cabeça

Nós já consideramos anteriormente o mecanismo de self-attention (autoatenção) em redes neurais. Na prática, as arquiteturas de rede neural modernas usam várias threads de self-attention paralelas para encontrar várias dependências entre os elementos de uma sequência. Vamos considerar a implementação de tal abordagem e avaliar seu impacto no desempenho geral da rede.
preview
Desenvolvendo um EA de negociação do zero (Parte 10): Acessando indicadores personalizados

Desenvolvendo um EA de negociação do zero (Parte 10): Acessando indicadores personalizados

Como acessar Indicadores personalizados diretamente no EA ? Um EA de negociação, só será realmente bem explorado se for possível você usar indicadores personalizados nele, caso contrário ele será apenas um conjunto de códigos e instruções.
preview
Desenvolvendo um EA de negociação do zero (Parte 16): Acessando dados na WEB (II)

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

Como levar os dados da WEB para dentro de um EA . O caminho para fazer isto não é tão obvio, ou melhor dizendo, tão simples a ponto de você conseguir fazer, sem de fato conhecer e entender todos os recursos que estão presentes no MetaTrader 5.
Análise técnica: O que analisamos?
Análise técnica: O que analisamos?

Análise técnica: O que analisamos?

Este artigo tenta analisar diversas peculiaridades da representação de cotações disponível no terminal cliente do MetaTrader. O artigo é geral, ele não diz respeito à programação.
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.
Análise técnica: como analisamos?
Análise técnica: como analisamos?

Análise técnica: como analisamos?

Este artigo descreve brevemente a opinião do autor no redesenho de indicadores, indicadores com múltiplos quadros de tempo e exibição de cotações com candlesticks japoneses. O artigo não contém elementos específicos de programação e possui um caráter geral.
preview
Redes neurais de Maneira Fácil (Parte 6): Experimentos com a taxa de aprendizado da rede neural

Redes neurais de Maneira Fácil (Parte 6): Experimentos com a taxa de aprendizado da rede neural

Anteriormente, nós consideramos vários tipos de redes neurais junto com suas implementações. Em todos os casos, as redes neurais foram treinadas usando o método gradiente descendente, para o qual nós precisamos escolher uma taxa de aprendizado. Neste artigo, eu quero mostrar a importância de uma taxa corretamente selecionada e o seu impacto no treinamento da rede neural, usando exemplos.
Estudando a Classe CCanvas. Anti-aliasing e Sombras
Estudando a Classe CCanvas. Anti-aliasing e Sombras

Estudando a Classe CCanvas. Anti-aliasing e Sombras

Um algoritmo anti-aliasing da classe CCanvas é a base para todas as construções onde o antisserrilhamento está sendo usado. O artigo contém informações sobre como este algoritmo opera e fornece exemplos relevantes de visualização. Ele também abrange as sombras desenhadas dos objetos gráficos e tem um algoritmo detalhadamente desenvolvido para desenhar sombras nas canvas. A análise numérica da biblioteca ALGLIB é usada para os cálculos.
preview
Desenvolvendo um EA de negociação do zero (Parte 31): Em direção ao futuro (IV)

Desenvolvendo um EA de negociação do zero (Parte 31): Em direção ao futuro (IV)

Vamos continuar a retirar coisas de dentro do EA. Mas no entanto este será o último artigo desta serie. A última coisa que será de fato removida, nesta serie de artigos, é o sistema de som. Talvez isto venha a lhe dar um nó no cérebro, caso você não tenha acompanhado estes artigos.
preview
Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 15): Automação (VII)

Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 15): Automação (VII)

Para coroar esta sequencia de automação. Vamos complementar o que foi visto no artigo anterior. Este definitivamente mostra como tudo irá se encaixar, fazendo o Expert Advisor, funcionar como um relógio.
Interfaces Gráficas IV: O Modo Multi-Janela e o Sistema de Prioridades (Capítulo 2)
Interfaces Gráficas IV: O Modo Multi-Janela e o Sistema de Prioridades (Capítulo 2)

Interfaces Gráficas IV: O Modo Multi-Janela e o Sistema de Prioridades (Capítulo 2)

Neste capítulo, nós vamos estender a implementação da biblioteca para possibilitar a criação de interfaces de multi-janela para as aplicações MQL. Nós também vamos desenvolver um sistema de prioridades para clique esquerdo do mouse sobre os objetos gráficos. Isso se faz necessário para evitar problemas quando os elementos não respondem as ações do usuário.
Interfaces Gráficas V: O Controle Combobox (Capítulo 3)
Interfaces Gráficas V: O Controle Combobox (Capítulo 3)

Interfaces Gráficas V: O Controle Combobox (Capítulo 3)

Nos dois primeiros capítulos da quinta parte da série, nós desenvolvemos as classes para criar uma barra de rolagem e uma lista. Neste capítulo, nós falaremos sobre a criação de uma classe para o controle combobox. Este é também um controle composto que contém, entre outros, os elementos considerados nos capítulos anteriores desta quinta parte.
preview
Redes Neurais de Maneira Fácil(Parte 7): Métodos de otimização adaptativos

Redes Neurais de Maneira Fácil(Parte 7): Métodos de otimização adaptativos

Nos artigos anteriores, nós usamos o gradiente descendente estocástico para treinar uma rede neural usando a mesma taxa de aprendizado para todos os neurônios da rede. Neste artigo, eu proponho olhar para os métodos de aprendizagem adaptativos que permitem a mudança da taxa de aprendizagem para cada neurônio. Nós também consideraremos os prós e os contras dessa abordagem.
Usando Pseudo-modelos como Alternativa para Modelos C++
Usando Pseudo-modelos como Alternativa para Modelos C++

Usando Pseudo-modelos como Alternativa para Modelos C++

O artigo descreve uma forma de programação sem usar templates, mas mantendo o estilo de programação inerente a eles. Ele nos diz sobre a implementação de templares usando métodos personalizados e possui um script pronto para uso anexo para criação de código com base de templates especificados.
preview
Redes Neurais de Maneira Fácil(Parte 4): Redes Recorrentes

Redes Neurais de Maneira Fácil(Parte 4): Redes Recorrentes

Nós continuamos estudando o mundo das redes neurais. Neste artigo, nós analisaremos outro tipo de rede neural, as redes recorrentes. Este tipo de rede foi proposto para uso com as séries temporais, que são representadas na plataforma de negociação MetaTrader 5 por meio do gráfico de preços.
Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)
Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)

Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)

No capítulo anterior da primeira parte da série sobre interfaces gráficas, a classe de formulário foi enriquecida por métodos que permitiram gerir o formulário através dos cliques em seus controles. Neste artigo, nós vamos testar nosso trabalho em diferentes tipos de programa MQL, como indicadores e scripts. Já que a biblioteca foi concebida para ser multi-plataforma para que ela pudesse ser utilizada em todas as plataformas MetaTrader, nós também vamos testá-la no MetaTrader 4.
Gráficos na biblioteca DoEasy (Parte 88): coleção de objetos gráficos, matriz dinâmica bidimensional para armazenar propriedades de objetos que mudam dinamicamente
Gráficos na biblioteca DoEasy (Parte 88): coleção de objetos gráficos, matriz dinâmica bidimensional para armazenar propriedades de objetos que mudam dinamicamente

Gráficos na biblioteca DoEasy (Parte 88): coleção de objetos gráficos, matriz dinâmica bidimensional para armazenar propriedades de objetos que mudam dinamicamente

Neste artigo, criaremos uma classe de matriz multidimensional dinâmica com a capacidade de alterar a quantidade de dados em qualquer dimensão. Com base na classe criada, criaremos uma matriz dinâmica bidimensional para armazenar algumas propriedades alteradas dinamicamente de objetos gráficos.
Monitoramento de sinais de negociação multimoeda (Parte 5): Sinais compostos
Monitoramento de sinais de negociação multimoeda (Parte 5): Sinais compostos

Monitoramento de sinais de negociação multimoeda (Parte 5): Sinais compostos

No quinto artigo relacionado à criação de um monitor de sinal de negociação, nós consideraremos os sinais compostos e implementaremos a funcionalidade necessária. Em versões anteriores, nós usamos os sinais simples, como o RSI, WPR e CCI, e também introduzimos a possibilidade de usar os indicadores personalizados.
preview
WebSocket para o MetaTrader 5: Usando a API do Windows

WebSocket para o MetaTrader 5: Usando a API do Windows

Neste artigo vamos usar WinHttp.dll com o intuito de criar um cliente WebSocket para os programas MetaTrader 5. Em última instância, o cliente deve ser implementado como uma classe e testado em interação com o WebSocket API da Binary.com.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 23): FOREX (IV)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 23): FOREX (IV)

A criação, agora, é efetuada no mesmo ponto que fazemos a conversão dos tickets em barras. Então se algo vim a dar errado durante a conversão, iremos logo notar o erro. Pois o mesmo código que lança as barras de 1 minuto no gráfico, quando fazemos um avanço rápido, também é utilizando pelo sistema de posicionamento, e também é usado para lançar as barras durante o avanço normal. Ou seja, agora o código responsável por tal tarefa, não esta mais sendo duplicado em ponto algum. Desta forma, já temos um sistema bem mais adequado, tanto para manutenção, quanto para melhorias.
Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem
Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem

Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem

O artigo aborda os princípios de análise e cálculo de expressões matemáticas com ajuda de analisadores baseados na precedência de operadores. Implementa analisadores Pratt e estação de triagem, geração de bytecode cálculos com base nele. Mostra o uso de indicadores como funções em expressões e como aplicá-los ao configurar sinais de negociação em EAs.
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.