![Teoria das Categorias em MQL5 (Parte 2)](https://c.mql5.com/2/51/Category-Theory-part-2_600x314.jpg)
Teoria das Categorias em MQL5 (Parte 2)
A Teoria das Categorias é um ramo diverso da Matemática e em expansão, sendo uma área relativamente recente na comunidade MQL5. Esta série de artigos visa introduzir e examinar alguns de seus conceitos com o objetivo geral de estabelecer uma biblioteca aberta que atraia comentários e discussões enquanto esperamos promover o uso deste campo notável no desenvolvimento da estratégia dos traders.
![Redes neurais de maneira fácil (Parte 24): Melhorando a ferramenta para transferência de aprendizado](https://c.mql5.com/2/49/Neural_Networks_Easy_016_600x314.jpg)
Redes neurais de maneira fácil (Parte 24): Melhorando a ferramenta para transferência de aprendizado
No último artigo, elaboramos uma ferramenta para criar e editar a arquitetura de redes neurais. E hoje quero convidá-lo a continuar trabalhando nela, para torná-la mais amigável. De certa forma, ao fazer isso, estamos nos afastando um pouco do nosso tópico. Mas convenhamos que a organização do espaço de trabalho desempenha um papel importante na obtenção do resultado.
![Teoria das Categorias em MQL5 (Parte 5): Equalizadores](https://c.mql5.com/2/53/Category-Theory-p5_600x314.jpg)
Teoria das Categorias em MQL5 (Parte 5): Equalizadores
A teoria das categorias é um ramo diversificado e em expansão da matemática que só recentemente começou a ser abordado na comunidade MQL5. Esta série de artigos tem como objetivo analisar alguns de seus conceitos para criar uma biblioteca aberta e utilizar ainda mais essa maravilhosa seção na criação de estratégias de negociação.
![DoEasy. Controles (Parte 3): Criando controles vinculados](https://c.mql5.com/2/49/doeasy_003_600x314.jpg)
DoEasy. Controles (Parte 3): Criando controles vinculados
Neste artigo, analisaremos a criação de controles subordinados, vinculados ao elemento que serve de base, criados diretamente por meio da funcionalidade do controle base. Além da tarefa definida acima, trabalharemos um pouco no objeto sombra do elemento gráfico, pois ainda persistem alguns erros de lógica ao aplicá-lo a qualquer um dos objetos que permitem ter sombra.
![Redes neurais de maneira fácil (Parte 25): Exercícios práticos de transferência de aprendizado](https://c.mql5.com/2/49/Neural_Networks_Easy_017_600x314.jpg)
Redes neurais de maneira fácil (Parte 25): Exercícios práticos de transferência de aprendizado
Nos dois últimos artigos, criamos uma ferramenta que permite criar e editar modelos de redes neurais. E agora é hora de avaliar o uso potencial da transferência de aprendizado (transfer learning, em inglês) usando exemplos práticos.
![Rede neural na prática: Reta Secante](https://c.mql5.com/2/72/Rede_neural_na_prltica_Reta_Secante_600x314.jpg)
Rede neural na prática: Reta Secante
Como foi explicado na parte teórica. Precisamos usar regressões lineares e derivadas, quando o assunto é rede neural. Mas por que ?!?! O motivo disto, é que a regressão linear é uma das fórmulas mais simples que existe. Basicamente uma regressão linear, é apenas uma função afim. Porém quando falamos em rede neural, não estamos interessados na reta, que a regressão linear cria. Estamos interessados é na equação que gera tal reta. A reta gerada pouco importa. Mas você sabe qual é a equação principal a ser compreendida ?!?! Se não veja este artigo para começar a entender.
![Avaliando o desempenho futuro com intervalos de confiança](https://c.mql5.com/2/58/estimate_future_performance_600x314.jpg)
Avaliando o desempenho futuro com intervalos de confiança
Neste artigo, vamos explorar o uso do bootstrapping como um meio de avaliar a eficácia futura de uma estratégia automatizada.
![Ciência de dados e aprendizado de máquina (Parte 17): O dinheiro cresce em árvores? Florestas aleatórias no trading de forex](https://c.mql5.com/2/63/midjourney_image_13765_54_491_3_600x314.jpg)
Ciência de dados e aprendizado de máquina (Parte 17): O dinheiro cresce em árvores? Florestas aleatórias no trading de forex
Neste artigo, vamos desvendar os segredos da alquimia algorítmica, explorando a arte e precisão dos mercados financeiros. Você vai ver como as florestas aleatórias transformam dados em previsões e ajudam a navegar nas complexidades do mercado financeiro. Vamos entender o papel das florestas aleatórias com dados financeiros e ver se elas podem ajudar a aumentar os lucros.
![Teoria das Categorias em MQL5 (Parte 15): Funtores com grafos](https://c.mql5.com/2/57/Category-Theory-p15_600x314.jpg)
Teoria das Categorias em MQL5 (Parte 15): Funtores com grafos
Este artigo continua a série sobre a implementação da teoria de categorias no MQL5, ele aborda os funtores como uma ponte entre grafos e conjuntos. Nesse escopo, voltaremos a analisar os dados de calendário e, apesar de suas limitações no uso do testador de estratégias, justificaremos o uso de funtores na previsão de volatilidade mediante correlação.
![Rede neural na prática: Reta Secante](https://c.mql5.com/2/72/Rede_neural_na_prltica_Reta_Secante_600x314.jpg)
Rede neural na prática: Reta Secante
Como foi explicado na parte teórica. Precisamos usar regressões lineares e derivadas, quando o assunto é rede neural. Mas por que ?!?! O motivo disto, é que a regressão linear é uma das fórmulas mais simples que existe. Basicamente uma regressão linear, é apenas uma função afim. Porém quando falamos em rede neural, não estamos interessados na reta, que a regressão linear cria. Estamos interessados é na equação que gera tal reta. A reta gerada pouco importa. Mas você sabe qual é a equação principal a ser compreendida ?!?! Se não veja este artigo para começar a entender.
![Anotação de dados na análise de série temporal (Parte 2): Criação de conjuntos de dados com rótulos de tendência usando Python](https://c.mql5.com/2/58/Make_datasets_with_trend_markers_using_Python_600x314.jpg)
Anotação de dados na análise de série temporal (Parte 2): Criação de conjuntos de dados com rótulos de tendência usando Python
Esta série de artigos apresenta várias técnicas destinadas a rotular séries temporais, técnicas essas que podem criar dados adequados à maioria dos modelos de inteligência artificial (IA). A rotulação de dados (ou anotação de dados) direcionada pode tornar o modelo de IA treinado mais alinhado aos objetivos e tarefas do usuário, melhorar a precisão do modelo e até mesmo ajudar o modelo a dar um salto qualitativo!
![DoEasy. Controles (Parte 31): Rolando o conteúdo do controle "ScrollBar"](https://c.mql5.com/2/51/doeasy_031_600x314.jpg)
DoEasy. Controles (Parte 31): Rolando o conteúdo do controle "ScrollBar"
Neste artigo, criaremos a funcionalidade para rolar o conteúdo do contêiner usando os botões da barra de rolagem horizontal.
![DoEasy. Controles (Parte 23): apurando os objetos WinForms TabControl e SplitContainer](https://c.mql5.com/2/50/Do_Easy_Part_23_600x314.jpg)
DoEasy. Controles (Parte 23): apurando os objetos WinForms TabControl e SplitContainer
Neste artigo, incluiremos novos eventos de mouse relacionados aos limites das áreas de trabalho dos objetos WinForms e corrigiremos algumas falhas na funcionalidade dos controles TabControl e SplitContainer.
![Indicador de posições históricas no gráfico em forma de diagrama de lucro/prejuízo](https://c.mql5.com/2/62/midjourney_image_13911_52_463_3_600x314.jpg)
Indicador de posições históricas no gráfico em forma de diagrama de lucro/prejuízo
Vamos falar sobre como obter informações sobre posições fechadas usando o histórico de negociações. Vamos criar um indicador simples que mostra um diagrama aproximado de lucro/prejuízo das posições em cada barra.
![Regressão rede elástica usando descida de coordenadas no MQL5](https://c.mql5.com/2/58/Elastic_net_regression_using_coordinate_descent_in_MQL5_600x314.jpg)
Regressão rede elástica usando descida de coordenadas no MQL5
Neste artigo, exploraremos a implementação prática da regressão rede elástica (elastic net regularization) para minimizar o sobreajuste e, ao mesmo tempo, separar automaticamente preditores úteis daqueles que possuem pouca força preditiva.
![Desenvolvendo um sistema de Replay (Parte 47): Projeto do Chart Trade (VI)](https://c.mql5.com/2/75/Desenvolvendo_um_sistema_de_Replay_wParte_47x_600x314.jpg)
Desenvolvendo um sistema de Replay (Parte 47): Projeto do Chart Trade (VI)
Finalmente o Indicador Chart Trade passa a se comunicar com algum Expert Advisor, podendo lançar as informações de modo interativo. Então neste artigo iremos finalizar, o indicador Chart Trade, o tornando funcional a ponto de podermos usá-lo em conjunto com algum Expert Advisor. O que iremos fazer, irá nos permitir, acessar e trabalhar com o indicador, como se ele estivesse de fato ligado ao Expert Advisor. Mas vamos fazer isto de uma maneira, bem mais interessante do que foi feito lá no passado.
![Algoritmos de otimização populacionais: Algoritmo de mudas, semeadura e crescimento (SSG)](https://c.mql5.com/2/52/growing-trees_600x314.jpg)
Algoritmos de otimização populacionais: Algoritmo de mudas, semeadura e crescimento (SSG)
O algoritmo de “mudas, semeadura e crescimento” (Saplings Sowing and Growing up, SSG) é inspirado em um dos organismos mais resistentes do planeta, um exemplo notável de sobrevivência em inúmeras condições.
![Desenvolvendo um agente de Aprendizado por Reforço em MQL5 com Integração RestAPI (Parte 4): Organizando Funções em Classes no MQL5](https://c.mql5.com/2/64/Desenvolvendo_um_agente_de_Aprendizado_por_Reforso_em_MQL5_com_Integraddo_RestAPI_gParte_4e_Organiza.jpg)
Desenvolvendo um agente de Aprendizado por Reforço em MQL5 com Integração RestAPI (Parte 4): Organizando Funções em Classes no MQL5
Este artigo examina a transição da codificação procedural para a Programação Orientada a Objetos (POO) no MQL5, com foco na integração com REST APIs. Discutimos como organizar funções de requisições HTTP (GET e POST) em classes, ressaltando vantagens como encapsulamento, modularidade e facilidade de manutenção. A refatoração de código é detalhada, mostrando a substituição de funções isoladas por métodos de classes. O artigo inclui exemplos práticos e testes.
![Algoritmos de otimização populacionais: algoritmo de otimização de forrageamento bacteriano (BFO)](https://c.mql5.com/2/51/bacterial-optimization_600x314.jpg)
Algoritmos de otimização populacionais: algoritmo de otimização de forrageamento bacteriano (BFO)
A base da estratégia de forrageamento de E. coli (E. coli) inspirou cientistas a desenvolverem o algoritmo de otimização BFO. Esse algoritmo apresenta ideias originais e abordagens promissoras para otimização e merece um estudo mais aprofundado.
![Validação cruzada e noções básicas de inferência causal em modelos CatBoost, exportação para o formato ONNX](https://c.mql5.com/2/60/CatBoost_export_to_ONNX_format_600x314.jpg)
Validação cruzada e noções básicas de inferência causal em modelos CatBoost, exportação para o formato ONNX
Este artigo propõe um método autoral para a criação de robôs usando aprendizado de máquina.
![Redes neurais de maneira fácil (Parte 39): Go-Explore - uma abordagem diferente para exploração](https://c.mql5.com/2/54/NN_39_Go_Explore_600x314.jpg)
Redes neurais de maneira fácil (Parte 39): Go-Explore - uma abordagem diferente para exploração
Continuamos com o tema da exploração do ambiente no aprendizado por reforço. Neste artigo, abordaremos mais um algoritmo, o Go-Explore, que permite explorar eficazmente o ambiente durante a fase de treinamento do modelo.
![Desenvolvendo um sistema de Replay (Parte 56): Adequando os Módulos](https://c.mql5.com/2/83/Desenvolvendo_um_sistema_de_Replay_Parte_56_600x314.jpg)
Desenvolvendo um sistema de Replay (Parte 56): Adequando os Módulos
Apesar dos módulos estarem se comunicando de maneira adequada, existe uma falha quando é tentado usar o indicador de mouse no serviço de replay. Precisamos corrigir isto agora, antes de dar o próximo passo. Além disto, havia uma falha que finalmente foi devidamente corrigida no código do indicador de mouse. Então esta versão finalmente se tornou estável, e devidamente finalizada.
![Redes neurais de maneira fácil (Parte 55): Controle interno contrastivo (CIC)](https://c.mql5.com/2/57/cic-055_600x314.jpg)
Redes neurais de maneira fácil (Parte 55): Controle interno contrastivo (CIC)
O aprendizado contrastivo é um método de aprendizado de representação sem supervisão. Seu objetivo é ensinar o modelo a identificar semelhanças e diferenças nos conjuntos de dados. Neste artigo, discutiremos o uso de abordagens de aprendizado contrastivo para explorar diferentes habilidades do Ator.
![Anotação de dados na análise de série temporal (Parte 3): Exemplo de uso de anotação de dados](https://c.mql5.com/2/58/Data_label_for_time_series_mining_V4_Impr_600x314.jpg)
Anotação de dados na análise de série temporal (Parte 3): Exemplo de uso de anotação de dados
Esta série de artigos apresenta várias técnicas destinadas a rotular séries temporais, técnicas essas que podem criar dados adequados à maioria dos modelos de inteligência artificial (IA). A rotulação de dados (ou anotação de dados) direcionada pode tornar o modelo de IA treinado mais alinhado aos objetivos e tarefas do usuário, melhorar a precisão do modelo e até mesmo ajudar o modelo a dar um salto qualitativo!
![Teoria das Categorias em MQL5 (Parte 16): funtores com perceptrons multicamadas](https://c.mql5.com/2/57/category-theory-p16_600x314.jpg)
Teoria das Categorias em MQL5 (Parte 16): funtores com perceptrons multicamadas
Continuamos a examinar funtores e como eles podem ser implementados usando redes neurais artificiais. Vamos temporariamente deixar de lado a abordagem que incluía a previsão de volatilidade, e tentar implementar nossa própria classe de sinais para estabelecer sinais para entrar e sair de uma posição.
![Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)](https://c.mql5.com/2/58/mqtt_p2_600x314.jpg)
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)
Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos como está organizando nosso código, os primeiros arquivos de cabeçalho e classes, e como escrever testes. Este artigo também inclui notas breves sobre o desenvolvimento orientado por testes (Test-Driven Development) e sua aplicação neste projeto.
![Redes neurais de maneira fácil (Parte 20): autocodificadores](https://c.mql5.com/2/49/Neural_Networks_Easy_012_600x314.jpg)
Redes neurais de maneira fácil (Parte 20): autocodificadores
Continuamos a estudar algoritmos de aprendizado não supervisionado. Talvez você como o leitor possa ter dúvidas sobre se as publicações recentes se encaixam no tópico de redes neurais. Neste novo artigo, voltamos ao uso de redes neurais.
![Experimentos com redes neurais (Parte 7): Transferência de indicadores](https://c.mql5.com/2/59/Experiments_with_neural_networks_7_600x314.jpg)
Experimentos com redes neurais (Parte 7): Transferência de indicadores
Desta vez, veremos exemplos de passagem de indicadores ao perceptron. Abordaremos conceitos gerais, um Expert Advisor simples pronto, os resultados de sua otimização e testes forward.
![Python, ONNX e MetaTrader 5: Montando um modelo RandomForest com pré-processamento de dados via RobustScaler e PolynomialFeatures](https://c.mql5.com/2/61/Python_ONNX__MetaTrader_5____RandomForest__600x314.jpg)
Python, ONNX e MetaTrader 5: Montando um modelo RandomForest com pré-processamento de dados via RobustScaler e PolynomialFeatures
Neste artigo, vamos desenvolver um modelo de floresta aleatória usando Python. Vamos treinar esse modelo e salvá-lo como um pipeline ONNX, já incluindo etapas de pré-processamento de dados. Depois, esse modelo será aplicado diretamente no terminal do MetaTrader 5.
![Redes neurais de maneira fácil (Parte 56): Utilização da norma nuclear para estimular a pesquisa](https://c.mql5.com/2/57/nuclear_norm_utilization_600x314.jpg)
Redes neurais de maneira fácil (Parte 56): Utilização da norma nuclear para estimular a pesquisa
A pesquisa do ambiente em tarefas de aprendizado por reforço é um problema atual. Anteriormente, já examinamos algumas abordagens. E hoje, eu proponho que nos familiarizemos com mais um método, baseado na maximização da norma nuclear. Ele permite que os agentes destaquem estados do ambiente com alto grau de novidade e diversidade.
![Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)](https://c.mql5.com/2/59/Online_Decision_Transformer_UP_600x314.jpg)
Redes neurais de maneira fácil (Parte 60): transformador de decisões on-line (ODT)
As últimas 2 partes foram dedicadas ao método transformador de decisões (DT), que modela sequências de ações no contexto de um modelo autorregressivo de recompensas desejadas. Neste artigo, vamos considerar outro algoritmo de otimização deste método.
![Gráficos na biblioteca DoEasy (Parte 100): Eliminando bugs ao trabalhar com objetos gráficos padrão estendidos](https://c.mql5.com/2/49/doeasy_100_600x314.jpg)
Gráficos na biblioteca DoEasy (Parte 100): Eliminando bugs ao trabalhar com objetos gráficos padrão estendidos
Hoje vamos retocar e eliminar falhas evidentes ao trabalhar com objetos gráficos estendidos (e padrão) e com objetos-formas na tela, além disso vamos consertar os erros observados durante os testes no último artigo. E assim vamos concluir esta seção da descrição da biblioteca.
![Redes neurais de maneira fácil (Parte 65): aprendizado supervisionado ponderado por distância (DWSL)](https://c.mql5.com/2/61/Neural_Networks_Made_Easy_kPart_659_DWSL_600x314.jpg)
Redes neurais de maneira fácil (Parte 65): aprendizado supervisionado ponderado por distância (DWSL)
Neste artigo, convido você a conhecer um algoritmo interessante que se situa na interseção entre os métodos de aprendizado supervisionado e de reforço.
![DoEasy. Controles (Parte 5): Objeto base WinForms, controle Painel, parâmetro AutoSize](https://c.mql5.com/2/49/doeasy_005_600x314.jpg)
DoEasy. Controles (Parte 5): Objeto base WinForms, controle Painel, parâmetro AutoSize
Neste artigo, criaremos um objeto que serve de base para todos os objetos WinForms da biblioteca e começaremos a preparar a propriedade AutoSize do objeto WinForms "Painel", que dimensiona automaticamente o objeto de acordo com seu conteúdo.
![Redes neurais de maneira fácil (Parte 64): Método de clonagem de comportamento ponderada conservadora (CWBC)](https://c.mql5.com/2/60/Neural_networks_made_easy_mPart_64s_CWBC_600x314.jpg)
Redes neurais de maneira fácil (Parte 64): Método de clonagem de comportamento ponderada conservadora (CWBC)
Pelo resultado dos testes realizados em artigos anteriores, concluímos que a qualidade da estratégia treinada depende muito da amostra de treinamento utilizada. Neste artigo, apresento a vocês um método simples e eficaz para selecionar trajetórias com o objetivo de treinar modelos.
![Redes neurais de maneira fácil (Parte 52): exploração com otimização e correção de distribuição](https://c.mql5.com/2/57/optimistic-actor-critic_600x314.jpg)
Redes neurais de maneira fácil (Parte 52): exploração com otimização e correção de distribuição
À medida que a política do Ator se afasta cada vez mais dos exemplos armazenados no buffer de reprodução de experiências, a eficácia do treinamento do modelo, baseado nesse buffer, diminui. Neste artigo, examinamos um algoritmo que aumenta a eficácia do uso de amostras em algoritmos de aprendizado por reforço.
![Algoritmos de otimização populacionais: otimização de dinâmica espiral (Spiral Dynamics Optimization, SDO)](https://c.mql5.com/2/61/Spiral_Dynamics_Optimization_SDO_600x314.jpg)
Algoritmos de otimização populacionais: otimização de dinâmica espiral (Spiral Dynamics Optimization, SDO)
Neste artigo examinaremos a otimização de dinâmica espiral (SDO), um algoritmo de otimização baseado nos padrões de trajetórias espirais presentes na natureza, como nas conchas de moluscos. O algoritmo proposto pelos autores foi completamente repensado e modificado por mim, e o artigo discutirá por que essas mudanças foram necessárias.
![Desenvolvimento de um Cliente MQTT para o MetaTrader 5: metodologia TDD (Parte 3)](https://c.mql5.com/2/58/mqtt_p3_600x314.jpg)
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: metodologia TDD (Parte 3)
Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos em detalhes como aplicar o princípio do desenvolvimento orientado por testes para implementar a troca de pacotes CONNECT/CONNACK. Ao final desta etapa, nosso cliente DEVE ser capaz de agir apropriadamente ao trabalhar com todos os possíveis resultados do servidor ao tentar se conectar.
![DoEasy. Controles (Parte 18): Preparando a funcionalidade para rolagem de guias no TabControl](https://c.mql5.com/2/49/doeasy_018_600x314.jpg)
DoEasy. Controles (Parte 18): Preparando a funcionalidade para rolagem de guias no TabControl
Neste artigo colocaremos os botões de controle de rolagem de cabeçalhos no objeto WinForms TabControl caso a fileira de cabeçalhos não se ajuste ao tamanho do controle, e faremos o deslocamento da linha de cabeçalho quando clicamos no cabeçalho de uma guia cortada.
![Ciência de Dados e Aprendizado de Máquina (Parte 15): SVM — uma ferramenta útil no arsenal do trader](https://c.mql5.com/2/60/Data_Science_and_Machine_Learning1Part_15n_SVM_600x314.jpg)
Ciência de Dados e Aprendizado de Máquina (Parte 15): SVM — uma ferramenta útil no arsenal do trader
Neste artigo, exploraremos o papel que o método de máquinas de vetores de suporte (<i>support vector machines</i>, SVM) desempenha na formação do futuro do trading. Este artigo pode ser visto como um guia detalhado que explica como usar o SVM para melhorar estratégias de trading, otimizar a tomada de decisões e descobrir novas oportunidades nos mercados financeiros. Você mergulhará no mundo do SVM através de aplicações reais, instruções passo a passo e avaliações de especialistas. Talvez essa ferramenta indispensável o ajude a entender as complexidades do trading moderno. De qualquer forma, o SVM se tornará uma ferramenta muito útil no arsenal de cada trader.