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
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.
Desenvolvendo um algoritmo auto-adaptável (Parte I): encontrando um padrão básico
Desenvolvendo um algoritmo auto-adaptável (Parte I): encontrando um padrão básico

Desenvolvendo um algoritmo auto-adaptável (Parte I): encontrando um padrão básico

Numa série de artigos, mostrarei um exemplo de como desenvolver algoritmos auto-adaptativos que levam em consideração a maioria de fatores que surgem nos mercados, apresentarei como sistematizar essas situações, como descrevê-las de forma lógica e como considerá-las na hora de negociar. Vou começar com um algoritmo muito simples, que com o tempo irá ganhar teoria e evoluir para um projeto muito complexo.
preview
Gradient boosting no aprendizado de máquina transdutivo e ativo

Gradient boosting no aprendizado de máquina transdutivo e ativo

Neste artigo, nós consideraremos os métodos de aprendizado de máquina ativo que se baseiam em dados reais e discutiremos seus prós e contras. Talvez você considere esses métodos úteis e os inclua em seu arsenal de modelos de aprendizado de máquina. A transdução foi introduzida por Vladimir Vapnik, que é o coinventor da Support-Vector Machine (SVM).
preview
Redes Neurais de Maneira Fácil (Parte 8): Mecanismos de Atenção

Redes Neurais de Maneira Fácil (Parte 8): Mecanismos de Atenção

Nos artigos anteriores, nós já testamos várias opções para organizar as redes neurais. Nós também estudamos as redes convolucionais emprestadas dos algoritmos de processamento de imagem. Neste artigo, eu sugiro estudarmos os Mecanismos de Atenção, cujo surgimento deu impulso ao desenvolvimento dos modelos de linguagem.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 58): séries temporais de dados de buffers de indicadores

Trabalhando com séries temporais na biblioteca DoEasy (Parte 58): séries temporais de dados de buffers de indicadores

No final do tópico sobre trabalho com séries temporais, realizaremos o armazenamento, a pesquisa e a classificação dos dados armazenados em buffers de indicadores, o que nos permitirá realizar análises posteriores com base nos valores dos indicadores criados assentes na biblioteca para nossos programas. O conceito geral por trás de todas as classes-coleções da biblioteca torna mais fácil encontrar os dados necessários na coleção correspondente, assim, o mesmo será possível na classe que será criada hoje.
preview
WebSocket para MetaTrader 5

WebSocket para MetaTrader 5

Antes do aparecimento das funções de rede na API MQL5 atualizada, os aplicativos MetaTrader eram limitados em sua capacidade de se conectar e interagir com serviços baseados no protocolo WebSocket. Agora a situação mudou. Neste artigo, veremos a implementação da biblioteca WebSocket em MQL5 puro. Uma breve descrição do protocolo WebSocket e um guia passo a passo sobre como usar a biblioteca resultante serão apresentados.
preview
Reamostragem avançada e seleção de modelos CatBoost pelo método de força bruta

Reamostragem avançada e seleção de modelos CatBoost pelo método de força bruta

Este artigo descreve uma das possíveis abordagens para a transformação de dados com o objetivo de melhorar a generalização do modelo, ele também discute a amostragem e seleção dos modelos CatBoost.
preview
Algoritmo de aprendizado de máquina CatBoost da Yandex sem conhecimento prévio de Python ou R

Algoritmo de aprendizado de máquina CatBoost da Yandex sem conhecimento prévio de Python ou R

O artigo fornece o código e a descrição das principais etapas do processo de aprendizado de máquina usando um exemplo específico. Para obter o modelo, você não precisa de conhecimento prévio em Python ou R. Além disso, um conhecimento básico de MQL5 já é suficiente — este é exatamente o meu nível. Portanto, eu espero que o artigo sirva como um bom tutorial para um público amplo, auxiliando os interessados em avaliar os recursos de aprendizado de máquina e implementá-lo em seus programas.
preview
Força bruta para encontrar padrões (Parte II): Imersão

Força bruta para encontrar padrões (Parte II): Imersão

Neste artigo, continuarei o tópico sobre força bruta. Tentarei apresentar melhor os padrões com ajuda de uma nova versão melhorada do meu programa e me esforçarei para encontrar a diferença a nível de estabilidade usando diferentes períodos gráficos.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 57): objeto de dados do buffer do indicador

Trabalhando com séries temporais na biblioteca DoEasy (Parte 57): objeto de dados do buffer do indicador

