

Trabalhando com séries temporais na biblioteca DoEasy (Parte 45): buffers de indicador multiperíodo
Neste artigo, começaremos a modificar os objetos-buffers de indicador e a classe da coleção de buffers para trabalhar nos modos multiperíodo e multissímbolo. Veremos o funcionamento dos objetos-buffers para receber e exibir dados de qualquer timeframe no gráfico do símbolo atual.

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.

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.

Algoritmos de otimização populacionais: Otimizador lobo-cinzento (GWO)
Vamos falar sobre um dos algoritmos de otimização mais recentes e modernos: o "Packs of grey wolves" (manada de lobos-cinzentos). Devido ao seu comportamento distinto em funções de teste, este algoritmo se torna um dos mais interessantes em comparação com outros considerados anteriormente. Ele é um dos principais candidatos para treinamento de redes neurais e para otimizar funções suaves com muitas variáveis.


A matemática do mercado: lucro, prejuízo e custos
Neste artigo, eu mostrarei como calcular o lucro ou prejuízo total de qualquer negociação, incluindo comissão e swap. Eu fornecerei o modelo matemático mais preciso e o usarei para escrever o código e compará-lo com o padrão. Além disso, eu também tentarei entrar na função principal da MQL5 para calcular o lucro e chegar ao fundo de todos os valores necessários da especificação.

Letreiro de Cotação — Versão Básica
Aqui irei mostrar como criar aquelas faixas, normalmente usadas para mostrar cotações no caso das plataformas, mas usando pura e simplesmente MQL5, nada de programação externa complicada ou cheia de frescura.

Matrizes e vetores em MQL5: funções de ativação
Neste artigo, descrevemos apenas um aspecto do aprendizado de máquina, em particular as funções de ativação. Em redes neurais artificiais, a função de ativação de neurônio calcula o valor de um sinal de saída com base nos valores de um sinal de entrada ou de um conjunto de sinais de entrada. Vamos mergulhar nos detalhes internos do processo.


Padrões disponíveis para negociação de cestas de moedas. Parte III
Este é o artigo final dedicado aos padrões que ocorrem ao negociar cestas de pares moedas (portfólio). Ele considera indicadores de tendência combinados e a aplicação de construções gráficas padrão.


Interfaces Gráficas II: Configuração dos manipuladores de eventos da Biblioteca (Capítulo 3)
Os artigos anteriores contêm a implementação das classes para criar os componentes do menu principal. Agora, está na hora de olharmos com mais atenção os manipuladores de eventos nas classes base principais e dos controles criados. Nós também prestaremos uma atenção especial na gestão do estado do gráfico, dependendo da localização do cursor do mouse.


Melhorando o reconhecimento de padrões de velas por meio de velas Doji
Como encontrar padrões de velas com mais frequência do que o habitual. Por trás da simplicidade dos padrões de velas, há também uma séria desvantagem que pode ser evitada usando os abundantes recursos das modernas ferramentas de automação de negociação.

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 1): Análise de regressão
O trader moderno está quase sempre procurando novas ideias, consciente ou inconscientemente. Ele está constantemente tentando novas estratégias, modificando-as e descartando aquelas que não funcionam. Este processo de pesquisa é demorado e propenso a erros. Nesta série de artigos, tentarei provar que o assistente MQL5 é um verdadeiro suporte para qualquer operador. Graças ao assistente, o trader economiza tempo ao implementar suas ideias. Também reduz a probabilidade de erros que ocorrem ao duplicar o código. Assim, em vez de perder tempo com codificação, os operadores colocam em prática sua filosofia de negociação.

Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte III). Otimização e novas ferramentas
Desenvolveremos o tema do desenho de objetos gráficos em gráficos usando atalhos de teclado. Foram acrescentadas novas ferramentas à biblioteca, em particular uma linha reta, que atravessa máximos arbitrários, e um conjunto de retângulos que permitem estimar tanto o nível quanto o tempo de reversão. Também veremos a possibilidade de otimizar o código para melhorar o desempenho. O exemplo de implementação será reescrito como um indicador, o que tornará possível definir Shortcuts junto com outros programas de negociação. O nível de proficiência do código está um pouco acima do nível de iniciante.


Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)
Até agora, o tipo mais avançado de tabelas já desenvolvido em nossa biblioteca foi a CTable. Esta tabela é montada a partir de caixas de edição do tipo OBJ_EDIT, e seu posterior desenvolvimento tornou-se problemático. Portanto, em termos de capacidades máximas, é melhor desenvolver tabelas renderizadas do tipo CCanvasTable mesmo no atual estágio de desenvolvimento da biblioteca. Sua versão atual está completamente inerte, mas a partir deste artigo, nós vamos tentar corrigir esta situação.


