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
preview
Análise de Cluster (Parte I): usando a inclinação das linhas indicadoras

Análise de Cluster (Parte I): usando a inclinação das linhas indicadoras

A análise de cluster é um dos elementos mais importantes da inteligência artificial. Neste artigo, tento usar uma análise de cluster aplicada na inclinação de um indicador para obter patamares que determinarão se o mercado está lateralizado ou mantém uma tendência.
preview
Combinatória e teoria da probabilidade para negociação (Parte I): fundamentos

Combinatória e teoria da probabilidade para negociação (Parte I): fundamentos

Nesta série de artigos, procuraremos uma aplicação prática da teoria da probabilidade para descrever o processo de negociação e precificação. No primeiro artigo, conheceremos os fundamentos da combinatória e da teoria da probabilidade, e analisaremos o primeiro exemplo de aplicação de fractais no âmbito desta última.
Gráficos na biblioteca DoEasy (Parte 75): métodos para trabalhar com primitivos e texto num elemento gráfico básico
Gráficos na biblioteca DoEasy (Parte 75): métodos para trabalhar com primitivos e texto num elemento gráfico básico

Gráficos na biblioteca DoEasy (Parte 75): métodos para trabalhar com primitivos e texto num elemento gráfico básico

No artigo, continuaremos a desenvolver a classe base do elemento gráfico que compreende todos os objetos gráficos criados com base na classe da Biblioteca Padrão CCanvas. Criaremos métodos para desenhar primitivas gráficas e métodos para enviar texto para um objeto-elemento gráfico.
Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas
Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas

Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas

Vamos revisar o conceito de construção de objetos gráficos, que vimos no artigo anterior, e preparar uma classe base para todos os objetos gráficos da biblioteca criados com base na classe CCanvas da Biblioteca Padrão.
Gráficos na biblioteca DoEasy (Parte 73): objeto-forma de um elemento gráfico
Gráficos na biblioteca DoEasy (Parte 73): objeto-forma de um elemento gráfico

Gráficos na biblioteca DoEasy (Parte 73): objeto-forma de um elemento gráfico

Neste artigo, começamos uma nova seção grande sobre a biblioteca para trabalhar com gráficos. Hoje vamos criar um objeto de estados do mouse, um objeto base de todos os elementos gráficos e uma classe do objeto-forma dos elementos gráficos da biblioteca.
Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção
Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção

Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção

Neste artigo, vamos finalizar as classes de objetos-gráficos e de sua coleção. Faremos o rastreamento automático das alterações das propriedades dos gráficos e das suas janelas, bem como o armazenamento de novos parâmetros nas propriedades do objeto. Este aprimoramento nos permitirá gerar uma funcionalidade de evento para toda a coleção de gráficos no futuro.
Conselhos de um programador profissional (Parte II): armazenamento e troca de parâmetros entre um EA, scripts e programas externos
Conselhos de um programador profissional (Parte II): armazenamento e troca de parâmetros entre um EA, scripts e programas externos

Conselhos de um programador profissional (Parte II): armazenamento e troca de parâmetros entre um EA, scripts e programas externos

Conselhos de um programador profissional sobre métodos, técnicas e ferramentas auxiliares para tornar a programação mais fácil. Hoje falaremos sobre os parâmetros que podem ser restaurados após reiniciar (fechar) o terminal. Na verdade, todos os exemplos apresentados são partes funcionais do código do meu projeto Cayman.
Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos
Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos

Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos

Neste artigo, criaremos uma funcionalidade para rastrear alguns eventos de objetos-gráficos - adição/remoção de gráficos de símbolos, de subjanelas do gráfico, bem como adição/exclusão/mudança de indicadores presentes em janelas de gráficos.
Outras classes na biblioteca DoEasy (Parte 70): extensão da funcionalidade e atualização automática da coleção de objetos-gráficos
Outras classes na biblioteca DoEasy (Parte 70): extensão da funcionalidade e atualização automática da coleção de objetos-gráficos

Outras classes na biblioteca DoEasy (Parte 70): extensão da funcionalidade e atualização automática da coleção de objetos-gráficos