Neste artigo, veremos um objeto que conterá todos os dados de um buffer de um indicador. Tais objetos serão necessários para armazenar dados seriais de buffers de indicadores, e com a ajuda dos quais será possível classificar e comparar dados de buffers de quaisquer indicadores e outros dados semelhantes entre si.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 56): objeto de indicador personalizado, obtenção de dados a partir de objetos-indicadores numa coleção

Trabalhando com séries temporais na biblioteca DoEasy (Parte 56): objeto de indicador personalizado, obtenção de dados a partir de objetos-indicadores numa coleção

Neste artigo, veremos a criação de um objeto de indicador personalizado para ser usado em Expert Advisors. Vamos modificar ligeiramente as classes da biblioteca e escrever métodos para receber dados desde objetos-indicadores em Expert Advisors.
Exemplos de análise de gráficos usando o TD Sequential e os níveis de Murray-Gann
Exemplos de análise de gráficos usando o TD Sequential e os níveis de Murray-Gann

Exemplos de análise de gráficos usando o TD Sequential e os níveis de Murray-Gann

O TD Sequential mostra perfeitamente as mudanças no equilíbrio durante o movimento do preço. Isso é especialmente evidente se usarmos seus sinais juntamente com um indicador de nível, como com os níveis de Murray. Este artigo falará sobre essa combinação. O texto é destinado principalmente a iniciantes e àqueles que ainda não conseguiram encontrar seu "Graal", embora eu mostre alguns recursos de construção de níveis que não vi em outros fóruns. Sendo assim, algumas partes podem ser úteis também para usuários avançados. Por outra parte, quanto aos gurus, eu os convido ao diálogo e à crítica...
preview
Aplicação prática de redes neurais no trading. Python (Parte I)

Aplicação prática de redes neurais no trading. Python (Parte I)

Neste artigo, analisaremos passo a passo a implementação de um sistema de negociação baseado na programação de redes neurais profundas em Python. Para isso, usaremos a biblioteca de aprendizado de máquina TensorFlow desenvolvida pelo Google. Para descrever as redes neurais, iremos por em uso a biblioteca Keras.
Abordagem ideal para desenvolver e analisar sistemas de negociação
Abordagem ideal para desenvolver e analisar sistemas de negociação

Abordagem ideal para desenvolver e analisar sistemas de negociação

Neste artigo, além de tentar apresentar que critérios usar ao escolher um sistema ou sinal para investir seu dinheiro, aventurar-me-ei a mostrar qual é a melhor abordagem para desenvolver sistemas de negociação, e explicar por que isso é tão importante ao operar moedas.
preview
Perceptron Multicamadas e o Algoritmo Backpropagation

Perceptron Multicamadas e o Algoritmo Backpropagation

Recentemente, ao aumentar a popularidade desses métodos, tantas bibliotecas foram desenvolvidas em Matlab, R, Python, C++, e etc, que recebem o conjunto de treinamento como entrada e constroem automaticamente uma Rede Neural apropriada para o suposto problema. Vamos entender como funciona um tipo básico de Rede Neural, (Perceptron de um único neurônio e Perceptron Multicamadas), e um fascinante algoritmo responsável pelo aprendizado da rede, (Gradiente descendente e o Backpropagation). Tais modelos de rede serviram de base para os modelos mais complexos existentes hoje.
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.
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.
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.
preview
Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte II). Fazendo a marcação

Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte II). Fazendo a marcação

Este artigo é uma continuação do ciclo em que mostro como criar uma biblioteca conveniente para mim, a fim de desenhar o layout de gráficos manualmente com ajuda de atalhos de teclado. A marcação é feita com linhas retas e suas combinações. Nesta parte, vou falar diretamente sobre o desenho em si usando as funções descritas na primeira parte. A biblioteca pode ser anexada a qualquer Expert Advisor ou indicador, facilitando muito suas tarefas de layout. Esta solução NÃO USA dlls externas, todos os comandos são implementados usando ferramentas MQL integradas.
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
Como ganhar US$ 1 000 000 por meio do trading algorítmico? Nos serviços MQL5.com!

Como ganhar US$ 1 000 000 por meio do trading algorítmico? Nos serviços MQL5.com!

Cada trader chega ao mercado com o objetivo de ganhar seu primeiro milhão de dólares. Como ele pode fazer isso sem muito risco e sem capital inicial? Os serviços MQL5 facilitam isso para desenvolvedores e traders em qualquer país do mundo.
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.
Grade e martingale: o que são e como usá-los?
Grade e martingale: o que são e como usá-los?

Grade e martingale: o que são e como usá-los?