Interfaces Gráficas VIII: O Controle Lista Hierárquica (Capítulo 2)
O capítulo anterior da parte VIII da série Interfaces Gráficas, nós focamos sobre os elementos do calendário estático e suspenso. O segundo capítulo será dedicado a um elemento igualmente complexo - uma lista hierárquica, que está incluída em cada biblioteca multifuncional, usada para a criação de interfaces gráficas. A lista hierárquica implementada neste artigo contém várias configurações flexíveis e modos, permitindo assim ajustar este elemento de controle às suas necessidades.

Usando o AutoIt com MQL5
Este artigo descreve como criar scripts para o terminal MetraTrader 5, integrando MQL5 com AutoIt. Vou mostrar como automatizar várias tarefas usando a interface do usuário do terminal e apresentar uma classe que usa a biblioteca AutoItX.

Como adicionar Trailing Stop com o indicador Parabolic SAR
Ao criar uma estratégia de negociação, precisamos testar diversas opções de stops de proteção. Aqui, surge a ideia de ajustar dinamicamente o nível do Stop Loss acompanhando o movimento do preço. O melhor candidato para isso é o indicador Parabolic SAR, porque é difícil pensar em algo mais simples e claro.

Trabalhando com o tempo (Parte 2): funções
Vamos aprender a reconhecer automaticamente as diferenças de tempo junto à corretora, bem como o Tempo Médio de Greenwich. Em vez de preguntar à corretora, que provavelmente dará uma resposta imprecisa (e quem quer explicar onde está o horário de negociação?), seremos nós mesmos a ver a que horas ela recebe as cotações nas semanas em que os fusos horários são trocados. Mas é claro que não vamos fazer isso manualmente, deixaremos o software fazer o trabalho por nós.

Operações com Matrizes e Vetores em MQL5
Matrizes e vetores foram introduzidos na MQL5 para operações eficientes com soluções matemáticas. Os novos tipos oferecem métodos integrados para a criação de código conciso e compreensível que se aproxima da notação matemática. Os arrays fornecem recursos extensos, mas há muitos casos em que as matrizes são muito mais eficientes.


Combinatória e teoria da probabilidade para negociação (Parte IV): lógica de Bernoulli
Neste artigo decidi destacar o conhecido esquema Bernoulli e mostrar como este pode ser usado ao descrever uma matriz de dados relacionados ao trading, para uso posterior no caminho à criação de um sistema de negociação auto-adaptável. Também manusearemos um algoritmo mais geral, nomeadamente a fórmula de Bernoulli e encontraremos sua aplicação.

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.

Redes neurais de maneira fácil (Parte 51): ator-crítico comportamental (BAC)
Nos últimos dois artigos, discutimos o algoritmo Soft Actor-Critic, que incorpora regularização de entropia na função de recompensa. Essa abordagem permite equilibrar a exploração do ambiente e a exploração do modelo, mas é aplicável apenas a modelos estocásticos. Neste artigo, exploraremos uma abordagem alternativa que é aplicável tanto a modelos estocásticos quanto determinísticos.


Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5
Este artigo é uma leitura obrigatória destinada a todos que desejam melhorar sua carreira como programadores. O objetivo desta série de artigos é ajudar o leitor, incluindo experientes, a melhorar suas habilidades de programação. As ideias descritas são aplicáveis tanto a programadores iniciantes em MQL5 quanto a profissionais.

Desenvolvendo um EA de negociação do zero (Parte 24): Dado robustez ao sistema (I)
Neste artigo iremos deixar o sistema mais robusto, de forma que ele fique mais estável e seguro de ser usado. Uma das formas de se conseguir robustez é procuramos reutilizar ao máximo o código, desta forma ele será testado o tempo todo e em diversas ocasiões diferente, mas esta é apenas uma das formas, outra forma é o uso da programação OOP.


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.

Como desenvolver um sistema de negociação baseado no indicador SAR Parabólico
Neste artigo, nós continuaremos nossa série sobre como projetar um sistema de negociação usando os indicadores mais populares. Neste artigo, nós aprenderemos detalhadamente sobre o indicador SAR Parabólico e como nós podemos projetar um sistema de negociação para ser usado na MetaTrader 5 usando algumas estratégias simples.

Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 10): Automação (II)
Automação não é nada sem que você consiga controlar o horário. Nenhum trabalhador consegue ser eficiente trabalhando 24 horas. No entanto, muitos acreditam que um sistema automático deva trabalhar 24 horas. Mas é sempre bom que você tenha meios de configurar um range de horário para o Expert Advisor. Neste artigo iremos tratar disto. Como adicionar adequadamente uma faixa de horário.

