Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 08): Perceptrons
Os perceptrons, redes com uma única camada oculta, podem ser um bom suporte para aqueles familiarizados com os fundamentos do trading automático e que desejam mergulhar nas redes neurais. Vamos examinar passo a passo como eles podem ser implementados no conjunto de classes de sinais, que faz parte das classes do Assistente MQL5 para EAs.
DoEasy. Controles (Parte 5): Objeto base WinForms, controle Painel, parâmetro AutoSize
Neste artigo, criaremos um objeto que serve de base para todos os objetos WinForms da biblioteca e começaremos a preparar a propriedade AutoSize do objeto WinForms "Painel", que dimensiona automaticamente o objeto de acordo com seu conteúdo.
Experimentos com redes neurais (Parte 7): Transferência de indicadores
Desta vez, veremos exemplos de passagem de indicadores ao perceptron. Abordaremos conceitos gerais, um Expert Advisor simples pronto, os resultados de sua otimização e testes forward.
Elementos da análise correlacional em MQL5: Critério de independência qui-quadrado de Pearson e relação de correlação
O artigo aborda as ferramentas clássicas da análise correlacional. São apresentadas as bases teóricas breves, bem como a implementação prática do critério de independência qui-quadrado de Pearson e o coeficiente de relação de correlação.
Algoritmo baseado em fractais - Fractal-Based Algorithm (FBA)
Um novo método metaheurístico baseado na abordagem fractal de divisão do espaço de busca para resolver tarefas de otimização. O algoritmo identifica e divide sequencialmente áreas promissoras, criando uma estrutura fractal auto-semelhante que concentra os recursos computacionais nos trechos mais promissores. Um mecanismo exclusivo de mutação, direcionado para as melhores soluções, garante um equilíbrio ideal entre diversificação e intensificação do espaço de busca, aumentando significativamente a eficiência do algoritmo.
Gráficos na biblioteca DoEasy (Parte 100): Eliminando bugs ao trabalhar com objetos gráficos padrão estendidos
Hoje vamos retocar e eliminar falhas evidentes ao trabalhar com objetos gráficos estendidos (e padrão) e com objetos-formas na tela, além disso vamos consertar os erros observados durante os testes no último artigo. E assim vamos concluir esta seção da descrição da biblioteca.
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.
Desenvolvendo um sistema de Replay (Parte 78): Um novo Chart Trade (V)
Neste artigo, veremos como deveremos implementar a parte do receptor. Ou seja, aqui implementaremos uma versão do Expert Advisor, apenas para testar e aprender como a comunicação via protocolo funciona. 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 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.
Teoria das Categorias em MQL5 (Parte 17): funtores e monoides
Este é o último artigo da série dedicada a funtores. Nele, reconsideramos monoides como uma categoria. Os monoides, que já apresentamos nesta série, são usados aqui para ajudar na definição do tamanho da posição juntamente com perceptrons multicamadas.
Fatorando Matrizes — Uma modelagem mais prática
Muito provavelmente você não tenha se dado conta, que a modelagem das matrizes estava um tanto quanto estranha. Já que não havia a indicação de linhas e colunas, mas apenas indicações de colunas. O que é muito estranho, quando se está lendo um código, que faz fatorações de matrizes. E se você estava esperando ver linhas e colunas sendo indicadas. Pode acabar ficando bastante confuso, no momento de tentar implementar a fatoração. Além do mais, aquela forma de modelar as matrizes, não é nem de longe a melhor maneira. Isto por que, quando modelamos matrizes daquela maneira, passamos a ter uma certa limitação, que nos obriga a usar outras técnicas, ou funções, que não seriam de fato necessárias. Isto quando a modelagem é feita de uma maneira um pouco mais adequada.
Engenharia de Features com Python e MQL5 (Parte I): Previsão de Médias Móveis para Modelos de IA de Longo Alcance
As médias móveis são, de longe, os melhores indicadores para nossos modelos de IA preverem. No entanto, podemos melhorar ainda mais nossa precisão transformando cuidadosamente nossos dados. Este artigo demonstrará como você pode construir Modelos de IA capazes de prever mais longe no futuro do que você talvez pratique atualmente, sem quedas significativas nos níveis de precisão. É realmente notável como as médias móveis são úteis.
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.
Redes neurais em trading: Modelos bidimensionais do espaço de conexões (Chimera)
Descubra o inovador framework Chimera, um modelo bidimensional do espaço de estados que utiliza redes neurais para analisar séries temporais multidimensionais. Esse método oferece alta precisão com baixo custo computacional, superando abordagens tradicionais e arquiteturas do tipo Transformer.
Criação de um EA em MQL5 com base na estratégia PIRANHA utilizando Bandas de Bollinger
Neste artigo, criamos um EA (Expert Advisor) em MQL5 com base na estratégia PIRANHA, utilizando as Bandas de Bollinger para aumentar a eficiência da negociação. Discutimos os princípios-chave da estratégia, a implementação do código, bem como os métodos de teste e otimização. Esse conhecimento permitirá usar o EA com eficácia em seus cenários de trading.
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.
Teoria das Categorias em MQL5 (Parte 2)
A Teoria das Categorias é um ramo diverso da Matemática e em expansão, sendo uma área relativamente recente na comunidade MQL5. Esta série de artigos visa introduzir e examinar alguns de seus conceitos com o objetivo geral de estabelecer uma biblioteca aberta que atraia comentários e discussões enquanto esperamos promover o uso deste campo notável no desenvolvimento da estratégia dos traders.
Desenvolvendo um EA multimoeda (Parte 3): Revisão da arquitetura
Nós já avançamos um pouco no desenvolvimento de um EA multimoeda com várias estratégias funcionando em paralelo. Com base na experiência acumulada, vamos revisar a arquitetura da nossa solução e tentar melhorá-la, antes que avancemos muito.
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.
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.
DoEasy. Controles (Parte 23): apurando os objetos WinForms TabControl e SplitContainer
Neste artigo, incluiremos novos eventos de mouse relacionados aos limites das áreas de trabalho dos objetos WinForms e corrigiremos algumas falhas na funcionalidade dos controles TabControl e SplitContainer.
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.
Rede neural na prática: Pseudo Inversa (I)
Aqui, vamos começar a ver como podermos implementar, usando MQL5 puro, o cálculo de pseudo inversa. Apesar do código que será visto, será de fato bem mais complicado, para os iniciantes, do que eu de fato gostaria de apresentar. Ainda estou pensando em como o explicar de forma simples. Veja isto como uma oportunidade de estudar um o código pouco comum. Então vá com calma. Sem pressa e correria. Mesmo que ele não vise ser eficiente e de rápida execução. O objetivo é ser o mais didático possível.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 27): Médias Móveis e o Ângulo de Ataque
O Ângulo de Ataque é uma métrica frequentemente citada, cuja inclinação é entendida como tendo uma forte correlação com a força de uma tendência predominante. Vamos analisar como ele é comumente usado e compreendido e examinar se há mudanças que poderiam ser introduzidas na forma como é medido, para benefício de um sistema de negociação que o utilize.
Do básico ao intermediário: Passagem por valor ou por referência
Neste artigo você entenderá na prática a diferença entre passagem por valor e passagem por referência. Apesar de ser algo aparentemente simples e que não causa problemas. Muitos programadores com uma boa carga de experiência costumam tomar verdadeiras surras de seus códigos, justamente por conta deste pequeno detalhe. Saber quando, como e porque usar uma passagem por valor ou uma passagem por referência, fará grande diferença na sua vida como programador. 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.
Criando um Expert Advisor Integrado ao Telegram em MQL5 (Parte 6): Adicionando Botões Inline Interativos
Neste artigo, integramos botões inline interativos em um Expert Advisor MQL5, permitindo controle em tempo real via Telegram. Cada clique em um botão dispara ações específicas e envia respostas de volta ao usuário. Também modularizamos funções para lidar com mensagens do Telegram e consultas de callback de forma eficiente.
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.
DoEasy. Funções de serviço (Parte 2): Padrão "Barra Interna"
Neste artigo, continuaremos a explorar os padrões de preço na biblioteca DoEasy. Vamos desenvolver a classe do padrão "Barra Interna" das formações Price Action.
DoEasy. Controles (Parte 20): Objeto WinForms SplitContainer
Hoje começaremos a desenvolver o controle SplitContainer a partir da caixa de ferramentas do MS Visual Studio. Este elemento consiste em dois painéis separados por um separador móvel vertical ou horizontal.
Desenvolvendo um sistema de Replay (Parte 77): Um novo Chart Trade (IV)
Neste artigo, explicarei alguns detalhes e cuidados que você teve tomar quando for criar um protocolo de comunicação. São coisas bem básicas e simples. Não irei de fato pegar pesado neste artigo. Mas é preciso que você entenda o conteúdo deste artigo para entender o que acontecerá no receptor.
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)
Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos como está organizando nosso código, os primeiros arquivos de cabeçalho e classes, e como escrever testes. Este artigo também inclui notas breves sobre o desenvolvimento orientado por testes (Test-Driven Development) e sua aplicação neste projeto.
Redes neurais de maneira fácil (Parte 65): aprendizado supervisionado ponderado por distância (DWSL)
Neste artigo, convido você a conhecer um algoritmo interessante que se situa na interseção entre os métodos de aprendizado supervisionado e de reforço.
Criando um Painel de Administração de Trading em MQL5 (Parte VIII): Painel de Análises
Hoje, aprofundamos a incorporação de métricas de trading úteis dentro de uma janela especializada integrada ao EA do Painel de Administração. Esta discussão foca na implementação em MQL5 para desenvolver um Painel de Análises e destaca o valor dos dados que ele fornece aos administradores de trading. O impacto é amplamente educacional, pois lições valiosas são extraídas do processo de desenvolvimento, beneficiando tanto desenvolvedores iniciantes quanto experientes. Este recurso demonstra as oportunidades ilimitadas que esta série de desenvolvimento oferece ao equipar gestores de operações com ferramentas avançadas de software. Além disso, exploraremos a implementação das classes PieChart e ChartCanvas como parte da expansão contínua das capacidades do painel de Administração de Trading.
Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 5): Sistema de Notificação (Parte III)
Esta parte da série de artigos é dedicada à integração do WhatsApp com o MetaTrader 5 para notificações. Incluímos um fluxograma para simplificar o entendimento e discutiremos a importância das medidas de segurança na integração. O principal objetivo dos indicadores é simplificar a análise por meio da automação, e eles devem incluir métodos de notificação para alertar os usuários quando condições específicas forem atendidas. Descubra mais neste artigo.
Redes neurais em trading: Representação linear por partes de séries temporais
Este artigo é um pouco diferente dos trabalhos anteriores desta série. Nele, discutiremos uma representação alternativa de séries temporais. A representação linear por partes de séries temporais é um método de aproximação de séries temporais usando funções lineares em pequenos intervalos.
Funções de ativação de neurônios durante o aprendizado: chave para uma convergência rápida?
Este trabalho apresenta uma análise da interação entre diferentes funções de ativação e algoritmos de otimização no contexto do treinamento de redes neurais. A atenção principal está voltada para a comparação entre o ADAM clássico e sua versão populacional ao lidar com uma ampla gama de funções de ativação, incluindo as funções oscilatórias ACON e Snake. Mediante uma arquitetura MLP minimalista (1-1-1) e um único exemplo de treino, isola-se a influência das funções de ativação no processo de otimização, eliminando interferências de outros fatores. Propomos um método de controle dos pesos da rede por meio dos limites das funções de ativação e um mecanismo de reflexão de pesos, permitindo evitar problemas de saturação e estagnação no aprendizado.
DoEasy. Controles (Parte 17): Recorte de seções invisíveis de objetos, objetos-botões WinForms auxiliares com setas
Neste artigo vamos criar funcionalidade para esconder seções de objetos que ultrapassam as margens de seu contêiner e vamos elaborar objetos-botões auxiliares com setas para usá-los como parte de outros objetos WinForms.
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.
Aprendendo MQL5 do iniciante ao profissional (Parte V): Principais operadores de redirecionamento do fluxo de comandos
Este artigo analisa os principais operadores para alterar o fluxo de execução: condições, laços e o operador switch. O uso desses operadores adicionará às funções que criamos a capacidade de agir de maneira "inteligente".