Teoria das Categorias (Parte 9): Ações dos monoides
Esse artigo é a continuação da série sobre a implementação da teoria das categorias em MQL5. Nele são discutidas as ações de monoides como um meio de transformar os monoides descritos no artigo anterior para aumentar suas aplicações.
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.
Desenvolvendo um sistema de Replay (Parte 26): Projeto Expert Advisor — Classe C_Terminal
Talvez já podemos começar a desenvolver um Expert Advisor a ser utilizado no replay / simulação. Mas não iremos criar qualquer coisa, este precisará ser algo um pouco mais bem elaborado. Mas não nos deixemos nos levar pelo grau de dificuldade neste primeiro momento. Temos de começar a fazer as coisas partindo de algum ponto. Caso contrário apenas iremos nos conformar, imaginando o qual difícil o desafio é, sem ao menos tentarmos de fato superar este obstáculo. Vida de programador de fato é isto: Encontrar um obstáculo e tentar superar ele, via estudo, testes e bastante pesquisa.
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.
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.
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.
Desenvolvendo um sistema de Replay (Parte 71): Acertando o tempo (IV)
Aqui neste artigo, mostrarei como implementar o que foi visto no artigo passado, dentro do serviço de replay/simulação. Mas como tudo nesta vida, costuma dar algum tipo de problema. Aqui não foi uma exceção. Então acompanhe o artigo e veja o que será tema para o próximo artigo desta serie. 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 populacionais: Algoritmo semelhante ao eletromagnetismo (EM)
O artigo descreve os princípios, os métodos e as possibilidades de aplicação do EM a diferentes problemas de otimização. Ele uma ferramenta de otimização eficiente, capaz de lidar com grandes quantidades de dados e funções multidimensionais.
Desenvolvendo um sistema de Replay (Parte 39): Pavimentando o Terreno (III)
Antes de começarmos a segunda fase de desenvolvimento, é preciso reforçar algumas ideias. Então você sabe como forçar o MQL5 a fazer o que é preciso ser feito ?!?! Já tentou ir além do que a documentação informar ?!?! Se não. Se prepare. Pois irei começar a fazer coisas muito além do que grande parte faz normalmente.
Algoritmos de otimização populacionais: algoritmo de baleias (Whale Optimization Algorithm, WOA)
O algoritmo de otimização de baleias (WOA) é um algoritmo metaheurístico inspirado pelo comportamento e pelas estratégias de caça das baleias-jubarte. A ideia principal do WOA é imitar o chamado método de alimentação "rede de bolhas", em que as baleias criam bolhas ao redor de suas presas para depois atacá-las em um movimento espiral.
Desenvolvendo um sistema de Replay (Parte 59): Um novo futuro
O correto entendimento das coisas, nos permite fazer mais e com menos esforço. Neste artigo irei explicar por que temos que temporizar a colocação do template, antes do serviço realmente começar a mexer no gráfico. Além disto, que tal melhorar o indicador de mouse, para podermos fazer mais coisas com ele.
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.
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.
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.
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.
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 03): Entropia de Shannon
O trader de hoje é um filomata que está quase sempre procurando novas ideias, experimentando-as, escolhendo modificá-las ou descartá-las; um processo exploratório que deve custar uma quantidade razoável de diligência. Esta série de artigos proporá que o assistente MQL5 deve ser um esteio para os traders.
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.
Algoritmo de otimização por reações químicas — Chemical Reaction Optimisation, CRO (Parte II): Montagem e resultados
Na segunda parte do artigo, reuniremos os operadores químicos em um único algoritmo e apresentaremos uma análise detalhada de seus resultados. Descobriremos como o método de otimização por reações químicas (CRO) superou o desafio de resolver problemas complexos em funções de teste.
Simulação de mercado: Position View (I)
O conteúdo, que veremos a partir de agora, é muito mais complicado em termos de teorias e conceitos. Tentarei deixar o conteúdo o mais simples quanto for possível fazer. A parte referente a programação em si. É até bastante simples e direta. Mas se você não compreender toda a teórica, que está debaixo dos panos. Ficará completamente sem meios para poder melhorar, ou mesmo adaptar o sistema de replay/simulador. A algo diferente do que irei mostrar. Meu intuito não é que você simplesmente compile e use o código que estou mostrando. Quero que você aprenda, entenda e se possível, possa criar algo ainda melhor.
Métodos de William Gann (Parte II): Criando um Indicador do Quadrado de Gann
Vamos tentar criar um indicador baseado no Quadrado de 9 de Gann, construído com base na quadratura do tempo e do preço. Escreveremos o código e testaremos o indicador na plataforma em diferentes intervalos de tempo.
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.
Indicador Customizado: Traçar os Pontos de Entradas Parciais em contas Netting
Nesse artigo, veremos uma forma interessante e diferente de construir um indicador em MQL5. Ao invés de focar em uma tendência ou padrão gráfico, será no gerenciamento de nossas próprias posições, nas entradas e saídas parciais. Usaremos intensivamente arrays dinâmicos e algumas funções de negociação (Trade) relacionadas a histórico de transações e a posições abertas, naturalmente, para indicar no gráfico onde ocorreram essas negociações.
Desenvolvendo um EA multimoeda (Parte 5): tamanho de posição variável
Nos capítulos anteriores, o EA desenvolvido só podia usar um tamanho de posição fixo para negociações. Isso é adequado para testes, mas não é aconselhável ao negociar mediante uma conta real. Vamos adicionar a capacidade de operar com tamanhos de posição variáveis.
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.
Modificação do Grid-Hedge EA em MQL5 (Parte IV): Otimizando a Estratégia de Grid Simples (I)
Nesta quarta parte, revisitamos os Expert Advisors (EAs) Simple Hedge e Simple Grid desenvolvidos anteriormente. Nosso foco agora é refinar o Simple Grid EA por meio de análise matemática e uma abordagem de força bruta, visando o uso ideal da estratégia. Este artigo mergulha profundamente na otimização matemática da estratégia, preparando o terreno para futuras explorações de otimização baseada em código em artigos posteriores.
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".
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.
Algoritmos de otimização populacional: Busca em sistema carregado (Charged System Search, CSS)
Neste artigo, vamos explorar outro algoritmo de otimização inspirado pela natureza inanimada, a busca em sistema carregado (CSS). O objetivo deste artigo é apresentar um novo algoritmo de otimização baseado nos princípios da física e mecânica.
Desenvolvendo um sistema de Replay (Parte 60): Dando play no serviço (I)
Já faz um bom tempo que estamos mexendo apenas no indicadores. Mas agora chegou a hora de fazer o serviço voltar a executar o seu trabalho, a fim de que possamos ver o gráfico sendo construído com os dados informados. Mas como nem tudo é tão simples, será preciso ver para entender o que nos espera.
Algoritmos de otimização populacional: sistema imune micro-artificial (Micro Artificial Immune System, Micro-AIS)
Este artigo fala sobre um método de otimização baseado nos princípios de funcionamento do sistema imunológico do organismo — Micro Artificial Immune System (Micro-AIS) — uma modificação do AIS. O Micro-AIS utiliza um modelo mais simples do sistema imunológico e operações mais simples de processamento de informações imunológicas. O artigo também aborda as vantagens e desvantagens do Micro-AIS em comparação com o AIS tradicional.
Algoritmos de otimização populacionais: Algoritmo de evolução da mente (Mind Evolutionary Computation, MEC)
Este artigo discute um algoritmo da família MEC, denominado algoritmo simples de evolução da mente (Simple MEC, SMEC). O algoritmo se destaca pela beleza da ideia subjacente e pela simplicidade de implementação.
Simulação de mercado: Position View (III)
Nestes últimos artigos, tenho mencionado o fato de que precisamos em alguns momentos definir um valor para a propriedade ZOrder. Mas por que?!?! Já que muitos dos códigos, que adicionam objetos no gráfico, simplesmente não utilizam, ou melhor, não definem um valor para tal propriedade. Bem, não estou aqui, para dizer, o que cada programador, deve ou não fazer. Como ele deve ou não criar seus códigos. Estou aqui, a fim de mostrar, a você caro leitor, e interessado em realmente compreender como as coisas funcionam, por debaixo dos panos.
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.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 44): Indicador técnico Average True Range (ATR)
O oscilador ATR é um indicador muito popular para atuar como um proxy de volatilidade, especialmente nos mercados de forex onde os dados de volume são escassos. Nós o examinamos com base em padrões, assim como fizemos com indicadores anteriores, e compartilhamos estratégias e relatórios de testes graças às classes da biblioteca MQL5 wizard e sua montagem.
Desenvolvendo um EA multimoeda (Parte 18): Automação da seleção de grupos considerando o período forward
Continuaremos automatizando etapas que anteriormente realizávamos manualmente. Desta vez, voltaremos à automação da segunda etapa, ou seja, a escolha do grupo ideal de instâncias individuais de estratégias de negociação, complementada pela capacidade de considerar os resultados dessas instâncias no período forward.
Algoritmo de Otimização Aritmética (AOA): O caminho do AOA até o SOA (Simple Optimization Algorithm)
Neste artigo, apresentamos o Algoritmo de Otimização Aritmética (Arithmetic Optimization Algorithm, AOA), que se baseia em operações aritméticas simples: adição, subtração, multiplicação e divisão. Essas operações matemáticas básicas são fundamentais para a busca de soluções ótimas em diversas tarefas.
Desenvolvendo um EA multimoeda (Parte 22): Início da transição para substituição dinâmica de configurações
Se decidimos automatizar a execução da otimização periódica, também precisamos cuidar da atualização automática das configurações dos EAs que já estão operando na conta de negociação. Isso também deve permitir rodar o EA no testador de estratégias e alterar suas configurações dentro de uma única execução.
Simulação de mercado (Parte 07): Sockets (I)
Soquetes. Você sabe para que eles servem, ou como fazer uso deles no MetaTrader 5? Se a resposta for não, vamos começar aprendendo um pouco sobre eles. Este artigo aqui envolve o básico do básico. Mas como existem diversas maneiras de se fazer a mesma coisa, e o que nos interessa realmente é sempre o resultado. Queria mostrar que sim, existe uma forma simples, de passar dados do MetaTrader 5 para dentro de outros programas, como por exemplo o Excel. Porém, a principal ideia, não é transferir dados do MetaTrader 5, para o Excel. E sim fazer o contrário. Ou seja, transferir dados do Excel, ou de qualquer outro programa, para dentro do MetaTrader 5.
Desenvolvendo um EA multimoeda (Parte 19): Criando etapas implementadas em Python
Até agora, analisamos a automação da execução de procedimentos sequenciais de otimização de EAs exclusivamente no testador de estratégias padrão. Mas o que fazer se, entre essas execuções, quisermos processar alguns dados já obtidos por outros meios? Vamos tentar adicionar a possibilidade de criar novas etapas de otimização, executadas por programas escritos em Python.
Desenvolvendo um sistema de Replay (Parte 73): Uma comunicação inusitada (II)
Neste artigo, veremos como transferir informações em tempo real entre o indicador e o serviço, entender por que podem surgir problemas ao modificar o tempo gráfico e como resolvê-los corretamente. Como bônus, você terá acesso à última versão da aplicação de replay/simulador. O conteúdo é exclusivamente didático e não deve ser considerado como uma aplicação para outros fins.