Teoria das Categorias em MQL5 (Parte 12): Ordem
Este artigo faz parte de uma série sobre a implementação de grafos usando a teoria das categorias no MQL5 e é dedicado à teoria da ordem (Order Theory). Consideraremos dois tipos básicos de ordenação e exploraremos como os conceitos de relação de ordem podem auxiliar os conjuntos monoidais na tomada de decisões de negociação.
Do básico ao intermediário: Diretiva Include
Neste artigo, vamos falar de uma diretiva de compilação, muito utilizada nos mais diversos códigos que você poderá ver em MQL5. Apesar desta diretiva de compilação ser explicada aqui de maneira bem básica e superficial. É importante que comecemos a entender como usar ela. Já que em breve ela será indispensável para continuarmos em direção a um nível de programação maior. 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 41): Iniciando a segunda fase (II)
Se tudo até aqui parecia adequado para você, significa que você de fato não está pensando no longo prazo. Onde você começa a desenvolver as aplicações e com o tempo, não precisará mais programar novas aplicações. Apenas terá que fazer com que elas trabalhem em conjunto. Vamos então ver como terminar de montar o indicador de mouse.
Indicador de perfil de mercado — Market Profile (Parte 2): Otimização e desenho em canvas
O artigo aborda uma versão otimizada do indicador de Perfil de Mercado Market Profile, onde, em vez de desenhar com diversos objetos gráficos, é utilizado o desenho em um canvas, ou seja, em um objeto da classe CCanvas.
Desenvolvendo um sistema de Replay (Parte 40): Iniciando a segunda fase (I)
Esta é a nova fase do sistema de replay / simulação. Nesta fase a conversa de fato irá ser seria. E o conteúdo irá ser tornar bastante denso. Peço que você leia com calma o artigo e sempre procure usar as referencias que possivelmente estarão sendo indicadas nos artigos. Isto para lhe ajudar a compreender melhor o que estará sendo explicado.
DoEasy. Controles (Parte 26): Apurando o objeto WinForms "ToolTip" e desenvolvendo o "ProgressBar".
Neste artigo vamos completar o desenvolvimento do controle ToolTip e começar a desenvolver o objeto WinForms ProgressBar. Ao trabalharmos nesses objetos, desenvolveremos uma funcionalidade versátil para animar os controles e seus componentes.
Algoritmos de otimização populacional: Algoritmo Boids, ou algoritmo de comportamento de enxame (Boids Algorithm, Boids)
Neste artigo, estudaremos algoritmo Boids, baseado em exemplos únicos de comportamento de enxame de animais. O algoritmo Boids, por sua vez, serviu como base para a criação de uma classe inteira de algoritmos, agrupados sob o nome de "Inteligência de Enxame".
O Filtro de Kalman para Estratégias de Reversão à Média no Forex
O filtro de Kalman é um algoritmo recursivo utilizado em trading algorítmico para estimar o verdadeiro estado de uma série temporal financeira ao filtrar o ruído dos movimentos de preço. Ele atualiza dinamicamente as previsões com base em novos dados de mercado, tornando-se valioso para estratégias adaptativas como reversão à média. Este artigo primeiro apresenta o filtro de Kalman, abordando seu cálculo e implementação. Em seguida, aplicamos o filtro a uma estratégia clássica de reversão à média no forex como exemplo. Por fim, realizamos diversas análises estatísticas comparando o filtro com uma média móvel em diferentes pares de forex.
Redes neurais de maneira fácil (Parte 62): uso do transformador de decisões em modelos hierárquicos
Nos últimos artigos, exploramos várias formas de usar o método Decision Transformer. Ele permite analisar não só o estado atual, mas também a trajetória de estados anteriores e as ações realizadas neles. Neste artigo, proponho que você conheça uma forma de usar este método em modelos hierárquicos.
Desenvolvendo um sistema de Replay (Parte 30): Projeto Expert Advisor - Classe C_Mouse (IV)
Aqui demonstrarei uma técnica que pode lhe ajudar muito, em vários momentos durante a sua vida como programador. Diferente do que muitos dizem, não é a plataforma que é limitada, mas sim o conhecimento do individuo que diz que tal coisa. O que será explicado aqui, mostrar que com um pouco de bom senso e criatividade, você pode tornar a plataforma MetaTrader 5 muito mais interessante e versátil. E sem precisar de fato criar programas malucos ou coisas do estilo. Você pode criar um código simples, porém seguro e confiável. Usando de perspicácia, domar o código a fim de modificar algo já existente, sem se quer remover ou adicionar uma única linha se quer, no código original.
Criando um painel MQL5 interativo usando a classe Controls (Parte 2): Adicionando responsividade aos botões
Neste artigo, vamos transformar nosso painel de monitoramento MQL5 estático em uma ferramenta interativa, adicionando responsividade aos botões. Veremos como automatizar a funcionalidade dos componentes da interface gráfica, garantindo que eles respondam corretamente aos cliques do usuário. Ao final do artigo, criaremos uma interface dinâmica que melhora o engajamento do usuário e a praticidade da negociação.
Negociação algorítmica baseada em padrões de reversão 3D
Estamos abrindo um novo mundo de trading automatizado em barras 3D. Como seria um robô de trading operando em barras multidimensionais de preço, e será que os clusters “amarelos” das barras 3D conseguem prever reversões de tendência? Como é o trading em múltiplas dimensões?
DoEasy. Controles (Parte 9): Reorganizando métodos de objetos WinForms, controles "RadioButton" e "Button"
No artigo de hoje, organizaremos os nomes dos métodos das classes dos objetos WinForms e criaremos os objetos WinForms Button e RadioButton.
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.
Como desenvolver um sistema de negociação baseado no indicador Oscilador Acelerador
Um novo artigo da nossa série sobre como criar sistemas de negociação simples pelos indicadores técnicos mais populares. Nós aprenderemos sobre o indicador Oscilador Acelerador e aprenderemos como desenvolver um sistema de negociação usando-o.
Critérios de tendência no trading
As tendências são parte importante de muitas estratégias de negociação. Neste artigo, examinaremos algumas das ferramentas usadas para identificar tendências e suas características. Compreender e interpretar corretamente as tendências pode aumentar significativamente o desempenho do trading e minimizar riscos.
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 17): Tiquete e mais tiquetes (I)
Aqui vamos começar a ver como implementar algo realmente bem interessante e curioso. Mas ao mesmo tempo extremamente complicado por conta de algumas questões que muitos confundem. Mas pior do que as confundir, é o fato de que alguns operadores que se dizem profissionais, não fazem ideia a importância de tais conceitos no mercado de capital. Sim, apesar do foco aqui ser programação, entender algumas questões que envolvem operações em mercados, é de extrema valia para o que iremos começar a implementar aqui.
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.
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.
Algoritmo de busca através de vizinhança — Across Neighborhood Search (ANS)
O artigo explora o potencial do algoritmo ANS, como um passo relevante no desenvolvimento de métodos de otimização flexíveis e inteligentes, capazes de considerar as especificidades da tarefa e a dinâmica do ambiente no espaço de busca.
Introdução ao MQL5 (Parte 6): Um Guia para Iniciantes sobre Funções de Array em MQL5
Embarque na próxima fase da nossa jornada com MQL5. Neste artigo esclarecedor e amigável para iniciantes, exploraremos as funções restantes de arrays, desmistificando conceitos complexos para capacitá-lo a criar estratégias de negociação eficientes. Discutiremos as funções ArrayPrint, ArrayInsert, ArraySize, ArrayRange, ArrayRemove, ArraySwap, ArrayReverse e ArraySort. Eleve sua expertise em negociação algorítmica com essas funções essenciais de arrays. Junte-se a nós no caminho para a maestria em MQL5!
Ferramentas econométricas para previsão de volatilidade: Modelo GARCH
O artigo descreve as propriedades do modelo não linear de heterocedasticidade condicional (GARCH). O indicador iGARCH para prever a volatilidade um passo à frente é construído com base nele. A biblioteca de análise numérica ALGLIB é usada para estimar os parâmetros do modelo.
Introdução ao MQL5 (Parte 9): Compreendendo e Usando Objetos no MQL5
Aprenda a criar e personalizar objetos de gráfico no MQL5 usando dados atuais e históricos. Este guia baseado em projetos ajuda você a visualizar negociações e aplicar conceitos do MQL5 na prática, facilitando a criação de ferramentas adaptadas às suas necessidades de negociação.
Redes neurais de maneira fácil (Parte 32): Aprendizado Q distribuído
Em um dos artigos desta série, já nos iniciamos no método aprendizado Q, que calcula a média da recompensa para cada ação. Em 2017, foram apresentados 2 trabalhos simultâneos, que tiveram sucesso quanto ao estudo da função de distribuição de recompensas. Vamos considerar a possibilidade de usar essa tecnologia para resolver nossos problemas.
Simulação de mercado (Parte 12): Sockets (VI)
Neste artigo, vamos ver como resolver algumas questões e ver alguns problemas que temos ao usar código feito em Python dentro de outros programas. No caso o que mostrarei aqui, é um típico problema que existe, quando você vai usar o Excel junto com o MetaTrader 5. Mas para fazer esta comunicação estaremos usando o Python. Porém existe um pequeno problema nesta implementação. Não em todos os casos, mas em alguns casos específicos e quando o problema ocorre você tem que entender por que ele ocorre. Neste artigo iniciarei a explicação de como resolver tal coisa.
Do básico ao intermediário: União (I)
Neste artigo começaremos a ver o que seria uma união. Aqui faremos a lição de casa, experimentando as primeiras construções em que uma união poderia ser utilizada. Apesar de tudo, o que será visto aqui, é apenas a parte básica de todo um conjunto de conceitos e informações que ainda serão melhor exploradas em artigos futuros. 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.
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.
Implementando um algoritmo de treinamento ARIMA em MQL5
Neste artigo, implementaremos um algoritmo que aplica o modelo integrado de autorregressão com média móvel (modelo Box-Jenkins) usando o método de minimização de função de Powell. Box e Jenkins afirmaram que a maioria das séries temporais pode ser modelada usando uma ou ambas das duas estruturas.
Simulação de mercado (Parte 18): Iniciando o SQL (I)
Não importa se vamos usar um ou outro programa de SQL. Seja MySQL, SQL Server, SQLite, OpenSQL ou qualquer outro. Todos tem algo em comum entre si. Este algo em comum é a linguagem SQL. Pois bem, mesmo que você não venha a usar de fato uma Workbench, poderá fazer manipulações ou trabalhar com um banco de dados diretamente no MetaEditor ou via MQL5. Isto pensando em fazer as coisas no MetaTrader 5. Mas para de fato conseguir fazer as coisas assim, você precisará de algum conhecimento sobre SQL. Então aqui vamos aprender pelo menos o básico.
Expert Advisor Auto-otimizável com MQL5 e Python (Parte IV): Empilhamento de Modelos
Hoje, vamos demonstrar como você pode construir aplicações de trading com IA capazes de aprender com os próprios erros. Vamos demonstrar uma técnica conhecida como stacking (empilhamento), na qual usamos 2 modelos para fazer 1 previsão. O primeiro modelo é tipicamente um aprendiz mais fraco, e o segundo modelo normalmente é um modelo mais poderoso que aprende com os resíduos do nosso aprendiz mais fraco. Nosso objetivo é criar um conjunto de modelos (ensemble), na esperança de alcançar maior acurácia.
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.
Permutação das barras de preços no MQL5
Neste artigo, apresentamos um algoritmo de permutação das barras de preços e detalhamos como os testes de permutação podem ser usados para identificar casos em que o desempenho de uma estratégia é inventado com o objetivo de enganar potenciais compradores de Expert Advisors.
Teoria do caos no trading (Parte 2): Continuamos a imersão
Continuamos a imersão na teoria do caos nos mercados financeiros e analisamos sua aplicabilidade à análise de moedas e outros ativos.
Teoria das Categorias em MQL5 (Parte 13): Eventos de calendário com esquemas de banco de dados
Neste artigo, discutimos como os esquemas de banco de dados podem ser incorporados para categorização em MQL5. Analisaremos brevemente como os conceitos de esquema de banco de dados podem ser combinados com a teoria da categoria na identificação de informações de texto (string) relevantes para a negociação. O foco será em eventos de calendário.
DoEasy. Controles (Parte 22): SplitContainer. Alterando as propriedades do objeto criado
Neste artigo, implementamos a alteração das propriedades e da aparência do controle SplitContainer após sua criação.
Testador rápido de estratégias de trading em Python usando Numba
O artigo apresenta um testador rápido de estratégias para modelos de aprendizado de máquina com o uso do Numba. Em termos de velocidade, ele supera o testador de estratégias feito em Python puro em 50 vezes. O autor recomenda o uso dessa biblioteca para acelerar cálculos matemáticos, especialmente em casos que envolvem laços.
Desenvolvendo um sistema de Replay (Parte 34): Sistema de Ordens (III)
Vamos neste artigo concluir a primeira fase da construção. Será algo relativamente rápido, mas explicarei detalhes que podem não ter sido comentados no passado. Mas ainda assim aqui explicarei algumas coisas que muitos não entender por que são como são. Um destes casos é o Mouse. Você sabe o motivo de ter que pressionar a tecla Shift ou Ctrl no teclado ?!?!
Introdução ao MQL5 (Parte 5): Um Guia para Iniciantes sobre Funções de Array em MQL5
Explore o mundo dos arrays em MQL5 na Parte 5, projetado para iniciantes absolutos. Simplificando conceitos complexos de codificação, este artigo foca na clareza e inclusão. Junte-se à nossa comunidade de aprendizes, onde perguntas são bem-vindas e conhecimento é compartilhado!
Construindo um Modelo de Restrição de Tendência de Candlestick (Parte 7): Refinando nosso modelo para o desenvolvimento de EA
Neste artigo, vamos nos aprofundar na preparação detalhada do nosso indicador para o desenvolvimento de Expert Advisor (EA). Nossa discussão abrangerá refinamentos adicionais na versão atual do indicador para melhorar sua precisão e funcionalidade. Além disso, vamos introduzir novos recursos que marcam pontos de saída, abordando uma limitação da versão anterior, que identificava apenas os pontos de entrada.
Desenvolvimento de sistemas de trading avançados ICT: Implementação de sinais no indicador Order Blocks
Neste artigo você vai aprender como desenvolver um indicador Order Blocks baseado no volume do livro de ofertas (profundidade de mercado) e otimizá-lo usando buffers para melhorar a precisão. Com isso, concluímos a etapa atual do projeto e nos preparamos para as próximas, nas quais será implementada uma classe de gerenciamento de risco e um robô de negociação que utilizará os sinais gerados pelo indicador.