Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 4)
Este artigo é a quarta parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, examinamos as propriedades do MQTT v5.0, sua semântica, como lemos algumas delas e também fornecemos um breve exemplo de como as propriedades podem ser usadas para expandir o protocolo.
Ciência de Dados e Aprendizado de Máquina (Parte 16): Uma nova perspectiva sobre árvores de decisão
Na última parte da nossa série sobre aprendizado de máquina e trabalho com big data, voltamos a falar sobre as árvores de decisão. Este artigo é destinado a traders que desejam entender o papel das árvores de decisão na análise de tendências de mercado. Aqui, reunimos todas as informações principais sobre a estrutura, o propósito e o uso dessas árvores. Vamos explorar as raízes e os ramos das árvores algorítmicas e descobrir como elas podem ser aplicadas na tomada de decisões de negociação. Vamos juntos dar um novo olhar às árvores de decisão e ver como elas podem ajudar a superar as dificuldades nos mercados financeiros.
Migrando para o MQL5 Algo Forge (Parte 3): Uso de repositórios de terceiros em seu próprio projeto
Vamos analisar como já é possível conectar código de terceiros de qualquer repositório no armazenamento MQL5 Algo Forge ao seu projeto. Neste artigo, finalmente chegamos a uma tarefa promissora, mas também mais complexa: como, na prática, integrar e utilizar em seu projeto bibliotecas de repositórios alheios no MQL5 Algo Forge.
Análise Múltipla de Símbolos com Python e MQL5 (Parte I): Fabricantes de Circuitos Integrados do NASDAQ
Junte-se a nós para discutir como você pode usar IA para otimizar o dimensionamento de posições e a quantidade de ordens, a fim de maximizar o retorno do seu portfólio. Vamos mostrar como identificar, de forma algorítmica, um portfólio ideal e adaptar seu portfólio conforme sua expectativa de retorno ou níveis de tolerância ao risco. Nesta discussão, vamos utilizar a biblioteca SciPy e a linguagem MQL5 para criar um portfólio ideal e diversificado usando todos os dados que temos.
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.
Redes neurais de maneira fácil (Parte 80): modelo generativo adversarial do transformador de grafos (GTGAN)
Neste artigo, apresento o algoritmo GTGAN, que foi introduzido em janeiro de 2024 para resolver tarefas complexas de criação de layout arquitetônico com restrições de grafos.
Ciclos e trading
Este artigo é dedicado ao uso de ciclos no trading. Nele, vamos tentar entender como construir uma estratégia de negociação com base em modelos cíclicos.
Redes neurais de maneira fácil (Parte 53): decomposição de recompensa
Já falamos várias vezes sobre a importância de escolher corretamente a função de recompensa que usamos para incentivar o comportamento desejável do Agente, adicionando recompensas ou penalidades por ações específicas. Mas a questão de como o Agente interpreta nossos sinais permanece em aberto. Neste artigo, discutiremos a decomposição da recompensa em termos de transmissão de sinais individuais ao Agente a ser treinado.
Simulação de mercado: Position View (II)
Neste artigo, mostrarei de maneira o mais simples e prática possível. Como você poderá usar um indicador como sendo uma forma de observar posições que estejam abertas. Isto junto ao servidor de negociação. Estou fazendo isto, desta forma e ao poucos, justamente para mostrar, que você não precisa necessariamente, colocar tais coisas em um Expert Advisor. Muitos de vocês, já devem estar bastante acostumados em fazer isto. Seja por um motivo, seja por outro qualquer. Mas a verdade é que isto é pura bobagem, já que conforme formos avançando nesta implementação, ficará claro, que você poderá criar, ou implementar diversos tipos diferentes de indicadores, para tão propósito.
Tipo de desenho DRAW_ARROW em indicadores multissímbolos e multiperíodos
No artigo, vamos considerar o desenho de indicadores multissímbolos e multiperíodos com setas. Aprimoraremos os métodos da classe para a correta exibição das setas, que exibem dados dos indicadores de seta calculados em símbolo/período diferentes do símbolo/período do gráfico atual.
Otimização de portfólio em Forex: Síntese de VaR e teoria de Markowitz
Como se realiza o trading com portfólio em Forex? Como pode ser feita a síntese entre a teoria de portfólio de Markowitz para otimizar as proporções do portfólio e o modelo VaR para otimizar o risco do portfólio? Vamos criar um código baseado na teoria de portfólio, onde, de um lado, obtemos um risco reduzido e, do outro, uma rentabilidade de longo prazo aceitável.
Arbitragem Forex: painel de avaliação de correlações
Vamos analisar a criação de um painel de arbitragem na linguagem MQL5. Como obter taxas de câmbio justas no Forex de diferentes maneiras? Criaremos um indicador para medir os desvios dos preços de mercado em relação às taxas justas, bem como para avaliar o potencial de lucro em rotas de arbitragem entre moedas (como na arbitragem triangular).
Simulação de mercado (Parte 15): Sockets (IX)
Neste artigo daqui, explicarei uma das soluções possíveis para o que venho tentando mostrar. Ou seja, como permitir que um usuário no Excel, consiga fazer algo no MetaTrader 5. Isto sem que ele de fato, envie ordens, abra ou feche uma posição usando o MetaTrader 5. A ideia, é que o usuário faça uso do Excel a fim de ter um estudo fundamentalista de algum ativo. E fazendo uso, apenas e somente do Excel, ele consiga dizer a um Expert Advisor, que esteja executando no MetaTrader 5, que é para abrir ou fechar uma dada posição.
Compreendendo os Paradigmas de Programação (Parte 2): Uma Abordagem Orientada a Objetos para Desenvolver um Expert Advisor de Ação de Preço
Aprenda sobre o paradigma de programação orientada a objetos e sua aplicação no código MQL5. Este segundo artigo aprofunda-se nas especificidades da programação orientada a objetos, oferecendo experiência prática através de um exemplo prático. Você aprenderá como converter nosso expert advisor de ação de preço procedural desenvolvido anteriormente usando o indicador EMA e dados de preços de velas para um código orientado a objetos.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 26): Médias Móveis e o Exponente de Hurst
O Exponente de Hurst é uma medida de quanto uma série temporal se autocorrela ao longo do tempo. Entende-se que ele captura as propriedades de longo prazo de uma série temporal e, portanto, tem um peso significativo na análise de séries temporais, mesmo fora do contexto econômico/financeiro. No entanto, focamos em seu potencial benefício para os traders ao analisar como essa métrica poderia ser combinada com médias móveis para construir um sinal potencialmente robusto.
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.
Reimaginando Estratégias Clássicas (Parte VII): Mercados de Forex e Análise da Dívida Soberana no USDJPY
No artigo de hoje, analisaremos a relação entre as taxas de câmbio futuras e os títulos do governo. Os títulos estão entre as formas mais populares de títulos de renda fixa e serão o foco da nossa discussão. Junte-se a nós enquanto exploramos se podemos melhorar uma estratégia clássica usando IA.
Redes neurais de maneira fácil (Parte 82): modelos de equações diferenciais ordinárias (NeuralODE)
Neste artigo, gostaria de apresentar outro tipo de modelos voltados para o estudo da dinâmica do estado do ambiente.
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.
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.
DoEasy. Controles (Parte 15): Objeto WinForms TabControl - múltiplas fileiras de cabeçalhos de guias, métodos de manuseio de guias
Neste artigo, continuaremos trabalhando no objeto WinForm TabControl, e para tal criaremos a classe do objeto-campo de guia, tornaremos possível colocar cabeçalhos de guias em várias linhas e adicionaremos métodos para trabalhar com as guias do objeto.
Determinação de taxas de câmbio justas com base na PPC usando dados do FMI
Criação, em Python, de um sistema de análise de taxas de câmbio baseado na paridade do poder de compra (PPC). O autor desenvolveu um algoritmo com 5 métodos de cálculo de taxas justas, utilizando dados do FMI. Trata-se de um guia prático de análise fundamentalista de moedas, processamento de dados econômicos e integração com sistemas de trading. Código completo de fonte aberta.
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.
Computação quântica e trading: Um novo olhar sobre as previsões de preços
Este artigo analisa uma abordagem inovadora para prever os movimentos de preços nos mercados financeiros mediante computação quântica. O foco principal está na aplicação do algoritmo de estimativa de fase quântica (QPE) para buscar precursores de padrões de preços, o que permite acelerar significativamente o processo de análise de dados de mercado.
Rede neural na prática: A prática leva a perfeição
Neste artigo mostrarei como, uma simples mudança no código, a fim de tornar o neurônio um pouco mais especializado. Pode tornar a fase de treinamento consideravelmente mais rápida. Visto que uma vez que o neurônio, ou rede neural, como será visto mais para frente. Já estiver sido treinada. O trabalho executado por ela, será feito de maneira muito mais rápida. Também falarei de um problema que existe, do qual poucos mencionam.
Algoritmos de otimização populacionais: evolução de grupos sociais (Evolution of Social Groups, ESG)
Neste artigo, consideraremos o princípio de construção de algoritmos multipopulacionais e, como exemplo desse tipo de algoritmos, analisaremos a Evolução de Grupos Sociais (ESG), um novo algoritmo autoral. Analisaremos os conceitos principais, os mecanismos de interação entre populações e as vantagens desse algoritmo, bem como examinaremos seu desempenho em tarefas de otimização.
Desenvolvendo um EA multimoeda (Parte 6): Automatizando a seleção de um grupo de instâncias
Depois de otimizar uma estratégia de negociação, obtemos conjuntos de parâmetros que facilitam a criação de várias instâncias dessa estratégia, todas integradas em um único Expert Advisor. Antes, fazíamos isso manualmente, mas agora vamos tentar automatizar esse processo.
Superando Desafios de Integração com ONNX
ONNX é uma ótima ferramenta para integrar códigos complexos de IA entre diferentes plataformas, sendo uma ferramenta excelente, mas que vem com alguns desafios que devem ser superados para aproveitar ao máximo suas capacidades. Neste artigo, discutimos os problemas mais comuns que você pode enfrentar e como mitigá-los.
Reimaginando Estratégias Clássicas (Parte II): Rompimentos das Bandas de Bollinger
Este artigo explora uma estratégia de trading que integra a Análise Discriminante Linear (LDA) com Bandas de Bollinger, aproveitando previsões de zonas categóricas para gerar sinais estratégicos de entrada no mercado.
Do básico ao intermediário: Indicador (IV)
Neste artigo, vermos como é fácil de criar e implementar uma metodologia operacional, visando colorir candles. Sendo este um conceito, que diversos operadores apreciam imensamente. Porém, é preciso se tomar cuidado ao implementar tal tipo de coisa. Isto para que as barras, ou candles, mantenham a sua aparência original. Visando assim não prejudicar a leitura que muitos operadores fazem candle a candle.
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.
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.
Algoritmo de algas artificiais (AAA)
Este artigo aborda o algoritmo de algas artificiais (AAA), desenvolvido com base nos processos biológicos característicos das microalgas. Ele incorpora movimento espiral, processo evolutivo e adaptação, e possibilita a resolução de problemas de otimização. O artigo oferece uma análise detalhada dos princípios de funcionamento do AAA e seu potencial na modelagem matemática, destacando a conexão entre a natureza e as soluções algorítmicas.
Expert Advisor Autônomo com MQL5 e Python (Parte III): Decifrando o Algoritmo do Boom 1000
Nesta série de artigos, discutimos como podemos construir Expert Advisors capazes de se ajustarem autonomamente às condições dinâmicas do mercado. No artigo de hoje, tentaremos ajustar uma rede neural profunda aos mercados sintéticos da Deriv.
Análise volumétrica com redes neurais como chave para tendências futuras
O artigo explora a possibilidade de melhorar a previsão de preços com base na análise do volume de negociações, integrando os princípios da análise técnica com a arquitetura de redes neurais LSTM. Dá-se atenção especial à identificação e interpretação de volumes anômalos, uso de clusterização e criação de características baseadas em volume, além de sua definição no contexto de aprendizado de máquina.
Engenharia de Recursos com Python e MQL5 (Parte II): Ângulo de Preço
Existem muitas postagens no Fórum MQL5 pedindo ajuda para calcular a inclinação das mudanças de preço. Este artigo demonstrará uma forma possível de calcular o ângulo formado pelas variações de preço em qualquer mercado que você deseje negociar. Além disso, responderemos se desenvolver esse novo recurso vale o esforço e o tempo adicionais investidos. Vamos explorar se a inclinação do preço pode melhorar a precisão de algum dos nossos modelos de IA ao prever o par USDZAR no M1.
Negociação de Notícias Facilitada (Parte 3): Realizando Negócios
Neste artigo, nosso especialista em negociação de notícias começará a abrir negociações com base no calendário econômico armazenado em nosso banco de dados. Além disso, melhoraremos os gráficos do especialista para exibir informações mais relevantes sobre os próximos eventos do calendário econômico.
Indicador de previsão de volatilidade usando Python
Vamos prever a volatilidade extrema futura com ajuda da classificação binária. Criamos um indicador de previsão de volatilidade extrema com uso de aprendizado de máquina.
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.
Ciência de dados e aprendizado de máquina (Parte 29): Como selecionar os melhores dados de Forex para treinar IA
Neste artigo, analisamos em detalhes os aspectos importantes para a escolha dos dados mais relevantes e de qualidade do mercado Forex e para melhorar o desempenho dos modelos de inteligência artificial.