Como se tornar um provedor de sinais bem-sucedido na MQL5.com
O principal objetivo deste artigo é fornecer a você uma maneira simples e passo a passo de se tornar o melhor provedor de sinais na MQL5.com. A partir do meu conhecimento e experiência, explicarei o que é necessário para se tornar um provedor de sinais bem-sucedido, inclusive como encontrar, testar e otimizar uma boa estratégia. Além disso, darei dicas sobre como publicar seu sinal, escrever uma descrição convincente e promover e gerenciar de forma eficaz.

Desenvolvendo um EA de negociação do zero (Parte 30): CHART TRADE agora como indicador ?!
Trazendo o Chart Trade de volta a ativa ... mas agora ele será um indicador e poderá ou não estar presente no gráfico.


Negócios sociais com as plataformas de negócios MetaTrader 4 e MetaTrader 5
O que são negócios sociais? São uma cooperação mútua benéfica entre negociadores e investidores pelo meio dos quais negociadores de sucesso permitem o monitoramento de suas negociações e investidores em potencial aproveitam a oportunidade de monitorar seus desempenhos e copiar negociações daqueles que parecerem mais promissores.

Redes neurais de maneira fácil (Parte 29): Algoritmo ator-crítico de vantagem (Advantage actor-critic)
Nos artigos anteriores desta série, conhecemos 2 algoritmos de aprendizado por reforço. Cada um deles tem suas próprias vantagens e desvantagens. Como costuma acontecer quando nos deparamos com esses casos, surge a ideia de combinar os dois métodos em um algoritmo que incorpore o melhor dos dois. E assim compensar as deficiências de cada um deles. Falaremos sobre tal combinação de métodos neste artigo.

Domine e utilize o testador de estratégias MQL5 de forma eficiente
Os desenvolvedores MQL5 devem dominar diversas ferramentas essenciais. Entre elas, destaca-se o testador de estratégias. Este artigo serve como um guia prático para a utilização do testador de estratégias MQL5.

Desenvolvendo um EA de negociação do zero (Parte 25): Dado robustez ao sistema (II)
Aqui vamos terminar de dar uma alavancada na performance do EA ... então preparem-se para uma longa leitura. A primeira coisa que iremos fazer para dar robustez ao nosso EA será retirar tudo e absolutamente tudo que não faça parte do sistema de negociação de entro do código.

Análise de ciclos usando o algoritmo de Goertzel
Neste artigo, são apresentados utilitários que implementam o algoritmo de Goertzel em MQL5 e duas maneiras de aplicar esse método na análise de cotações de preços para o desenvolvimento de estratégias.


Como desenvolver um sistema de negociação baseado no indicador ADX
Neste artigo, nós continuaremos nossa série sobre como projetar um sistema
de negociação usando os indicadores mais populares e falaremos sobre o
indicador Índice Direcional Médio (ADX). Nós aprenderemos este indicador
em detalhes para entendê-lo bem e aprenderemos como usá-lo através de uma
estratégia simples. Ao aprender algo profundamente, nós podemos obter mais
"insights" e podemos usá-lo melhor.


Interfaces Gráficas VIII: O Controle Navegador de Arquivos (Capítulo 3)
Nos capítulos anteriores da oitava parte da série, nossa biblioteca foi reforçada por várias classes para o desenvolvimento de ponteiros para o cursor do mouse, calendários e as listas hierárquicas. O presente artigo lida com o controle navegador de arquivos que também pode ser utilizado como parte de uma interface gráfica na aplicação MQL.


Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos
Neste artigo modificaremos todos os objetos da biblioteca. Para isso, atribuiremos um tipo único a cada objeto e continuaremos desenvolvendo a classe-coleção de objetos 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
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.


Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)
Nós continuamos a complementar a tabela renderizada (CCanvasTable) com novas funcionalidades. A tabela terá agora: o realce das linhas quando o mouse estiver em cima; possibilidade de adicionar um array de ícones para cada célula e um método para trocá-los; possibilidade de definir ou modificar o texto da célula durante a execução do programa, e muito mais.


Gráficos na biblioteca DoEasy (Parte 84): classes herdeiras do objeto gráfico abstrato padrão
Neste artigo, veremos como se criam classes herdeiras do objeto gráfico abstrato padrão do terminal. O objeto deste tipo de classe descreve propriedades comuns a todos os objetos gráficos, isto é, ele é apenas um tipo de objeto gráfico. Para entender se pertence a um objeto gráfico real, precisamos gerar herança a partir dele, já na classe do objeto herdeiro precisamos escrever as propriedades que são específicas do objeto gráfico em particular.

Negociação usando uma grade com ordens limitadas no MOEX
Desenvolvimento de um Expert Advisor na linguagem de estratégias de negociação MQL5 para MetaTrader 5. Esse EA irá negociar no MOEX (Bolsa de Valores de Moscou), usando o terminal MetaTrader 5 e uma estratégia de grade, que incluirá o fechamento de posição por stop loss ou take profit, exclusão de ordens pendentes quando atendidas certas condições de mercado.