
Desenvolvendo um EA multimoeda (Parte 11): Início da automação do processo de otimização
Para obter um bom EA, precisamos selecionar muitos bons conjuntos de parâmetros para as instâncias das estratégias de trading. Isso pode ser feito manualmente, executando a otimização em diferentes símbolos e, em seguida, escolhendo os melhores resultados. Mas é melhor delegar esse trabalho para um programa e se concentrar em atividades mais produtivas.

Ciência de Dados e ML (Parte 26): A Batalha Definitiva em Previsão de Séries Temporais — Redes Neurais LSTM vs GRU
No artigo anterior, discutimos uma RNN simples que, apesar de sua incapacidade de entender dependências de longo prazo nos dados, conseguiu desenvolver uma estratégia lucrativa. Neste artigo, discutiremos tanto a Memória de Longo e Curto Prazo (LSTM) quanto a Unidade Recorrente com Portões (GRU). Essas duas redes foram introduzidas para superar as limitações de uma RNN simples e superá-la.

Redes neurais de maneira fácil (Parte 66): Problemáticas da pesquisa em treinamento off-line
O treinamento de modelos em modo off-line é realizado com dados de uma amostra de treinamento previamente preparada. Isso nos oferece várias vantagens, mas também comprime significativamente as informações sobre o ambiente em relação às dimensões da amostra de treinamento. Isso, por sua vez, limita as possibilidades de pesquisa. Neste artigo, quero apresentar um método que permite enriquecer a amostra de treinamento com dados o mais diversificados possível.

Uma Formulação Genérica de Otimização (GOF) para Implementar Max Personalizado com Restrições
Neste artigo, apresentaremos uma maneira de implementar problemas de otimização com múltiplos objetivos e restrições ao selecionar "Max Personalizado" na aba Configurações do terminal MetaTrader 5. Como exemplo, o problema de otimização pode ser: Maximizar o Fator de Lucro, o Lucro Líquido e o Fator de Recuperação, de modo que o Drawdown seja inferior a 10%, o número de perdas consecutivas seja inferior a 5, e o número de negociações por semana seja superior a 5.

Redes neurais de maneira fácil (Parte 97): Treinamento do modelo usando o MSFformer
Ao estudar diferentes arquiteturas de construção de modelos, temos dado pouca atenção ao processo de treinamento dos modelos. Neste artigo, tentarei preencher essa lacuna.

Algoritmos de otimização populacional: simulação de têmpera isotrópica (Simulated Isotropic Annealing, SIA). Parte II
A primeira parte do artigo foi dedicada ao conhecido e popular algoritmo de têmpera simulada, onde foram analisadas suas vantagens e descritos detalhadamente os pontos fracos. A segunda parte do artigo é dedicada a uma transformação radical do algoritmo, seu renascimento em um novo algoritmo de otimização, a simulação de têmpera isotrópica, SIA.

Desenvolvendo um EA multimoeda (Parte 10): Criação de objetos a partir de uma string
O plano de desenvolvimento do EA prevê várias etapas com o salvamento de resultados intermediários em um banco de dados. Recuperá-los de lá é possível apenas na forma de strings ou números, não como objetos. Portanto, precisamos de uma maneira de recriar no EA os objetos necessários a partir de strings lidas do banco de dados.

Do básico ao intermediário: Array e Strings (I)
Neste artigo, começaremos a ver alguns tipos especiais de dados. Vamos começar definindo o que seria uma string e como usar alguns procedimentos básicos. Isto para que possamos começar a trabalhar com este tipo que é bem curioso. Apesar de em alguns momentos ser um tanto confuso para iniciantes. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

Rede neural na prática: Pseudo Inversa (II)
Por conta do fato, de que estes artigos visam a didática. E não para mostrar como implementar esta ou aquela funcionalidade. Vamos fazer algo um pouco diferente aqui. Em vez de mostrar como implementar a fatoração para conseguir a inversa de uma matriz. Vamos focar em como fatorar a pseudo inversa. O motivo é que não faz sentido, mostrar como fatorar algo de forma genérica. Se podemos fazer a mesma coisa de forma especializada. E melhor, será algo que você, conseguirá entender muito mais do por que as coisas serem como são. Então vamos ver por que um hardware aparece depois de um tempo, em substituição a um software.

