Visão computacional para trading (Parte 1): Criando uma funcionalidade básica simples
Sistema de previsão do EURUSD usando visão computacional e aprendizado profundo. Descubra como redes neurais convolucionais podem reconhecer padrões complexos de preços no mercado cambial e prever o movimento da cotação com precisão de até 54%. O artigo revela a metodologia de criação de um algoritmo que utiliza tecnologias de inteligência artificial para análise visual de gráficos, em vez de indicadores técnicos tradicionais. O autor demonstra o processo de transformação dos dados de preços em "imagens", seu processamento por uma rede neural e a oportunidade única de olhar para a "consciência" da IA por meio de mapas de ativação e mapas de calor de atenção. O código prático em Python, com a utilização da biblioteca MetaTrader 5, possibilita que os leitores reproduzam o sistema e o apliquem em seu próprio trading.
Redes neurais em trading: Framework de previsão cruzada de domínio de séries temporais (TimeFound)
Neste artigo, montamos passo a passo o núcleo do modelo inteligente TimeFound, adaptado para tarefas reais de previsão de séries temporais. Se você se interessa pela implementação prática de algoritmos de patching com redes neurais em MQL5, você está no lugar certo.
Automatizando Estratégias de Trading em MQL5 (Parte 10): Desenvolvendo a Estratégia Trend Flat Momentum
Neste artigo, desenvolvemos um Expert Advisor em MQL5 para a estratégia Trend Flat Momentum. Combinamos um cruzamento de duas médias móveis com filtros de momentum RSI e CCI para gerar sinais de negociação. Também abordamos backtesting e possíveis melhorias para desempenho em condições reais de mercado.
Desenvolvendo um cliente MQTT para MetaTrader 5: uma abordagem TDD — Final
Este artigo é a última parte de uma série que descreve nossas etapas de desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT 5.0. Embora a biblioteca ainda não esteja pronta para produção, nesta parte, usaremos nosso cliente para atualizar um símbolo personalizado com ticks (ou taxas) obtidos de outro corretor. Por favor, veja o final deste artigo para mais informações sobre o status atual da biblioteca, o que falta para que ela esteja totalmente em conformidade com o protocolo MQTT 5.0, um possível roadmap, e como acompanhar e contribuir para seu desenvolvimento.
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.
Algoritmos de otimização populacional: Mudamos a forma e deslocamos as distribuições de probabilidade e testamos com o "Cabeçudinho Inteligente" (Smart Cephalopod, SC)
Com este artigo investigaremos como a mudança de forma das distribuições de probabilidade afetam o desempenho dos algoritmos de otimização. Realizaremos experimentos baseados no algoritmo de teste "cabeçudinho inteligente" (Smart Cephalopod, SC) para avaliar o desempenho de diferentes distribuições de probabilidade no contexto de tarefas de otimização.
Reimaginando Estratégias Clássicas: Petróleo Bruto
Neste artigo, revisitamos uma estratégia clássica de negociação de petróleo bruto com o objetivo de aprimorá-la, utilizando algoritmos de aprendizado de máquina supervisionado. Vamos construir um modelo de mínimos quadrados para prever os preços futuros do petróleo Brent, com base na diferença entre os preços do Brent e do WTI. Nosso objetivo é identificar um indicador líder de futuras mudanças nos preços do Brent.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 37): Regressão por Processo Gaussiano com Núcleos Lineares e de Matérn
Os núcleos lineares são a matriz mais simples de seu tipo usada em aprendizado de máquina para regressão linear e máquinas de vetor de suporte. O núcleo de Matérn, por outro lado, é uma versão mais versátil da Função de Base Radial que analisamos em um artigo anterior, e é hábil em mapear funções que não são tão suaves quanto o RBF pressupõe. Construímos uma classe de sinal personalizada que utiliza ambos os núcleos para prever condições de compra e venda.
Utilizando o modelo de Machine Learning CatBoost como Filtro para Estratégias de Seguimento de Tendência
CatBoost é um poderoso modelo de machine learning baseado em árvores que se especializa em tomada de decisão com base em features estacionárias. Outros modelos baseados em árvores como XGBoost e Random Forest compartilham características semelhantes em termos de robustez, capacidade de lidar com padrões complexos e interpretabilidade. Esses modelos têm uma ampla gama de usos, desde análise de features até gestão de risco. Neste artigo, vamos percorrer o procedimento de utilização de um modelo CatBoost treinado como filtro para uma estratégia clássica de seguimento de tendência com cruzamento de médias móveis.
Redes neurais em trading: Otimização de LSTM para fins de previsão de séries temporais multidimensionais (Conclusão)
Continuamos a implementação do framework DA-CG-LSTM, que propõe métodos inovadores de análise e previsão de séries temporais. O uso de CG-LSTM e do mecanismo de atenção dupla permite identificar com maior precisão tanto dependências de longo prazo quanto de curto prazo nos dados, o que é especialmente útil para o trabalho com mercados financeiros.
Otimização extrema — Extremal Optimization (EO)
Neste artigo, é analisado o algoritmo Extremal Optimization (EO), um método de otimização inspirado no modelo de criticidade auto-organizada de Bak-Sneppen, no qual a evolução ocorre por meio da eliminação dos piores componentes do sistema. A versão populacional modificada do algoritmo se afasta dos princípios teóricos em favor da eficiência prática, o que leva à criação de poderosas ferramentas computacionais.
Rede neural quântica em MQL5 (Parte II): Treinamos a rede neural com retropropagação do erro usando matrizes de Markov da ALGLIB
O artigo apresenta uma arquitetura inovadora de rede neural quântica para trading algorítmico, combinando princípios da mecânica quântica com métodos modernos de machine learning. O sistema inclui efeitos quânticos (ressonância, interferência, decoerência), memória multinível em diferentes escalas temporais, cadeias de Markov com a biblioteca ALGLIB e controle adaptativo de parâmetros. A implementação completa foi feita em MQL5 usando os tipos nativos matrix/vector, o que elimina barreiras de adoção no MetaTrader 5.
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.
Do básico ao intermediário: Objetos (I)
Neste artigo, começarmos a ver como poderemos trabalhar com objetos diretamente no gráfico. Isto utilizando um código construído especialmente para apresentar algo a nós. Trabalhar com objetos é algo muito interessante e bastante divertido. Como este será o primeiro contato. Iremos começar com algo bem simples.
Automatizando Estratégias de Trading em MQL5 (Parte 2): O Sistema Kumo Breakout com Ichimoku e Awesome Oscillator
Neste artigo, criamos um Expert Advisor (EA) que automatiza a estratégia Kumo Breakout utilizando o indicador Ichimoku Kinko Hyo e o Awesome Oscillator. Percorremos o processo de inicialização dos identificadores de indicadores, detecção das condições de breakout e codificação das entradas e saídas automatizadas de trades. Além disso, implementamos trailing stops e lógica de gerenciamento de posição para aprimorar o desempenho e a adaptabilidade do EA às condições de mercado.
Integrando Discord com MetaTrader 5: Construindo um Bot de Trading com Notificações em Tempo Real
Neste artigo, veremos como integrar o MetaTrader 5 a um servidor Discord para receber notificações de negociações em tempo real de qualquer lugar. Veremos como configurar a plataforma e o Discord para habilitar o envio de alertas ao Discord. Também abordaremos questões de segurança que surgem em conexão com o uso de WebRequests e webhooks para esse tipo de solução de alertas.
Adicionando um LLM personalizado a um robô investidor (Parte 5): Desenvolvimento e teste de uma estratégia de trading com LLM (II) - Configuração do LoRA
Os modelos de linguagem (LLMs) são uma parte importante da inteligência artificial que evolui rapidamente. E para aproveitar isso devemos pensar em como integrar LLMs avançados em nossa negociação algorítmica. Muitos acham desafiador ajustar esses modelos de acordo com suas necessidades, implantá-los localmente e, logo, aplicá-los à negociação algorítmica. Esta série de artigos explorará uma abordagem passo a passo para alcançar esse objetivo.
Reimaginando Estratégias Clássicas (Parte 13): Minimizando o Atraso em Cruzamentos de Médias Móveis
Os cruzamentos de médias móveis são amplamente conhecidos pelos traders em nossa comunidade, e ainda assim o núcleo da estratégia mudou muito pouco desde sua criação. Nesta discussão, apresentaremos um leve ajuste à estratégia original, que busca minimizar o atraso presente na estratégia de negociação. Todos os fãs da estratégia original podem considerar revisar a estratégia de acordo com os insights que discutiremos hoje. Ao usar 2 médias móveis com o mesmo período, reduzimos consideravelmente o atraso na estratégia de negociação, sem violar os princípios fundamentais da estratégia.
MQL5 Trading Toolkit (Parte 7): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com as Funções da Última Ordem Pendente Cancelada
Aprenda como concluir a criação do módulo final na biblioteca History Manager EX5, com foco nas funções responsáveis por lidar com a ordem pendente cancelada mais recente. Isso fornecerá a você as ferramentas para recuperar e armazenar de forma eficiente os principais detalhes relacionados às ordens pendentes canceladas com MQL5.
Introdução ao MQL5 (Parte 17): Criação de EAs para reversões de tendência
Este artigo ensina iniciantes a criar um EA na linguagem MQL5 que opera com base no reconhecimento de padrões gráficos usando rompimentos de linhas de tendência e reversões. Ao aprender como extrair dinamicamente os valores de uma linha de tendência e compará-los com o price action, os leitores poderão desenvolver EAs capazes de identificar padrões gráficos, como linhas de tendência de alta e de baixa, canais, cunhas, triângulos e muitos outros, e operar com base neles.
Simulação de mercado (Parte 08): Sockets (II)
Que tal criar algo prático usando soquetes? Bem, neste artigo, vamos iniciar a criação de um mini chat. Acompanhe como isto será feito, pois será algo bastante interessante. Lembre-se que o que será mostrado aqui tem como objetivo ser um código puramente didático. Você de fato não deve usar este código de forma comercial ou em uma aplicação finalizada. Pois o mesmo não conta com nenhum tipo de segurança no transporte dos dados. Sendo possível ver o conteúdo do que está sendo transportado pelo soquete.
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.
Critérios de tendência. Conclusão
Neste artigo, analisaremos as particularidades da aplicação prática de alguns critérios de tendência. Além disso, tentaremos desenvolver alguns novos critérios. A principal atenção será dada à eficácia desses critérios na análise de dados de mercado e no trading.
Quantificação no aprendizado de máquina (Parte 2): Pré-processamento de dados, seleção de tabelas, treinamento do modelo CatBoost
Este artigo trata da aplicação prática da quantização na construção de modelos baseados em árvores. São examinados métodos para selecionar tabelas quantizadas e para o pré-processamento de dados. O material será apresentado em linguagem acessível, sem fórmulas matemáticas complexas.
Desenvolvendo um EA multimoeda (Parte 8): Realizando testes de carga e processando um novo candle
À medida que avançamos, utilizamos cada vez mais instâncias simultâneas de estratégias de negociação em um único EA. Vamos descobrir até quantas instâncias podemos utilizar antes de nos depararmos com limitações de recursos.
Redes neurais em trading: Transformer vetorial hierárquico (HiVT)
Apresentamos o método Transformer Vetorial Hierárquico (HiVT), desenvolvido para a previsão rápida e precisa de séries temporais multimodais.
Desenvolvimento de ferramentas para análise do movimento de preços (Parte 2): Script de comentários analíticos
Dando continuidade ao nosso trabalho para simplificar a interação com o comportamento do preço, temos o prazer de apresentar mais uma ferramenta que pode melhorar significativamente sua análise de mercado e ajudar na tomada de decisões bem fundamentadas. Esta ferramenta exibe indicadores técnicos importantes, como os preços do dia anterior, níveis significativos de suporte e resistência, além do volume de negociação, gerando automaticamente dicas visuais no gráfico.
Desenvolvendo um sistema de Replay (Parte 75): Um novo Chart Trade (II)
Neste artigo explicarei grande parte da classe C_ChartFloatingRAD. Esta é responsável por fazer com que o Chart Trade funcione. Porém aqui não irei de fato terminar a explicação. A mesma será finalizada no próximo artigo. Já que o conteúdo neste artigo é bastante denso e precisa ser compreendido a fundo. 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.
Simulação de mercado (Parte 22): Iniciando o SQL (V)
Antes que você chute o balde, e decida abandonar o estudo sobre como usar o SQL. Deixe-me lembrá-lo, meu caro leitor, que aqui estamos ainda usando apenas o básico do básico. Ainda não exploramos algumas coisas que são possíveis de serem feitas no SQL. Assim que as explorarmos você verá que o SQL é bem mais prático do que parece. Mesmo que muito provavelmente, eu venha a mudar a direção do que estamos criando. Isto por que, o processo de criação é dinâmico. Irei mostrar um pouco mais sobre como fazer as coisas no SQL. Isto por que, ele de fato é algo que você precisa entender e conhecer. Ficar simplesmente achando que é mais capaz, que toda uma comunidade de programadores e desenvolvedores, apenas lhe fará perder tempo e oportunidade. Tenha calma, pois a coisa irá se tornar ainda mais interessante.
Algoritmo da Cauda de Cometa (Comet Tail Algorithm, CTA)
Neste artigo, vamos explorar o novo algoritmo de otimização autoral CTA (Comet Tail Algorithm), que se inspira em objetos cósmicos únicos, nomeadamente em cometas e suas impressionantes caudas, formadas quando se aproximam do Sol. Esse algoritmo é baseado no conceito de movimento dos cometas e suas caudas, e foi projetado para encontrar soluções ótimas em problemas de otimização.
Gerenciamento Avançado de Memória e Técnicas de Otimização em MQL5
Descubra técnicas práticas para otimizar o uso de memória em sistemas de negociação MQL5. Aprenda a construir Expert Advisors e indicadores eficientes, estáveis e com alto desempenho. Exploraremos como a memória realmente funciona no MQL5, as armadilhas comuns que desaceleram seus sistemas ou causam falhas e, mais importante ainda, como corrigi-las.
Algoritmos de otimização populacionais: algoritmo híbrido de otimização de forrageamento bacteriano com algoritmo genético (Bacterial Foraging Optimization - Genetic Algorithm, BFO-GA)
Este artigo apresenta uma nova abordagem para resolver problemas de otimização, combinando as ideias dos algoritmos de otimização de forrageamento bacteriano (BFO) com as técnicas usadas no algoritmo genético (GA), resultando no algoritmo híbrido BFO-GA. Ele utiliza o comportamento de enxameamento das bactérias para a busca global da solução ótima e operadores genéticos para refinar os ótimos locais. Ao contrário do BFO original, as bactérias agora podem mutar e herdar genes.
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.
Desenvolvendo um EA multimoeda (Parte 15): Preparando o EA para o trading real
À medida que nos aproximamos de um EA pronto, é necessário prestar atenção em questões secundárias na etapa de teste da estratégia de trading, mas que se tornam importantes ao migrar para o trading real.
Desenvolvimento de um Kit de Ferramentas para Análise da Ação do Preço (Parte 6): Mean Reversion Signal Reaper
Embora alguns conceitos possam parecer simples à primeira vista, trazê-los à prática pode ser bastante desafiador. No artigo abaixo, levaremos você a uma jornada pela nossa abordagem inovadora para automatizar um Expert Advisor (EA) que analisa o mercado de forma eficiente utilizando uma estratégia de reversão à média. Junte-se a nós enquanto desvendamos as complexidades desse empolgante processo de automação.
Negociamos opções sem opções (Parte 1): Fundamentos da teoria e emulação por meio de ativos subjacentes
O artigo descreve uma variante de emulação de opções por meio do ativo subjacente, implementada na linguagem de programação MQL5. São comparadas as vantagens e desvantagens da abordagem escolhida em relação às opções reais negociadas em bolsa, usando como exemplo o mercado futuro FORTS da bolsa de Moscou MOEX e a corretora de criptomoedas Bybit.
Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 16): Método de componentes principais com autovetores
Este artigo discute o método de componentes principais, um método de redução da dimensionalidade ao analisar dados, e como ele pode ser implementado usando autovalores e vetores. Como sempre, vamos tentar desenvolver um protótipo da classe de sinais para EA que pode ser usado no Assistente MQL5.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 25): Testes e Operações em Múltiplos Timeframes
Por padrão, estratégias baseadas em múltiplos timeframes não podem ser testadas em Expert Advisors montados pelo assistente devido à arquitetura de código MQL5 utilizada nas classes de montagem. Exploramos uma possível solução para essa limitação em estratégias que utilizam múltiplos timeframes em um estudo de caso com a média móvel quadrática.
Algoritmo do Duelista - Duelist Algorithm
E se as suas estratégias de trading pudessem aprender umas com as outras, como verdadeiros combatentes? O Duelist Algorithm é um novo método de otimização em que os parâmetros dos sistemas de trading realmente duelam entre si pelo direito de serem chamados os melhores.
Simulação de mercado (Parte 16): Sockets (X)
Estamos a um passo de concluir este desafio. Porém, quero que você, caro leitor, procure entender primeiro estes dois artigos. Tanto este como o anterior. Isto para que consiga de fato entender o próximo onde abordarei exclusivamente a parte referente a programação em MQL5. Apesar de que ali a coisa será igualmente voltada a ser fácil de entender. Se você não compreender estes dois últimos artigos. Com toda a certeza terá grandes problemas em entender o próximo. O motivo disto é simples: As coisas vão se acumulando. Quando mais coisas é preciso fazer, mais coisas é preciso criar e entender para poder atingir o objetivo.