Neste artigo, vamos expandir a funcionalidade dos objetos-gráficos, criaremos a navegação em gráficos, geraremos capturas de tela, salvaremos e aplicaremos modelos aos gráficos. Faremos também uma atualização automática da coleção de objetos-gráficos, suas janelas e indicadores.
Swaps (Parte I): bloqueio e posições sintéticas
Swaps (Parte I): bloqueio e posições sintéticas

Swaps (Parte I): bloqueio e posições sintéticas

Neste artigo, tentarei expandir o conceito clássico de métodos de negociação de swap, e também explicarei porque cheguei à conclusão de que ele, em minha opinião, merece atenção especial e vale absolutamente a pena ser estudado.
preview
Conselhos de um programador profissional (Parte I): Armazenamento, depuração e compilação de códigos Trabalho com projetos e registros

Conselhos de um programador profissional (Parte I): Armazenamento, depuração e compilação de códigos Trabalho com projetos e registros

Conselhos de um programador profissional sobre métodos, técnicas e ferramentas auxiliares para tornar a programação mais fácil.
Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos
Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos

Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos

Com este artigo, começaremos o desenvolvimento de uma classe-coleção de objetos-gráficos que armazenará uma lista-coleção de objetos-gráficos com suas subjanelas e indicadores, e tornará possível trabalhar com gráficos selecionados e suas subjanelas, ou com uma lista de vários gráficos ao mesmo tempo.
Scalping combinado: trades do passado ou melhoria do desempenho dos trades futuros
Scalping combinado: trades do passado ou melhoria do desempenho dos trades futuros

Scalping combinado: trades do passado ou melhoria do desempenho dos trades futuros

Agora analisaremos uma descrição da abordagem para aumentar a eficácia de qualquer sistema de negociação automatizado. Este artigo mostra resumidamente a ideia, os fundamentos básicos, as possibilidades e as desvantagens do método.
preview
Redes neurais de maneira fácil (Parte 13): normalização em lote

Redes neurais de maneira fácil (Parte 13): normalização em lote

No artigo anterior, começamos a examinar métodos para melhorar a qualidade do treinamento da rede neural. Neste artigo, proponho continuar este tópico e considerar uma outra abordagem, em particular a de normalização de dados em lote.
Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico
Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico

Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico

Neste artigo, continuaremos a desenvolver a classe do objeto-gráfico. Vamos adicionar uma lista de objetos-janelas, onde, por sua vez, estarão disponíveis as listas de indicadores colocados nestas.
Padrão de design MVC e a possibilidade de usá-lo
Padrão de design MVC e a possibilidade de usá-lo

Padrão de design MVC e a possibilidade de usá-lo

Este artigo falará sobre um padrão MVC comum, bem como sobre os prós e os contras de seu uso em programas MQL. Seu propósito é o de "dividir" o código existente em três componentes separados: Modelo (Model), Visualização (View) e Controlador (Controller).
Outras classes na biblioteca DoEasy (Parte 67): classe de objeto-gráfico
Outras classes na biblioteca DoEasy (Parte 67): classe de objeto-gráfico

Outras classes na biblioteca DoEasy (Parte 67): classe de objeto-gráfico

Neste artigo, vamos criar uma classe de um objeto-gráfico (um gráfico de um instrumento de negociação) e modificar a classe-coleção de objetos de sinal mql5 para que cada objeto-sinal armazenado na coleção também atualize todos os seus parâmetros quando a lista é atualizada.
preview
Força bruta para encontrar padrões (Parte IV): funcionalidade mínima

Força bruta para encontrar padrões (Parte IV): funcionalidade mínima

Neste artigo, mostrarei uma versão aprimorada da abordagem de força bruta, com base nos objetivos definidos no artigo anterior, e tentarei cobrir este tópico da forma mais ampla possível usando os EAs e as configurações obtidas por meio desse método. Também deixarei que a comunidade experimente a nova versão do programa.
preview
Aprendizado de máquina em sistemas de negociação baseados em grade e martingale. Deveríamos apostar nele?

Aprendizado de máquina em sistemas de negociação baseados em grade e martingale. Deveríamos apostar nele?

Este artigo apresentará ao leitor a técnica de aprendizado de máquina para negociação baseada em grade e martingale. Para minha surpresa, essa abordagem, por algum motivo, não é afetada de forma alguma na rede global. Após ler o artigo, podemos criar nossos próprios bots.
preview
Redes Neurais de Maneira Fácil (Parte 12): Dropout

