Informação mútua como critério para seleção progressiva de características
Neste artigo apresentamos a implementação da seleção progressiva de características em MQL5, baseada na informação mútua entre o conjunto ótimo de preditores e a variável alvo.
Redes neurais em trading: Previsão de séries temporais com o auxílio da decomposição modal adaptativa (Conclusão)
O artigo analisa a adaptação e a implementação prática do framework ACEFormer por meio do MQL5 no contexto do trading algorítmico. São apresentados as principais decisões arquiteturais, as particularidades do treinamento e os resultados dos testes do modelo com dados reais.
Desenvolvendo um sistema de Replay (Parte 72): Uma comunicação inusitada (I)
O que iremos construir será complexo de entender. Por isso, apresentarei apenas o início da construção neste artigo. Leia com calma, pois entender o conteúdo aqui é essencial para o próximo passo. O objetivo deste conteúdo é apenas didático, sem aplicação prática além do aprendizado e estudo dos conceitos apresentados.
Simulação de mercado (Parte 20): Iniciando o SQL (III)
Apesar de podermos fazer as coisas com um banco de dados, tendo cerca de 10 ou pouco mais registros. A coisa realmente se torna melhor assimilada, quando usamos um arquivo de banco de dados que contenha mais de 15 mil registros. Ou seja, se você for criar isto manualmente irá ser uma bela de uma tarefa. No entanto, dificilmente você irá encontrar algum banco de dados, mesmo para fins didáticos disponível para download. Mas não precisamos de fato recorrer a este tipo de coisa. Podemos usar o MetaTrader 5, para criar um banco de dados para nos. Neste artigo veremos como fazer isto.
Ciência de dados e aprendizado de máquina (Parte 18): Comparando a eficácia do TruncatedSVD e NMF no tratamento de dados complexos de mercado
A decomposição em valores singulares truncada (TruncatedSVD) e a fatoração de matriz não negativa (NMF) são métodos de redução de dimensionalidade. Ambos podem ser bastante úteis ao trabalhar com estratégias de negociação baseadas na análise de dados. Neste artigo, analisamos a aplicabilidade desses métodos no processamento de dados complexos de mercado, incluindo suas capacidades de redução de dimensionalidade para otimizar a análise quantitativa nos mercados financeiros.
Implementação do Exponente de Hurst Generalizado e do Teste de Razão de Variância em MQL5
Neste artigo, investigamos como o Exponente de Hurst Generalizado e o Teste de Razão de Variância podem ser utilizados para analisar o comportamento das séries de preços em MQL5.
Redes neurais em trading: Transformer eficiente em parâmetros com atenção segmentada (Conclusão)
No artigo anterior, abordamos os aspectos teóricos do framework PSformer, que incorpora duas inovações principais na arquitetura clássica do Transformer: o mecanismo de compartilhamento de parâmetros (Parameter Shared — PS) e a atenção a segmentos espaço-temporais (SegAtt). Neste artigo, damos continuidade à implementação dessas abordagens usando os recursos do MQL5.
Gestão de capital no trading e programa de contabilidade pessoal do trader com banco de dados
Como um trader deve gerir seu capital? Como um trader e investidor deve controlar despesas, receitas, ativos e passivos? Eu vou apresentar não apenas um programa de controle, mas sim uma ferramenta que pode se tornar seu guia financeiro confiável no turbulento mar do trading.
Do básico ao intermediário: Template e Typename (III)
Neste artigo iremos ver a primeira parte de algo que para iniciantes é muito confuso de entender. Mas para que fique devidamente explicado e assim o tema não se torne confuso, além do necessário. Irei dividir a coisa em etapas. A primeira etapa é a que estará sendo mostrada neste artigo. No entanto, apesar de no final parecer que ficamos em um beco sem saída. Não será bem isto que estará ocorrendo. Já que o próximo passo nos levará a uma outra situação em que será melhor entendida no próximo artigo.
Redes neurais em trading: Explorando a estrutura local dos dados
A identificação eficaz e a preservação da estrutura local dos dados de mercado em meio ao ruído são tarefas cruciais no trading. Embora o uso do mecanismo Self-Attention tenha mostrado bons resultados no processamento desses dados, o método clássico não leva em conta as características locais da estrutura original. Neste artigo, proponho conhecer um algoritmo capaz de considerar essas dependências estruturais.
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 9): Fluxo Externo
Este artigo explora uma nova dimensão de análise utilizando bibliotecas externas especificamente projetadas para análises avançadas. Essas bibliotecas, como o pandas, fornecem ferramentas poderosas para processar e interpretar dados complexos, permitindo que os traders obtenham percepções mais profundas sobre a dinâmica do mercado. Ao integrar essas tecnologias, podemos reduzir a lacuna entre dados brutos e estratégias acionáveis. Junte-se a nós enquanto estabelecemos as bases dessa abordagem inovadora e desbloqueamos o potencial de combinar tecnologia com expertise em trading.
Neurônio biológico para previsão de séries temporais financeiras
Estamos construindo um sistema de neurônios biologicamente fiel para prever séries temporais. A introdução de um meio semelhante ao plasma na arquitetura da rede neural criou uma espécie de "inteligência coletiva", onde cada neurônio influencia o funcionamento do sistema não apenas por meio de conexões diretas, mas também por meio de interações eletromagnéticas de longo alcance. Como esse sistema neural modelando o cérebro irá se comportar no mercado?
Desenvolvendo um EA multimoeda (Parte 24): Conectando uma nova estratégia (I)
Neste artigo, vamos analisar como conectar uma nova estratégia ao sistema de otimização automática criado. Vamos ver quais EAs precisaremos criar e se será possível evitar alterações nos arquivos da biblioteca Advisor, ou pelo menos reduzi-las ao mínimo.
Aplicação da teoria dos jogos em algoritmos de trading
Criamos um Expert Advisor adaptativo e autodidata, baseado em aprendizado de máquina DQN com inferência causal multidimensional. Ele negociará com sucesso simultaneamente em sete pares de moedas, enquanto os agentes de diferentes pares trocarão informações entre si.
Redes neurais em trading: Modelo de dupla atenção para previsão de tendências
Damos continuidade à discussão sobre o uso da representação linear por partes de séries temporais, iniciada no artigo anterior. Hoje, falaremos sobre a combinação desse método com outras abordagens de análise de séries temporais para melhorar a qualidade da previsão das tendências dos movimentos de preços.
Do básico ao intermediário: Objetos (II)
Neste artigo veremos como controlar de forma simples via código algumas propriedades de objetos. Vermos como podemos colocar mais de um objeto em um mesmo gráfico, usando para isto uma aplicação. E além disto, começaremos a ver a importância de definir um nome curto, para todo e qualquer indicador que venhamos a implementar.
Do básico ao intermediário: Eventos em Objetos (I)
Neste artigo irei ver três dos seis eventos que podem ser disparado pelo MetaTrader 5, quando algo acontece a um objeto presente no gráfico. Estes evento são muito uteis quando o assunto é interação com o usuário. Isto por que sem entender estes eventos, você irá ter muito mais trabalho para manter uma certa configuração no gráfico. Tentando controlar objetos com finalidades específicas.
Desenvolvendo um sistema de Replay (Parte 64): Dando play no serviço (V)
Neste artigo irei mostrar como corrigir duas falhas que se encontram presentes no código. No entanto tais correções foram explicadas para que você, aspirante a programador, consiga entender que nem sempre as coisas irão acontecer como você havia previsto. Mas isto não é motivo para desespero e sim uma oportunidade de aprendizado. 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.
Critério de homogeneidade de Smirnov como indicador de não-estacionaridade de séries temporais
Este artigo analisa um dos mais conhecidos critérios de homogeneidade não-paramétricos, o critério de Smirnov. São analisados tanto dados modelados quanto cotações reais. É apresentado um exemplo de construção do indicador de não-estacionaridade (iSmirnovDistance).
Técnicas do MQL5 Wizard que você precisa conhecer (Parte 36): Q-Learning com Cadeias de Markov
Aprendizado por Reforço é um dos três pilares principais do aprendizado de máquina, ao lado do aprendizado supervisionado e do aprendizado não supervisionado. Portanto, ele está relacionado ao controle ótimo, ou seja, aprender a melhor política de longo prazo que melhor se adeque à função objetivo. É nesse contexto que exploramos seu possível papel no processo de aprendizado de uma MLP (rede neural de múltiplas camadas) de um Expert Advisor montado pelo assistente do MQL5 Wizard.
Redes neurais em trading: Abordagem sem máscara para previsão do movimento de preços
Neste artigo, apresentamos o método Mask-Attention-Free Transformer (MAFT) e sua aplicação na área de trading. Ao contrário dos Transformers tradicionais, que exigem mascaramento de dados ao processar sequências, o MAFT otimiza o processo de atenção, eliminando a necessidade de mascaramento, o que melhora significativamente a eficiência computacional.
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.
Simulação de mercado (Parte 14): Sockets (VIII)
Muitos poderiam sugerir, que deveríamos abandonar o Excel, e usar o Python pura e simplesmente. Fazendo uso de alguns pacotes que permitiriam ao Python criar um arquivo de Excel, para que pudéssemos analisar os resultados depois. Mas como foi dito no artigo anterior, apesar desta solução ser a mais simples, pelo ponto de vista de muitos programadores. Ela de fato, não será bem vista, pelos olhos de alguns usuários. E nesta história toda, o usuário tem sempre razão. Você como programador deve, encontrar alguma forma ou alguma maneira de fazer as coisas funcionarem.
Do básico ao intermediário: Recursividade
Este artigo, veremos um conceito de programação muito interessante e bem divertido. Porém que deve ser tratado com extremo respeito. Já que um mal uso, ou mal entendimento do mesmo, torna programas relativamente simples em algo desnecessariamente complicado. Porém o bom uso, e a perfeita adequação em situações igualmente adequadas. Torna a recursividade um grande aliado para resolver questões que de outra forma seria muito mais trabalhoso e demorado. 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.
Redes neurais de maneira fácil (Parte 95): Redução do consumo de memória em modelos Transformer
Os modelos baseados na arquitetura Transformer demonstram alta eficiência, mas seu uso é dificultado pelos altos custos de recursos, tanto na fase de treinamento quanto durante a utilização prática. Neste artigo, proponho conhecer algoritmos que permitem reduzir o uso de memória por esses modelos.
Reimaginando Estratégias Clássicas (Parte IV): SP500 e Notas do Tesouro dos EUA
Nesta série de artigos, analisamos estratégias clássicas de negociação usando algoritmos modernos para determinar se podemos melhorar a estratégia utilizando IA. No artigo de hoje, revisamos uma abordagem clássica para negociar o SP500 usando a relação que ele tem com as Notas do Tesouro dos EUA.
Simulação de mercado: Position View (XVI)
Neste artigo, faremos as modificações necessárias para que o indicador de posição venha a nos apresentar um resultado financeiro. Isto para que o operador, possa ter uma noção do financeiro que estaria sendo obtido em uma posição aberta. Além deste objetivo, aqui trarei para você, um conhecimento que muitos não tem. Mesmo fazendo uso da linguagem MQL5 a muito tempo. Tal conhecimento é justamente como fazer uso de variáveis estáticas, para conseguir um compartilhamento de memória. Isto para evitar declarar uma variável global no código principal.
Redes neurais de maneira fácil (Parte 78): Detecção de objetos baseada em Transformador (DFFT)
Neste artigo, proponho olhar a questão da construção de uma estratégia de trading de outra perspectiva. Em vez de prever o movimento futuro dos preços, tentaremos construir um sistema de trading baseado na análise de dados históricos.
Métodos de otimização da biblioteca ALGLIB (Parte I)
Neste artigo, vamos conhecer os métodos de otimização da biblioteca ALGLIB para MQL5. O artigo inclui exemplos simples e visuais de aplicação da ALGLIB para resolver tarefas de otimização, o que tornará o processo de aprendizado dos métodos o mais acessível possível. Analisaremos detalhadamente a integração de algoritmos como BLEIC, L-BFGS e NS, e com base neles resolveremos uma tarefa de teste simples.
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.
A Estratégia de Negociação do Inverse Fair Value Gap
Um inverse fair value gap (IFVG) ocorre quando o preço retorna a um fair value gap previamente identificado e, em vez de apresentar a reação esperada de suporte ou resistência, falha em respeitá-lo. Essa falha pode sinalizar uma possível mudança na direção do mercado e oferecer uma vantagem contrária de negociação. Neste artigo, vou apresentar minha abordagem desenvolvida por mim para quantificar e utilizar o inverse fair value gap como uma estratégia para expert advisors do MetaTrader 5.
Simulação de mercado (Parte 17): Sockets (XI)
Implementar a parte que será executada aqui no MetaTrader 5, está longe de ser complicado. Mas existem diversos cuidados e pontos de atenção a serem observados. Isto para que você caro leitor, consiga de fato fazer com que o sistema funcione. Lembre-se de uma coisa: Você não executará um único programa. Você estará na verdade, executando três programas ao mesmo tempo. E é importante que cada um seja implementado e construído de forma que trabalhem e conversem entre si. Isto sem que eles fiquem completamente sem saber o que cada um está querendo ou desejando fazer.
Negociação de notícias facilitada (parte 5): realizando negociações (II)
Este artigo expandirá a classe de gerenciamento de trades para incluir ordens buy-stop e sell-stop para operar em eventos de notícias e implementará uma restrição de expiração nessas ordens para evitar qualquer negociação durante a noite. Uma função de slippage será incorporada ao expert para tentar prevenir ou minimizar possíveis deslizes que podem ocorrer ao usar ordens stop no trading, especialmente durante eventos de notícias.
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.
Simulação de mercado: Iniciando o SQL no MQL5 (IV)
Muitos costuma subutilizar o SQL, ou mesmo não fazer uso dele, devido a uma má compreensão de como ele realmente funciona. Quando pesquisamos dentro de um banco de dados SQL. Não queremos necessariamente saber de uma resposta genérica. Podemos em alguns casos, estar buscando uma resposta bastante objetiva e prática. Se você criar um banco de dados, com uma certa estruturação e modelagem. Poderá colocar, virtualmente qualquer tipo de informação dentro do banco de dados.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 22): GANs Condicionais
Redes Generativas Adversariais são uma combinação de Redes Neurais que treinam entre si para obter resultados mais precisos. Adotamos o tipo condicional dessas redes ao buscarmos uma possível aplicação na previsão de séries temporais financeiras dentro de uma Classe de Sinais de Expert.
Reconhecimento de Padrões Usando Dynamic Time Warping em MQL5
Neste artigo, discutimos o conceito de dynamic time warping como uma forma de identificar padrões preditivos em séries temporais financeiras. Veremos como ele funciona e também apresentaremos sua implementação em MQL5 puro.
Do básico ao intermediário: Template e Typename (IV)
Aqui neste artigo, iremos ver de forma bem didática, como resolver um problema que foi demonstrado no final do artigo anterior. Onde estaríamos tentando fazer com que um template de tipo fosse criado, a fim de que fosse possível criar um template de uma união de dados.
Integração de APIs de Corretoras com Expert Advisors usando MQL5 e Python
Neste artigo, discutiremos a implementação do MQL5 em parceria com o Python para realizar operações relacionadas à corretora. Imagine ter um Expert Advisor (EA) em execução contínua hospedado em um VPS, executando negociações em seu nome. Em determinado momento, a capacidade do EA de gerenciar fundos torna-se fundamental. Isso inclui operações como adicionar fundos à sua conta de negociação e iniciar retiradas. Nesta discussão, iremos esclarecer as vantagens e a implementação prática desses recursos, garantindo a integração perfeita do gerenciamento de fundos à sua estratégia de negociação. Fique atento!
Do básico ao intermediário: Template e Typename (V)
Neste artigo iremos ver um último caso simples de utilização de templates. Mas também iremos ver qual o utilidade e por que a necessidade de se utilizar typename em seus códigos. Apesar deste artigo possa vir a parecer um tanto quanto complicado no inicio. O mesmo precisa ser compreendido de maneira adequada, para que futuras aplicações que utilizem template e typename, sejam de fato compreendidas.