Redes neurais de maneira fácil (Parte 68): Otimização off-line de políticas baseada em preferências
Desde os primeiros artigos sobre aprendizado por reforço, a gente sempre falou de duas coisas: como explorar o ambiente e definir a função de recompensa. Os artigos mais recentes foram dedicados à exploração durante o aprendizado off-line. Neste aqui, quero apresentar a você um algoritmo em que os autores resolveram deixar de lado a função de recompensa.

Desenvolvendo um EA multimoeda (Parte 17): Preparação adicional para o trading real
Atualmente, nosso EA utiliza um banco de dados para obter as strings de inicialização de instâncias individuais de estratégias de trading. No entanto, o banco de dados é bastante volumoso e contém muitas informações desnecessárias para a operação real do EA. Tentaremos garantir o funcionamento do EA sem a necessidade de conexão obrigatória ao banco de dados.

Análise causal de séries temporais usando entropia de transferência
Neste artigo, discutimos como a causalidade estatística pode ser aplicada para identificar variáveis preditivas. Exploraremos a relação entre causalidade e entropia de transferência, além de apresentar um código MQL5 para detectar transferências direcionais de informação entre duas variáveis.

Teoria das Categorias em MQL5 (Parte 21): Transformações naturais com LDA
Este artigo, o 21º de nossa série, continua nossa análise das transformações naturais e de como elas podem ser implementadas usando a análise discriminante linear. Assim como no artigo anterior, a implementação é apresentada no formato de uma classe de sinal.

Do básico ao intermediário: Ponto Flutuante
Este artigo é uma breve introdução ao que seria o ponto flutuante. Como este conteúdo é muito complicado, aconselho você o ler com calma e atenção. Não espere dominar o sistema de ponto flutuante de maneira rápida. O mesmo somente é dominado com o tempo e experiência de uso. Mas este artigo irá lhe ajudar a entender, por que as vezes sua aplicação, reporta um resultado diferente daquele esperado originalmente. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

Desenvolvendo um sistema de Replay (Parte 51): Complicando as coisas (III)
Neste artigo você irá compreender uma das coisas mais complexas que existe na programação MQL5. A forma correta de adquirir a ID de gráfico, e por que algumas vezes objetos não são plotados no gráfico. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

Desenvolvendo um sistema de Replay (Parte 74): Um novo Chart Trade (I)
Neste artigo começaremos a modificar o último código visto nesta sequencia sobre o Chart Trade. Estas mudanças são necessárias, para adequar o código ao modelo atualmente desenvolvido do sistema de replay/simulador. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

Data Science e Machine Learning (Parte 22): Aproveitando Redes Neurais Autoencoders para Operações Mais Inteligentes, Movendo-se do Ruído para o Sinal
No mundo acelerado dos mercados financeiros, separar sinais significativos do ruído é crucial para o sucesso nas operações de trading. Ao empregar arquiteturas sofisticadas de redes neurais, os autoencoders se destacam ao descobrir padrões ocultos dentro dos dados de mercado, transformando entradas ruidosas em insights acionáveis. Neste artigo, exploramos como os autoencoders estão revolucionando as práticas de trading, oferecendo aos traders uma ferramenta poderosa para melhorar a tomada de decisões e ganhar uma vantagem competitiva nos mercados dinâmicos de hoje.

Inferência causal em problemas de classificação de séries temporais
Neste artigo, examinaremos a teoria da inferência causal usando aprendizado de máquina, bem como a implementação de uma abordagem personalizada em Python. A inferência causal e o pensamento causal têm suas raízes na filosofia e psicologia e desempenham um papel importante na nossa compreensão da realidade.

Técnicas do MQL5 Wizard que você deve conhecer (Parte 15): Máquinas de Vetores de Suporte com o Polinômio de Newton
Máquinas de Vetores de Suporte classificam dados com base em classes predefinidas, explorando os efeitos de aumentar sua dimensionalidade. É um método de aprendizado supervisionado que é bastante complexo, dado seu potencial para lidar com dados multidimensionais. Neste artigo, consideramos como uma implementação muito básica de dados bidimensionais pode ser feita de maneira mais eficiente com o Polinômio de Newton ao classificar a ação do preço.

Otimização de Portfólio em Python e MQL5
Este artigo explora técnicas avançadas de otimização de portfólio usando Python e MQL5 com o MetaTrader 5. Ele demonstra como desenvolver algoritmos para análise de dados, alocação de ativos e geração de sinais de negociação, enfatizando a importância da tomada de decisões orientada por dados na gestão financeira moderna e na mitigação de riscos.