Redes Neurais de Maneira Fácil (Parte 12): Dropout

Como a próxima etapa no estudo das redes neurais, eu sugiro considerar os métodos de aumentar a convergência durante o treinamento da rede neural. Existem vários desses métodos. Neste artigo, nós consideraremos um deles intitulado Dropout.
Outras classes na biblioteca DoEasy (Parte 66): classe-coleção de Sinais MQL5.com
Outras classes na biblioteca DoEasy (Parte 66): classe-coleção de Sinais MQL5.com

Outras classes na biblioteca DoEasy (Parte 66): classe-coleção de Sinais MQL5.com

Neste artigo, criaremos uma classe-coleção de sinais - do serviço Sinais MQL5.com - com funções para gerenciar sinais assinados e também modificaremos a classe do objeto-instantâneo do livro de ofertas para exibir o volume total de ordens sell e buy.
Trabalhando com preços e sinais na biblioteca DoEasy (Parte 65): coleção de livros de ofertas e classe para trabalhar com sinais MQL5.com
Trabalhando com preços e sinais na biblioteca DoEasy (Parte 65): coleção de livros de ofertas e classe para trabalhar com sinais MQL5.com

Trabalhando com preços e sinais na biblioteca DoEasy (Parte 65): coleção de livros de ofertas e classe para trabalhar com sinais MQL5.com

Neste artigo, criaremos uma classe-coleção de livros de ofertas para todos os símbolos e começaremos a desenvolver a funcionalidade para trabalhar com o serviço de sinais MQL5.com - criaremos uma classe objeto-sinal.
preview
Técnicas úteis e exóticas para a negociação automatizada

Técnicas úteis e exóticas para a negociação automatizada

Neste artigo, eu demonstrarei algumas técnicas muito interessantes e úteis para a negociação automatizada. Algumas delas podem ser familiares para você. Eu tentarei cobrir os métodos mais interessantes e explicarei por que vale a pena usá-los. Além disso, eu mostrarei o que essas técnicas podem fazer na prática. Nós criaremos Expert Advisors e testaremos todas as técnicas descritas usando as cotações históricas.
preview
Redes Neurais de Maneira Fácil (Parte 11): Uma visão sobre a GPT

Redes Neurais de Maneira Fácil (Parte 11): Uma visão sobre a GPT

Talvez um dos modelos mais avançados entre as redes neurais de linguagem atualmente existentes seja a GPT-3, cuja variante máxima contém 175 bilhões de parâmetros. Claro, nós não vamos criar tal monstro em nossos PCs domésticos. No entanto, nós podemos ver quais soluções arquitetônicas podem ser usadas em nosso trabalho e como nós podemos nos beneficiar delas.
Trabalhando com preços na biblioteca DoEasy (Parte 64): livro de ofertas, classes do objeto-instantâneo e objeto-série de instantâneos do livro de ofertas
Trabalhando com preços na biblioteca DoEasy (Parte 64): livro de ofertas, classes do objeto-instantâneo e objeto-série de instantâneos do livro de ofertas

Trabalhando com preços na biblioteca DoEasy (Parte 64): livro de ofertas, classes do objeto-instantâneo e objeto-série de instantâneos do livro de ofertas

Neste artigo, criaremos duas classes (a do objeto-instantânea do livro de ofertas e a do objeto-série dos instantâneos do livro de ofertas) e testaremos a criação de uma série de dados do livro de ofertas.
Algoritmo auto-adaptável (Parte IV): funcionalidade e testes adicionais
Algoritmo auto-adaptável (Parte IV): funcionalidade e testes adicionais

Algoritmo auto-adaptável (Parte IV): funcionalidade e testes adicionais

Continuo a complementar o algoritmo com a funcionalidade mínima necessária, vou fazer testes do que obtivemos como resultado. A lucratividade acabou sendo baixa, mas os artigos mostram um modelo que permite negociar com lucro de modo totalmente automático com base em instrumentos de negociação completamente diferentes, e não apenas diferentes, mas também operados em mercados fundamentalmente diferentes.
Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas
Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas

Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas

