Desenvolvendo um sistema de Replay — Simulação de mercado (Parte 05): Adicionando Previas
Conseguimos desenvolver, uma forma de fazer com que o replay de mercado, fosse executado dentro de um tempo bastante realista e aceitável. Vamos continuar nosso projeto. Agora iremos adicionar dados de forma a ter um comportamento melhor do replay.
Desenvolvendo um sistema de Replay (Parte 65): Dando play no serviço (VI)
Aqui neste artigo mostrarei como faremos para conseguir implementar o avanço rápido, assim como também resolveremos o problema do indicador de mouse, quando este está sendo usando junto com a aplicação de replay / simulação. 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.
Teoria das Categorias em MQL5 (Parte 14): funtores com ordem linear
Este artigo, parte de uma série de artigos sobre a implementação da teoria das categorias no MQL5, é dedicado aos funtores. Vamos explorar como a ordem linear pode ser mapeada em um conjunto de dados através dos funtores ao analisar dois conjuntos de dados que, à primeira vista, parecem não ter nenhuma conexão entre si.
Como desenvolver um sistema de negociação baseado no indicador VIDYA
Bem-vindo a um novo artigo da nossa série sobre como desenvolver um sistema de negociação pelos indicadores técnicos mais populares, neste artigo aprenderemos sobre uma nova ferramenta técnica e aprenderemos como desenvolver um sistema de negociação pelo Variable Index Dynamic Average (VIDYA).
Algoritmos de otimização populacionais: Enxame de partículas (PSO)
Neste artigo vamos analisar o popular algoritmo de otimização por enxame de partículas (PSO). Anteriormente, discutimos características importantes de algoritmos de otimização, como convergência, velocidade de convergência, estabilidade, escalabilidade e desenvolvemos uma bancada de testes. Também analisamos um algoritmo simples baseado em geradores de números aleatórios (GNA).
Um exemplo de como montar modelos ONNX em MQL5
O ONNX (Open Neural Network Exchange) é um padrão aberto para a representação de modelos de redes neurais. Neste artigo, mostraremos a possibilidade de usar dois modelos ONNX simultaneamente em um Expert Advisor.
Modelos ocultos de Markov em sistemas de trading com aprendizado de máquina
Os modelos ocultos de Markov (HMM) representam uma classe poderosa de modelos probabilísticos, destinados à análise de dados sequenciais, nos quais os eventos observáveis dependem de alguma sequência de estados não observáveis (ocultos), que formam um processo de Markov. As principais suposições dos HMM incluem a propriedade de Markov para os estados ocultos, o que significa que a probabilidade de transição para o próximo estado depende apenas do estado atual, e a independência das observações, desde que o estado oculto atual seja conhecido.
Redes neurais de maneira fácil (Parte 61): O problema do otimismo no aprendizado por reforço off-line
Durante o aprendizado off-line, otimizamos a política do Agente com base nos dados da amostra de treinamento. A estratégia resultante confere ao Agente confiança em suas ações. Mas, essa confiança nem sempre é justificada, já que pode acarretar maiores riscos durante a utilização prática do modelo. Hoje vamos examinar um dos métodos para reduzir esses riscos.
Estratégia de trading "Captura de Liquidez" (Liquidity Grab)
A estratégia de captura de liquidez é um componente-chave do Smart Money Concepts (SMC), que visa identificar e aproveitar as ações dos participantes institucionais no mercado. Ela envolve mirar áreas de alta liquidez, como zonas de suporte ou resistência, onde ordens de grande volume podem provocar um movimento de preço antes que o mercado retome sua tendência. Este artigo explica em detalhes o conceito de captura de liquidez e descreve o processo de desenvolvimento de um EA para a estratégia de captura de liquidez em MQL5.
Desenvolvendo um sistema de Replay (Parte 49): Complicando as coisas (I)
Aqui neste artigo iremos complicar um pouco as coisa. Fazendo uso do que foi visto nos artigos anteriores, iremos começar a liberar o arquivo de Template, para que o usuário possa fazer uso de um template pessoal. No entanto, irei fazer as mudanças aos poucos, visto que também irei modificar o indicador a fim de proporcionar um alivio ao MetaTrader 5.
Algoritmos de otimização populacionais: salto de sapo embaralhado
O artigo apresenta uma descrição detalhada do algoritmo salto de sapo embaralhado (Shuffled Frog Leaping Algorithm, SFL) e suas capacidades na solução de problemas de otimização. O algoritmo SFL é inspirado no comportamento dos sapos em seu ambiente natural e oferece uma nova abordagem para a otimização de funções. O algoritmo SFL é uma ferramenta eficaz e flexível, capaz de lidar com diversos tipos de dados e alcançar soluções ótimas.
Experiências com redes neurais (Parte 3): Uso pratico
As redes neurais são tudo para nós. E vamos verificar na prática se é assim, indagando se MetaTrader 5 é uma ferramenta autossuficiente para implementar redes neurais na negociação. A explicação vai ser simples.
Desenvolvimento de robô em Python e MQL5 (Parte 2): Escolha do modelo, criação e treinamento, testador customizado Python
Continuamos o ciclo de artigos sobre a criação de um robô de trading em Python e MQL5. Hoje, vamos resolver a tarefa de escolher e treinar o modelo, testá-lo, implementar a validação cruzada, busca em grade, além de abordar o ensemble de modelos.
Introdução ao MQL5 (Parte 2): Variáveis pré-definidas, funções gerais e operadores de fluxo de controle
Neste artigo, continuamos a explorar a linguagem de programação MQL5. Esta série de artigos não é apenas um material didático, mas sim uma porta de entrada para o mundo da programação. O que os torna especiais? Eu me esforcei para manter a simplicidade nas explicações, tornando conceitos complexos acessíveis a todos. Para obter os melhores resultados, é necessário praticar ativamente tudo o que discutimos. Só assim você obterá o máximo proveito desses artigos.
Receitas MQL5 — Banco de dados de eventos macroeconômicos
Este artigo explora como trabalhar com bancos de dados baseados no mecanismo SQLite. Com o objetivo de oferecer conveniência e utilizar eficientemente os princípios da OOP, foi criada a classe CDatabase. Essa classe é responsável pela criação e gerenciamento de um banco de dados de eventos macroeconômicos. Além disso, são apresentados exemplos de como utilizar diferentes métodos da classe CDatabase.
Scalping Orderflow para MQL5
Este Expert Advisor para MetaTrader 5 implementa uma estratégia de Scalping OrderFlow com gerenciamento de risco avançado. Ele utiliza múltiplos indicadores técnicos para identificar oportunidades de negociação com base em desequilíbrios de fluxo de ordens. Os testes de retrocesso (backtesting) mostram potencial de lucratividade, mas destacam a necessidade de mais otimizações, especialmente no gerenciamento de risco e nas taxas de acerto das operações. Adequado para traders experientes, exige testes aprofundados e compreensão antes da utilização em ambiente real.
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 10): Usando apenas dados reais na replay
Aqui vamos ver como você pode utilizar dados mais fieis ( tickets negociados ) no sistema de replay, sem necessariamente ter que se preocupar se eles estão ou não ajustados.
Matrix Utils, estendendo as matrizes e a funcionalidade da biblioteca padrão de vetores
As matrizes servem como base para os algoritmos de aprendizado de máquina e computação em geral devido à sua capacidade de lidar efetivamente com grandes operações matemáticas. A biblioteca padrão tem tudo o que é necessário, mas vamos ver como podemos estendê-la introduzindo várias funções no arquivo utils, ainda não disponível na biblioteca
O modelo de movimento de preços e suas principais disposições (Parte 3): Cálculo dos parâmetros ótimos para negociação em bolsa
Dentro da abordagem de engenharia desenvolvida pelo autor, baseada na teoria da probabilidade, são determinadas as condições para abrir uma posição lucrativa e calculados os valores ótimos - maximizadores do lucro - para o take profit e o stop loss.
Ciência de Dados e Aprendizado de Máquina (Parte 03): Regressões Matriciais
Desta vez nossos modelos estão sendo feitos por matrizes, o que permite flexibilidade ao mesmo tempo que nos permite fazer modelos poderosos que podem manipular não apenas cinco variáveis independentes, mas também muitas variáveis, desde que permaneçamos dentro dos limites de cálculos de um computador, este artigo será uma leitura interessante, isso é certo.
Modelos de regressão da biblioteca Scikit-learn e sua exportação para ONNX
Neste artigo, exploraremos a aplicação de modelos de regressão do pacote Scikit-learn, tentaremos convertê-los para o formato ONNX e usaremos os modelos resultantes em programas MQL5. Além disso, compararemos a precisão dos modelos originais com suas versões ONNX para ambas as precisões float e double. Além disso, examinaremos a representação ONNX dos modelos de regressão, com o objetivo de fornecer uma melhor compreensão de sua estrutura interna e princípios operacionais.
Desenvolvendo uma estratégia Martingale de Recuperação de Zona em MQL5
O artigo discute, de forma detalhada, os passos que precisam ser implementados para a criação de um advisor especializado baseado no algoritmo de negociação de Recuperação de Zona. Isso ajuda a automatizar o sistema, economizando tempo para os negociadores algorítmicos.
Adicionando um LLM personalizado a um robô investidor (Parte 2): Exemplo de implementação de ambiente
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.
Ciência de Dados e Aprendizado de Máquina (Parte 08): Agrupamento K-Means em MQL5
A mineração de dados é crucial para um cientista de dados e um trader porque, muitas vezes, os dados não são tão diretos quanto pensamos, o olho humano não consegue entender o padrão subjacente menor e as relações no conjunto de dados, talvez o algoritmo K-means pode nos ajudar com isso. Vamos descobrir...
Trabalhando com séries temporais na biblioteca DoEasy (Parte 51): indicadores padrão multiperíodos multissímbolos compostos
Neste artigo, vamos completar o desenvolvimento de objetos para indicadores padrão multissímbolos multiperíodos. Usando o indicador padrão Ichimoku Kinko Hyo como exemplo, analisaremos a criação de indicadores personalizados complexos que têm buffers desenhados auxiliares para exibir dados num gráfico.
Algoritmos de otimização populacionais: Algoritmo do morcego
Hoje estudaremos o algoritmo do morcego (Bat algorithm, BA), que possui convergência incrível em funções suaves.
Redes neurais de maneira fácil (Parte 27): Aprendizado Q profundo (DQN)
Continuamos nosso estudo sobre aprendizado por reforço. E, neste artigo, vamos nos familiarizar com o método de aprendizado Q profundo. Com esse método, a equipe do DeepMind criou um modelo que pode superar um humano ao jogar jogos do Atari. Acho que será útil avaliar as possibilidades de tal tecnologia para resolver problemas de negociação.
Outras classes na biblioteca DoEasy (Parte 70): extensão da funcionalidade e atualização automática da coleção de objetos-gráficos
Neste artigo, vamos expandir a funcionalidade dos objetos-gráficos, criaremos a navegação em gráficos, geraremos capturas de tela, salvaremos e aplicaremos modelos aos gráficos. Faremos também uma atualização automática da coleção de objetos-gráficos, suas janelas e indicadores.
Gráficos na biblioteca DoEasy (Parte 99): Movendo um objeto gráfico estendido com um ponto de controle
No último artigo, geramos o movimento dos pontos de ancoragem de um objeto gráfico estendido por meio de formas de controle. Agora vamos mover o objeto gráfico composto com ajuda de um ponto/forma de controle de objeto gráfico.
Desenvolvendo um sistema de Replay (Parte 48): Entendendo e compreendendo alguns conceitos
Que tal aprender algo novo. Neste artigo você irá aprender como transformar Scripts e Serviços e qual a utilidade em se fazer isto.
Redes neurais de maneira fácil (Parte 34): Função quantil totalmente parametrizada
Continuamos a estudar os algoritmos de aprendizado Q distribuído. Em artigos anteriores, já discutimos os algoritmos de aprendizado Q distribuído e de quantil. No primeiro, aprendemos as probabilidades de determinados intervalos de valores. No segundo, aprendemos intervalos com uma probabilidade específica. Em ambos os algoritmos, utilizamos o conhecimento prévio de uma distribuição e ensinamos a outra. Neste artigo, vamos examinar um algoritmo que permite que o modelo aprenda ambas as distribuições.
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 09): Eventos Customizados
Aqui vamos ver como disparar eventos customizados e melhorar a questão sobre como o indicador informa o status do serviço de replay/simulação.
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 16): Um novo sistema de classes
Precisamos nos organizar melhor. O código está crescendo e se não o organizarmos agora, será impossível fazer isto depois. Então agora vamos dividir para conquistar. O fato de que o MQL5, nos permite usar classes, nos ajudará nesta tarefa. Mas para fazer isto é preciso que você tenha algum conhecimento sobre algumas coisas envolvidas nas classes. E talvez a que mais deixe, aspirantes e iniciantes perdidos seja a herança. Então neste artigo, irei de forma prática e simples como fazer uso de tais mecanismos.
Algoritmos de otimização populacionais: Busca por cardume de peixes (FSS - Fish School Search)
O FSS (Fish School Search) é um algoritmo avançado de otimização inspirado no comportamento dos peixes que nadam em cardumes. Aproximadamente 80% desses peixes nadam em comunidades organizadas de parentes, o que tem sido comprovado como uma estratégia importante para melhorar a eficiência de procura por alimento e proteção contra predadores.
DoEasy. Controles (Parte 4): Controle "Painel", parâmetros Padding e Dock
Neste artigo, vamos gerar o funcionamento de alguns parâmetros de painel, nomeadamente Padding (margens internas/campos para todos os lados do elemento) e Dock (a forma como o objeto está localizado dentro do contêiner).
Vídeo: Negociação automatizada simples, como criar um EA simples mediante MQL5
A maioria dos alunos dos meus cursos achava que a linguagem MQL5 era difícil de entender. Naquele momento, eles estavam procurando maneiras simples de automatizar alguns processos. Neste artigo, você aprenderá como começar a trabalhar logo em MQL5 mesmo sem conhecimentos de programação e mesmo que já tenha tentado, sem sucesso, dominar este tópico.
Adicionando um LLM personalizado a um robô investidor (Parte 1): Implantação de equipamentos e ambiente
Os modelos de linguagem são uma parte importante da inteligência artificial que evolui rapidamente, por isso devemos pensar em como integrar LLMs poderosos em nossa negociação algorítmica. Para a maioria das pessoas, é desafiador configurar esses poderosos modelos de acordo com suas necessidades, implementá-los localmente e, em seguida, aplicá-los à negociação algorítmica. Esta série de artigos explorará uma abordagem passo a passo para alcançar esse objetivo.
Desenvolvendo um fator de qualidade para os EAs
Nesse artigo vamos explicar como desenvolver um fator de qualidade para ser retornado pelo seu EA no testador de estratégia. Iremos mostrar duas formas de cálculo conhecidas (Van Tharp e Sunny Harris).
Metamodelos em aprendizado de máquina e negociação: Tempo original das ordens de negociação
Metamodelos em aprendizado de máquina: Criação automática de sistemas de negociação com quase nenhum envolvimento humano, o próprio modelo decide como operar e quando operar.
Desenvolvendo um sistema de Replay (Parte 38): Pavimentando o Terreno (II)
Muita gente que se diz programador de MQL5, não tem as bases que estarei apresentando aqui, neste artigo. Muitos consideram o MQL5 algo limitado, mas tudo isto se deve a falta de conhecimento. Então, não fique com vergonha por não saber. Mas tenha vergonha de não perguntar. Mas o simples fato, de forçar, e obrigar o MetaTrader 5 a não permitir que um indicador seja duplicado. Não nos dá de maneira alguma meios de efetivar uma comunicação bilateral entre o indicador e o EA. Ainda estamos um pouco longe disto. Mas o simples fato de que o indicador não estará duplicado no gráfico, já nos garante uma certa tranquilidade.