Média Móvel em MQL5 do zero: Simples e acessível
Vamos entender os princípios de cálculo das médias móveis com exemplos simples, e conhecer formas de otimizar os cálculos de indicadores e, consequentemente, das médias móveis.

Construção de um modelo de restrição de tendência de velas (Parte 1): Para EAs e indicadores técnicos
Este artigo é voltado para desenvolvedores iniciantes e experientes em MQL5. Ele oferece um código que define indicadores para gerar sinais, limitando-os com base nas tendências de timeframes mais altos. Dessa forma, traders podem aprimorar suas estratégias ao incluir uma visão mais ampla do mercado, o que pode resultar em sinais de negociação potencialmente mais confiáveis.

Do básico ao intermediário: Variáveis (II)
Neste artigo vamos ver como trabalhar com variáveis do tipo estática. Este tema é um que costuma confundir muitos programadores. Iniciantes e até mesmo com alguma experiência. Já que existem alguns cuidados e macetes a serem observado no uso de tal mecanismo. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

Do básico ao intermediário: Comando WHILE e DO WHILE
Neste artigo, vermos de maneira prática e bastante didática o primeiro comando de laço. Apesar de muitos iniciantes temerem nas bases quando precisa criar laços. Saber como fazer isto de maneira adequada e segura. É algo que somente a experiência e prática irá lhe fornecer. Mas quem sabe, eu possa lhe ajudar a reduzir as dores e sofrimento. Isto lhe mostrando os principais problemas e cuidados a serem tomados quando for utilizar laços em seus códigos. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

O escore de propensão na inferência causalidade
O artigo examina o tema de pareamento na inferência causal. O pareamento é utilizado para comparar observações semelhantes em um conjunto de dados. Isso é necessário para determinar corretamente os efeitos causais e eliminar o viés. O autor explica como isso ajuda na construção de sistemas de negociação baseados em aprendizado de máquina, que se tornam mais estáveis em novos dados nos quais não foram treinados. O escore de propensão desempenha um papel central e é amplamente utilizado na inferência causal.

Do básico ao intermediário: Array (I)
Este é um artigo de transição entre o que foi visto até agora, para uma nova etapa de estudos. O pré-requisito para conseguir entender este artigo é ter compreendido os artigos anteriores. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

Do básico ao intermediário: Indicador (I)
Neste artigo criaremos o nosso primeiro indicador totalmente prático e funcional. O objetivo aqui, não é e não será mostrar como se cria de fato uma aplicação. Mas ajudar a você, meu caro leitor, a entender como você pode por conta própria, desenvolver suas próprias ideias. As colocando em prática, de forma segura, simples e prática.

Do básico ao intermediário: Comando IF ELSE
Neste artigo iremos ver como trabalhar com o comando IF e seu parceiro ELSE. Este que é o comando mais importante e significativo que existe em qualquer linguagem de programação. Porém apesar de ser muito simples de ser usado. O mesmo as vezes causa alguma confusão quando nos falta experiência no seu uso e nos conceitos a serem utilizados no mesmo. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

Desenvolvendo um sistema de Replay (Parte 52): Complicando as coisas (IV)
Neste artigo vamos fazer uma mudança no indicador de mouse a fim de poder efetuar a interação com o indicador de controle, já que a interação está sendo feita de forma errática.

Técnicas do MQL5 Wizard que você deve conhecer (14): Previsão de Séries Temporais Multiobjetivo com STF
A Fusão Espaço-Temporal, que utiliza métricas de 'espaço' e tempo na modelagem de dados, é principalmente útil em sensoriamento remoto e uma série de outras atividades baseadas em imagens, permitindo uma melhor compreensão do nosso ambiente. Graças a um artigo publicado, adotamos uma abordagem inovadora ao usá-la, examinando seu potencial para traders.

Redes neurais de maneira fácil (Parte 91): previsão na área de frequência (FreDF)
Continuamos a explorar a análise e previsão de séries temporais na área de frequência. E nesta matéria, apresentaremos um novo método de previsão nessa área, que pode ser adicionado a muitos dos algoritmos que já estudamos anteriormente.