Neste artigo, começaremos a desenvolver funcionalidades para trabalhar com o livro de ofertas. Criaremos uma classe de objeto para uma ordem abstrata do livro de ofertas e dos seus herdeiros.
preview
Aplicação prática de redes neurais no trading (Parte 2). Visão computacional

Aplicação prática de redes neurais no trading (Parte 2). Visão computacional

O uso da visão computacional permite treinar redes neurais, usando uma representação visual do gráfico de preços e indicadores. Este método nos permite operar mais livremente com todo o conjunto de indicadores técnicos, uma vez que não requer feed digital para a rede neural.
Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas
Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas

Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas

Neste artigo, atualizaremos em tempo real da coleção de dados de ticks e prepararemos a classe do objeto-símbolo para trabalhar com o livro de ofertas, cujo funcionamento abordaremos no próximo artigo.
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.
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.
Trabalhando com preços na biblioteca DoEasy (Parte 61): coleção de séries de ticks para símbolos
Trabalhando com preços na biblioteca DoEasy (Parte 61): coleção de séries de ticks para símbolos

Trabalhando com preços na biblioteca DoEasy (Parte 61): coleção de séries de ticks para símbolos

Visto que diferentes símbolos podem ser usados durante a operação do programa, é necessário criar uma lista própria para cada um deles. Hoje vamos combinar essas listas numa coleção de dados de ticks. Na verdade, irá tratar-se de uma lista normal baseada numa classe de array dinâmico de ponteiros para instâncias da classe CObject e seus herdeiros da Biblioteca Padrão.
Algoritmo auto-adaptável (Parte III): evitando a otimização
Algoritmo auto-adaptável (Parte III): evitando a otimização

Algoritmo auto-adaptável (Parte III): evitando a otimização

É impossível obter um algoritmo verdadeiramente estável se para a seleção de parâmetros com base em dados históricos for usada uma otimização. Um algoritmo estável em si deve saber que parâmetros são necessários para trabalhar com qualquer instrumento de negociação a qualquer momento. Ele não deve adivinhar, ele deve saber com certeza.
preview
Busca de padrões sazonais no mercado de Forex usando o algoritmo CatBoost

Busca de padrões sazonais no mercado de Forex usando o algoritmo CatBoost

O artigo considera a criação de modelos de aprendizado de máquina com filtros de tempo e discute a eficácia dessa abordagem. O fator humano pode ser eliminado agora simplesmente instruindo o modelo a negociar em uma determinada hora de um determinado dia da semana. A busca de padrões pode ser fornecida por um algoritmo separado.
Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo
Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo

Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo

Neste artigo, criaremos uma lista para armazenar dados de tick de um símbolo e verificaremos tal criação e respectiva recepção de dados a partir dela no EA. Essas listas de dados de tick - separadamente para cada símbolo usado - formarão uma coleção de dados de tick.
O mercado e a física de seus padrões globais
O mercado e a física de seus padrões globais

O mercado e a física de seus padrões globais

Neste artigo, eu tentarei testar a suposição de que qualquer sistema, mesmo com uma pequena compreensão do mercado, pode operar em escala global. Eu não inventarei nenhuma teoria ou padrão, mas apenas usarei de fatos conhecidos, traduzindo gradualmente esses fatos para a linguagem da análise matemática.
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.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick
Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick

Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick

Com este artigo, vamos começar a criar a funcionalidade de biblioteca para trabalhar com dados de preços. Hoje vamos criar uma classe de objeto que armazenará todos os dados de preços recebidos no tick a seguir.
preview
Redes Neurais de Maneira Fácil (Parte 9): Documentação do trabalho

Redes Neurais de Maneira Fácil (Parte 9): Documentação do trabalho

Nós já percorremos um longo caminho e o código em nossa biblioteca está se tornando cada vez maior. Isso torna difícil controlar todas as conexões e dependências. Portanto, eu sugiro criar uma documentação para o código criado anteriormente e mantê-lo atualizado a cada nova etapa. A documentação devidamente preparada nos ajudará a ver a integridade do nosso trabalho.
Usando planilhas para construir estratégias de negociação
Usando planilhas para construir estratégias de negociação

Usando planilhas para construir estratégias de negociação

O artigo descreve os princípios básicos e abordagens que permitem analisar qualquer estratégia usando planilhas - Excel, Calc, Google. Os resultados também são comparados com os do testador do MetaTrader 5.