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.
Ganhe Uma Vantagem Sobre Qualquer Mercado
Aprenda como você pode se destacar em qualquer mercado que deseja negociar, independentemente do seu nível atual de habilidade.
DoEasy. Controles (Parte 31): Rolando o conteúdo do controle "ScrollBar"
Neste artigo, criaremos a funcionalidade para rolar o conteúdo do contêiner usando os botões da barra de rolagem horizontal.
Teoria das Categorias em MQL5 (Parte 11): Grafos
Esse artigo é uma continuação da série sobre como implementar a teoria das categorias no MQL5. Aqui consideramos como a teoria dos grafos pode ser integrada com monoides e outras estruturas de dados ao desenvolver uma estratégia para fechar um sistema de negociação.
Do básico ao intermediário: Comando FOR
Neste artigo falaremos o básico, do básico sobre o comando FOR. Tudo que será visto aqui, precisa de fato ser muito bem assimilado e compreendido. Diferente do que acontecia com os demais comandos. Este comando FOR tem algumas peculiaridades, que o torna muito complexo de maneira muito rápida. Então meu caro leitor, não deixe este tipo de material se acumular. Comece a estudar e praticar o quanto antes. 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.
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.
Algoritmos de otimização populacionais: Algoritmo de pesquisa gravitacional (GSA)
O GSA é um algoritmo populacional inspirado na natureza inanimada. Sua capacidade de modelar com alta precisão a interação entre corpos físicos, através da lei da gravidade de Newton incorporada no algoritmo, permite contemplar um espetáculo fascinante de dança entre sistemas planetários e aglomerados galácticos, representado de forma impressionante em animações. Hoje vamos discutir um dos algoritmos de otimização mais interessantes e originais. Um simulador de movimento de objetos espaciais está incluído.
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 baseado em brainstorming — Brain Storm Optimization (Parte I): Clusterização
Neste artigo, discutimos um método inovador de otimização chamado BSO (Brain Storm Optimization), inspirado na tempestade de ideias (brainstorming). Também abordamos um novo enfoque para resolver problemas de otimização multimodal que utiliza o BSO, permitindo encontrar várias soluções ótimas sem a necessidade de definir previamente o número de subpopulações. Além disso, analisamos os métodos de clusterização K-Means e K-Means++.
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.
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.
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.
Regressão rede elástica usando descida de coordenadas no MQL5
Neste artigo, exploraremos a implementação prática da regressão rede elástica (elastic net regularization) para minimizar o sobreajuste e, ao mesmo tempo, separar automaticamente preditores úteis daqueles que possuem pouca força preditiva.
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.
Paradigmas de programação (Parte 1): Abordagem procedural para desenvolvimento de Expert Advisors com base na dinâmica de preços
Aprenda sobre paradigmas de programação e suas aplicações no código MQL5. Neste artigo, exploramos as características da programação procedural, além de oferecer exemplos práticos. Você aprenderá como desenvolver um Expert Advisor baseado na dinâmica de preços (Price Action), utilizando o indicador EMA e dados de velas. Além disso, o artigo apresenta o paradigma da programação funcional.
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.
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.
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.
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.
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.
Como Implementar Otimização Automática em Expert Advisors MQL5
Guia passo a passo para otimização automática em MQL5 para Expert Advisors. Vamos abordar uma lógica de otimização robusta, boas práticas para seleção de parâmetros e como reconstruir estratégias com backtesting. Além disso, métodos mais avançados como a otimização walk-forward serão discutidos para aprimorar sua abordagem de trading.
Do básico ao intermediário: Comando SWITCH
Neste artigo iremos aprender como utilizar o comando SWITCH em sua forma mais simples e básica. 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: 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.
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 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 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.
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.
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. 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.
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.
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.
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.
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.
Do básico ao intermediário: Ponto Flutuante
Este artigo é uma breve introdução ao que seria o ponto flutuante. Como este conteúdo é muito complicado, aconselho você o ler com calma e atenção. Não espere dominar o sistema de ponto flutuante de maneira rápida. O mesmo somente é dominado com o tempo e experiência de uso. Mas este artigo irá lhe ajudar a entender, por que as vezes sua aplicação, reporta um resultado diferente daquele esperado originalmente. 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 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".
Um algoritmo de seleção de características usando aprendizado baseado em energia em MQL5 puro
Neste artigo, apresentamos a implementação de um algoritmo de seleção de características descrito em um artigo acadêmico intitulado "FREL: Um algoritmo estável de seleção de características", chamado de Ponderação de Características como Aprendizado Baseado em Energia Regularizada.
Algoritmo de tribo artificial (Artificial Tribe Algorithm, ATA)
O artigo analisa em detalhes os componentes-chave e as inovações do algoritmo de otimização ATA, que é um método evolutivo com um sistema de comportamento duplo único, que se adapta conforme a situação. Utilizando cruzamento para uma diversificação aprofundada, e migração para busca quando há estagnação em ótimos locais, o ATA combina aprendizado individual e social.
HTTP e Connexus (Parte 2): Entendendo a Arquitetura HTTP e o Design de Bibliotecas
Este artigo explora os fundamentos do protocolo HTTP, cobrindo os principais métodos (GET, POST, PUT, DELETE), códigos de status e a estrutura das URLs. Além disso, apresenta o início da construção da biblioteca Connexus com as classes CQueryParam e CURL, que facilitam a manipulação de URLs e parâmetros de consulta em requisições HTTP.
Análise causal de séries temporais usando entropia de transferência
Neste artigo, discutimos como a causalidade estatística pode ser aplicada para identificar variáveis preditivas. Exploraremos a relação entre causalidade e entropia de transferência, além de apresentar um código MQL5 para detectar transferências direcionais de informação entre duas variáveis.