Neste artigo, tentarei explicar em detalhes o que são grade e martingale, bem como o que eles têm em comum. Além disso, procurarei analisar o quão viáveis essas estratégias são na realidade. Teremos uma parte matemática e outra prática.
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.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 55): classe-coleção de indicadores

Trabalhando com séries temporais na biblioteca DoEasy (Parte 55): classe-coleção de indicadores

Neste artigo, continuaremos a desenvolver as classes de objetos-indicadores e suas coleções. Para cada objeto-indicador vamos criar uma descrição e ajustar a classe-coleção para armazenamento sem erros e recuperação de objetos-indicadores a partir da lista-coleção.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 54): classes herdeiras do indicador base abstrato

Trabalhando com séries temporais na biblioteca DoEasy (Parte 54): classes herdeiras do indicador base abstrato

Neste artigo, analisaremos a criação de classes de objetos herdeiros do indicador base abstrato. Esses objetos nos darão acesso à capacidade de criar EAs de indicador, coletar e receber estatísticas sobre valores de dados de diferentes indicadores e preços. Também criaremos uma coleção de objetos-indicadores a partir da qual será possível acessar as propriedades e dados de cada indicador criado no programa.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 53): classe do indicador base abstrato

Trabalhando com séries temporais na biblioteca DoEasy (Parte 53): classe do indicador base abstrato

Neste artigo, veremos a criação de uma classe de indicador abstrato que será posteriormente usada como uma classe base para a criação de objetos de indicadores padrão e personalizados da biblioteca.
preview
Otimização Walk Forward contínua (Parte 8): Melhorias e correções do programa

Otimização Walk Forward contínua (Parte 8): Melhorias e correções do programa

O programa foi modificado com base nos comentários e solicitações dos usuários e leitores desta série de artigos. Este artigo contém uma nova versão do otimizador automático. Esta versão implementa os recursos solicitados e fornece outras melhorias, que eu descobri ao trabalhar com o programa.
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.
Uma abordagem científica para o desenvolvimento de algoritmos de negociação
Uma abordagem científica para o desenvolvimento de algoritmos de negociação

Uma abordagem científica para o desenvolvimento de algoritmos de negociação

O artigo considera a metodologia para o desenvolvimento de algoritmos de negociação, na qual uma abordagem científica consistente é usada para analisar os possíveis padrões de preços e para construir algoritmos de negociação com base nesses padrões. Os ideais de desenvolvimento são demonstrados por meio de exemplos.
Negociação Forex e sua matemática básica
Negociação Forex e sua matemática básica

Negociação Forex e sua matemática básica

O objetivo do artigo consiste em descrever as principais características da negociação forex da forma mais simples e rápida possível, compartilhando verdades simples com iniciantes. Aqui tentaremos responder às perguntas mais interessantes no ambiente de negociação, bem como escrever um indicador simples.
preview
Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)

Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)

Este artigo descreve uma forma de otimização rápida por meio do método de enxame de partículas e apresenta uma implementação em MQL pronta para ser utilizada tanto no modo thread único dentro do EA quanto no modo multi-thread paralelo com complemento que executado nos agentes locais do testador.
preview
Símbolos personalizados: Fundamentos práticos

Símbolos personalizados: Fundamentos práticos

O artigo é dedicado à geração programática de símbolos personalizados que são usados para demonstrar alguns métodos populares de exibição de cotações. Ele descreve uma variante sugerida da adaptação minimamente invasiva de Expert Advisors para negociar um símbolo real a partir de um gráfico de símbolo personalizado e derivado. Os códigos-fonte em MQL estão anexados a este artigo.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 52): natureza multiplataforma de indicadores padrão multiperíodos multissímbolos de buffer único

Trabalhando com séries temporais na biblioteca DoEasy (Parte 52): natureza multiplataforma de indicadores padrão multiperíodos multissímbolos de buffer único

Neste artigo, consideraremos a criação de um indicador padrão Accumulation/Distribution multissímbolo multiperíodo. Para que os programas escritos para a plataforma MetaTrader 4 desatualizada baseada nesta biblioteca funcionem normalmente ao mudar para o MetaTrader 5, iremos modificar ligeiramente as classes da biblioteca, a nível de indicadores.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 51): indicadores padrão multiperíodos multissímbolos compostos

Trabalhando com séries temporais na biblioteca DoEasy (Parte 51): indicadores padrão multiperíodos multissímbolos compostos

Neste artigo, vamos completar o desenvolvimento de objetos para indicadores padrão multissímbolos multiperíodos. Usando o indicador padrão Ichimoku Kinko Hyo como exemplo, analisaremos a criação de indicadores personalizados complexos que têm buffers desenhados auxiliares para exibir dados num gráfico.