Introdução ao MQL5 (Parte 8): Guia do Iniciante para Construção de Expert Advisors (II)
Este artigo aborda perguntas comuns de iniciantes nos fóruns de MQL5 e apresenta soluções práticas. Aprenda a realizar tarefas essenciais, como comprar e vender, obter preços de velas e gerenciar aspectos de negociação automatizada, como limites de operações, períodos de negociação e limites de lucro/perda. Receba orientações passo a passo para aprimorar sua compreensão e implementação desses conceitos no MQL5.

Ciência de Dados e Aprendizado de Máquina (Parte 19): Supercharge Seus Modelos de IA com AdaBoost
AdaBoost, um poderoso algoritmo de boosting projetado para elevar o desempenho dos seus modelos de IA. AdaBoost, abreviação de Adaptive Boosting, é uma técnica sofisticada de aprendizado em conjunto que integra perfeitamente aprendizes fracos, aprimorando sua força preditiva coletiva.

Trabalho com modelos ONNX nos formatos float16 e float8
Os formatos de dados utilizados para representar modelos de aprendizado de máquina desempenham um papel fundamental em sua eficiência. Nos últimos anos, surgiram vários novos tipos de dados desenvolvidos especificamente para trabalhar com modelos de aprendizado profundo. Neste artigo, vamos focar em dois novos formatos de dados que se tornaram amplamente utilizados nos modelos modernos.

Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 4): Personalizando o Estilo de Exibição para Cada Onda de Tendência
Neste artigo, exploraremos as capacidades da poderosa linguagem MQL5 na criação de vários estilos de indicadores no MetaTrader 5. Também analisaremos os scripts e como eles podem ser utilizados em nosso modelo.

Busca de padrões arbitrários em pares de moedas no Python com o uso do MetaTrader 5
Existem padrões repetitivos e regularidades no mercado cambial? Decidi criar meu próprio sistema de análise de padrões usando Python e MetaTrader 5. Uma espécie de simbiose entre matemática e programação para conquistar o Forex.

Integre seu próprio LLM no EA (Parte 3): Treinando seu próprio LLM com CPU
Com o rápido desenvolvimento da inteligência artificial hoje em dia, os modelos de linguagem (LLMs) são uma parte importante da IA, então devemos pensar em como integrar LLMs poderosos ao nosso trading algorítmico. Para a maioria das pessoas, é difícil ajustar esses modelos poderosos de acordo com suas necessidades, implantá-los localmente e depois aplicá-los ao trading algorítmico. Esta série de artigos adotará uma abordagem passo a passo para alcançar esse objetivo.

Agrupamento de séries temporais na inferência causal
Os algoritmos de agrupamento em aprendizado de máquina são ferramentas importantes de aprendizado não supervisionado que permitem dividir os dados brutos em grupos com características semelhantes. Com esses grupos, é possível, por exemplo, realizar análise de mercado para um cluster específico, identificar os clusters mais resilientes em novos conjuntos de dados e também realizar inferências causais. Este artigo apresenta um método original para o agrupamento de séries temporais, utilizando a linguagem Python.

Algoritmo de Busca Orbital Atômica — Atomic Orbital Search (AOS)
O artigo aborda o algoritmo AOS (Atomic Orbital Search), que utiliza conceitos do modelo orbital atômico para simular a busca por soluções. O algoritmo se baseia em distribuições probabilísticas e na dinâmica das interações dentro de um átomo. O artigo discute detalhadamente os aspectos matemáticos do AOS, incluindo a atualização das posições dos candidatos a soluções e os mecanismos de absorção e emissão de energia. O AOS abre novos caminhos para a aplicação de princípios quânticos em tarefas computacionais, oferecendo uma abordagem inovadora para a otimização.

Interpretação de modelos: Compreensão mais profunda dos modelos de aprendizado de máquina
O aprendizado de máquina é uma área fascinante e essencial para todos, independentemente da experiência que possuam. Neste artigo, vamos mergulhar nos detalhes dos mecanismos que fundamentam os modelos desenvolvidos, desvendaremos o intricado universo das características, das previsões e das soluções robustas, e alcançaremos uma interpretação cristalina dos modelos. Descubra como “fazer concessões”, aprimorar previsões, priorizar a importância dos parâmetros e fazer escolhas assertivas. Este texto servirá de guia para você aprimorar a eficácia dos modelos de aprendizado de máquina e maximizar os benefícios das metodologias aplicadas.