Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte III). Coleção de ordens e posições de mercado, busca e ordenação
Na primeira parte, começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Além disso, nós implementamos a coleção do histórico de ordens e negócios. Nosso próximo passo é criar uma classe para uma seleção conveniente e a ordenação de ordens, negócios e posições nas listas de coleção. Nós vamos implementar o objeto da biblioteca base chamada Engine e adicionar uma coleção de ordens e posições de mercado para a biblioteca.
Usando os recursos computacionais do MATLAB 2018 no MetaTrader 5
Depois da atualizar o pacote MATLAB em 2015, é necessário considerar a maneira moderna de criar bibliotecas DLL. Como o exemplo de um indicador preditivo, o artigo ilustra os recursos de vinculação do MetaTrader 5 e do MATLAB usando versões modernas de plataformas de 64 bits. Ao analisar toda a sequência de conexão do MATLAB, o desenvolvedor MQL5 criará rapidamente aplicativos com recursos computacionais avançados, evitando riscos.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte II). Coleção do histórico de ordens e negócios
Na primeira parte, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Nós criamos o objeto abstrato COrder, que é um objeto base para o armazenamento de dados do histórico de ordens e negócios, bem como as ordens à mercado e posições. Agora nós vamos desenvolver todos os objetos necessários para o armazenamento de dados do histórico da conta em coleções.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte I). Conceito, gerenciamento de dados e primeiros resultados
Ao analisar um grande número de estratégias de negociação, pedidos de desenvolvimento de aplicativos para os terminais MetaTrader 5 e MetaTrader 4 e vários sites sobre MetaTrader, eu cheguei à conclusão de que toda essa diversidade é baseada principalmente nas mesmas funções elementares, ações e valores que aparecem regularmente em diferentes programas. Isso resultou na biblioteca multi-plataforma DoEasy para o desenvolvimento fácil e rápido de aplicativos para a МetaТrader 5 e МetaТrader 4.
Criando interfaces gráficas para EAs e indicadores baseados no .Net Framework e C#
Uma maneira simples e rápida de criar janelas gráficas usando o editor do Visual Studio, e integração no código MQL do EA. O artigo é destinado para um vasto público de leitores e não requer conhecimentos de C# e .Net.
O poder do ZigZag (parte II). Exemplos de recebimento, processamento e exibição de dados
Na primeira parte do artigo, eu descrevi um indicador ZigZag modificado e uma classe para receber os dados desses tipos de indicadores. Aqui, eu mostrarei como desenvolver indicadores baseados nessas ferramentas e escrever um EA para testes que apresentem operações de acordo com os sinais formados pelo indicador ZigZag. Como complemento, o artigo apresentará uma nova versão da biblioteca EasyAndFast para o desenvolvimento de interfaces gráficas do usuário.
O poder do ZigZag (parte I). Desenvolvimento da classe base do indicador
Muitos pesquisadores não prestam atenção o suficiente para determinar o comportamento dos preços. Ao mesmo tempo, são usados métodos complexos, que muitas vezes são “caixas pretas”, como aprendizado de máquina ou redes neurais. A questão mais importante que surge nesse caso é quais dados enviar para o treinamento de um determinado modelo.
Diagramas horizontais nos gráficos do MetaTrader 5
Embora a tarefa de plotar diagramas horizontais no gráfico do terminal não seja frequente, é o desenvolvedor que deve lidar com ela. Essa tarefa envolve indicadores de distribuição de volumes para um período específico. Também implica distribuição de preços, diversos livros de ofertas, etc. O artigo considera a criação e o gerenciamento de diagramas horizontais em gráficos, arrays de primitivas gráficas.
Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'
Este artigo é uma continuação do artigo "Padrões de reversão: Testando o padrão 'topo/fundo duplo'" publicado anteriormente. Agora consideraremos o padrão de reversão O-C-O, o bem conhecido Ombro-Cabeça-Ombro, compararemos o desemprenho de dois padrões e, por último, tentaremos combinar o trading de dois padrões num só sistema de negociação.
Usando OpenCL para testar padrões de candles
Neste artigo, estudaremos um algoritmo para criar um testador de modelos de candles, em linguagem OpenCL, no modo "OHLC em M1". Além disso, compararemos sua velocidade com a do testador de estratégia embutido, no modo de otimização rápida e lenta.
Padrões de reversão: Testando o padrão 'topo/fundo duplo'
Na prática, os traders muitas vezes procuram por pontos de reversão, uma vez que é no momento em que surge a tendência que o preço tem o maior potencial de movimento. É por isso que, na prática da análise técnica, são considerados vários padrões de reversão. Um dos padrões mais famosos e usados é o de 'topo/fundo duplo'. Este artigo apresenta uma opção para detectar padrão algoritmicamente, além disso, nele é testada sua rentabilidade em dados históricos.
Implementando Take Profit na forma de ordens limitadas sem alterar o código original do EA
No fórum já foi amplamente discutido o uso de ordens limitadas, em vez de colocar take-profit padrão. Qual é a vantagem dessa abordagem e como ela pode ser implementada em nossa negociação? Nesse artigo, quero contar a vocês minha opinião sobre as respostas a essas perguntas.
Métodos de controle remoto de EAs
A principal vantagem dos robôs de negociação é o fato de poderem trabalhar 24 horas por dia em servidores VPS remotos. Ás vezes, é necessário intervir em seu trabalho manualmente, porém, pode não haver acesso direto ao servidor. Será que é possível gerenciar o trabalho de EAs remotamente? Esse artigo propõe uma das maneiras para controlar robôs por meio de comandos externos.
Receitas MQL5 – Obtendo as propriedades de uma posição de cobertura aberta
A plataforma MetaTrader 5 não é apenas multimercado, pois ela também permite que utilizar diferentes sistemas de registro de posição. Esses recursos expandem significativamente as ferramentas para a implementação e formalização de ideias de negociação. O artigo trata de como processar e levar em conta as propriedades das posições quando elas são registradas independentemente (cobertura - 'hedge'). Além disso, é proposta uma classe derivada, é exemplificado como processar e obter as propriedades de uma posição de cobertura.
Modelo de continuação de movimento - estatísticas de desempenho e pesquisa em gráficos
Nesse artigo, quero descrever como funciona um dos modelos de continuação de movimento. O trabalho é baseado na definição de duas ondas — uma principal e outra corretiva. Como extremos serão usados fractais e, como eu os chamo, potenciais fractais - extremos que ainda não se formaram como fractais.
Raios Elder (Bulls Power e Bears Power)
Sistema de negociação Raios Elder (em inglês, 'Elder-ray') baseado nos indicadores Bulls Power, Bears Power e Moving Average (EMA — MME, média móvel exponencial). Este sistema foi descrito por Alexander Elder em seu livro "Como se transformar em um operador e investidor de sucesso" (na versão original em inglês, 'Trading for a Living').
Gráfico PairPlot baseado em CGraphic para analisar correlações entre arrays de dados (séries temporais)
Comparar várias séries temporais durante uma análise técnica é uma tarefa bastante comum que requer ferramentas apropriadas. Neste artigo, eu sugiro o desenvolvimento de uma ferramenta para análise gráfica e a detecção de correlações entre duas ou mais séries temporais.
Escrita de indicadores de bolsa com controle de volume usando o indicador delta como exemplo
Este artigo descreve um algoritmo para construir indicadores de bolsa com base em volumes reais usando as funções CopyTicks() e CopyTicksRange(). Também apresenta as particularidades de construção desses indicadores, bem como seus aspetos de funcionamento tanto em tempo real quanto no testador de estratégias.
Integração de um EA em MQL e bancos de dados (SQL Server, .NET e C#)
Este artigo descreve como adicionar a um EA um recurso para trabalhar com o servidor de banco de dados Microsoft SQL Server. São importadas funções de uma DLL. Para criar a DLL, é implementada a plataforma Microsoft .NET e a linguagem C#. Com pequenas alterações, os métodos usados no artigo também são adequados para EAs escritos em MQL4.
Indicador universal RSI para operação simultânea em dois sentidos
Ao desenvolver algoritmos de negociação, muitas vezes enfrentamos o desafio de como determinar onde começa e termina a tendência/fase de correção. Neste artigo, tentaremos criar um indicador universal compatível com sinais para diferentes tipos de estratégias. Procuraremos simplificar ao máximo o recebimento de sinais para operações de negociação no EA. Exemplificaremos como combinar diferentes indicadores num único indicador.
Apresentação personalizada do histórico de negociação e criação de gráficos para relatórios
O artigo descreve métodos personalizados, a fim de avaliar o histórico de negociação. Para fazer isso, são descritas duas classes para seu carregamento e análise. A primeira recolhe o histórico de negociação numa pequena tabela. Já a segunda está encarregada das estatísticas, uma vez que calcula vários indicadores e plota gráficos que ajudam a tornar mais conveniente a avaliação da eficácia da negociação.
Como criar uma Especificação de Requisitos para solicitar um robô de negociação
Você está negociando usando sua própria estratégia? Se as regras do sistema puderem ser formalmente descritas como algoritmos de software, é melhor confiar a negociação a um Expert Advisor automatizado. Um robô não precisa de sono ou comida e não está sujeito as fraquezas humanas. Neste artigo, nós mostramos como criar uma Especificação de Requisitos ao solicitar um robô de negociação no serviço Freelance.
EA com interface gráfica: Fornecendo funcionalidade (Parte II)
Esta é a segunda parte do artigo sobre criação de um EA multissímbolo de sinal para negociação manual. Nós já criamos uma interface gráfica. Neste artigo, vamos falar sobre como vinculá-la à funcionalidade do programa.
Floresta de Decisão Aleatória na Aprendizagem por Reforço
A Floresta Aleatória (RF), com o uso de bagging, é um dos métodos mais poderosos de aprendizado de máquina, o que é ligeiramente inferior ao gradient boosting. Este artigo tenta desenvolver um sistema de negociação de autoaprendizagem que toma decisões com base na experiência adquirida com a interação com o mercado.
EA com interface gráfica: Criação do painel (Parte I)
Apesar de muitos traders ainda preferirem negociar manualmente, há poucas hipóteses de fazer o trabalho sem automatizar as operações de rotina. O artigo mostra um exemplo em que é criado um EA multissímbolo de sinal para negociação manual.
Como analisar os trades do Sinal selecionado no gráfico
O serviço Sinais de negociação se desenvolve rapidamente. E como você está confiando seu dinheiro a um provedor do sinais, seria bom minimizar o risco de perder o depósito. Como lidar com essa selva de sinais de negociação? Como encontrar esse sinal que trará o lucro para você? O artigo propõe a criação de uma ferramenta para analisar visualmente o histórico de trades de sinais de negociação no gráfico do instrumento.
Como transferir a parte de cálculo de qualquer indicador para o código do EA
Existem vários motivos que justificam a transferência do código do indicador para o EA. Mas como avaliar os prós e contras desta abordagem? Este artigo propõe uma maneira de transferir o código do indicador para um EA. Além disso, são realizados vários experimentos para avaliar a velocidade de funcionamento do EA.
Melhoramos o trabalho com Painéis, adicionando transparência, alterando a cor do plano de fundo e herdando da CAppDialog/CWndClient
Continuamos a estudar o trabalho com a CAppDialog. Agora, aprenderemos a como definir a cor de fundo, de borda e de barra de título para o painel gráfico. Consideraremos passo a passo como adicionar transparência à janela do aplicativo ao movê-la no gráfico. Em seguida, analisaremos a criação de descendentes da CAppDialog ou da CWndClient e veremos novas sutilezas ao trabalhar com controles. Finalmente, olharemos de uma nova perspectiva os novos Projetos.
Visualização dos resultados de otimização pelo critério selecionado
No artigo, continuamos a desenvolver o aplicativo MQL para trabalhar com resultados de otimização que foi iniciado em artigos anteriores. Desta vez, veremos um exemplo em que podemos gerar uma tabela de melhores resultados após a otimização de parâmetros, especificando através da interface gráfica outro critério.
Construímos um ZigZag de osciladores. Exemplo de execução do trabalho segundo os termos de referência
O artigo apresenta a criação do indicador ZigZag de acordo com os termos de referência para um dos exercícios descritos no artigo "Como criar uma especificação de requisitos para solicitar um indicador". O indicador é construído com base em extremos determinados com a ajuda de um oscilador. O indicador suporta o uso de um dos seguintes osciladores: WPR, CCI, Chaikin, RSI, Stochastic Oscillator.
Como criar um painel gráfico de qualquer nível de complexidade
O artigo apresenta uma explicação detalhada de como criar um painel com base na classe CAppDialog e como adicionar controles ao painel. Ele fornece a descrição da estrutura do painel e um esquema, que exibe a herança de objetos. Neste artigo, você também aprenderá como os eventos são tratados e como eles são entregues aos controles dependentes. Exemplos adicionais mostram como editar os parâmetros do painel, como o tamanho e a cor do plano de fundo.
Redes Neurais Profundas (Parte V). Otimização Bayesiana de hiperparâmetros de uma DNN
O artigo considera a possibilidade de aplicar a otimização Bayesiana para os hiperparâmetros das redes neurais profundas, obtidas por diversas variantes de treinamento. É realizado a comparação da qualidade de classificação de uma DNN com os hiperparâmetros ótimos em diferentes variantes de treinamento. O nível de eficácia dos hiperparâmetros ótimos da DNN foi verificado nos testes fora da amostra (forward tests). As direções possíveis para melhorar a qualidade da classificação foram determinadas.
Gráfico de saldo multissímbolo no MetaTrader 5
O artigo mostra um aplicativo MQL de exemplo com uma interface gráfica em que gráficos multissímbolos de saldo e rebaixamento do depósito são exibidos com base nos resultados do último teste.
Sincronização de vários gráficos num instrumento em diferentes timeframes
Muitas vezes, para tomar decisões, no processo de negociação, é necessário analisar simultaneamente gráficos em vários timeframes. Ao mesmo tempo, há objetos de análise gráfica nos gráficos. Implementar os mesmos objetos em todos os gráficos é incômodo. Neste artigo, proponho automatizar a clonagem de objetos em gráficos.
Como criar uma Especificação de Requisitos para solicitar um indicador
Na maioria das vezes, a primeira etapa no desenvolvimento de um sistema de negociação é a criação de um indicador técnico, que pode identificar padrões favoráveis de comportamento do mercado. Um indicador desenvolvido de forma profissional pode ser encomendado no serviço Freelance. Neste artigo você aprenderá a criar uma Especificação de Requisitos apropriada, que o ajudará a obter o indicador desejado mais rapidamente.
Criando um feed de notícias personalizado para o MetaTrader 5
O artigo examina a possibilidade de criar um feed de notícias flexível, que oferece muitas opções para escolher o tipo de notícias e sua fonte. Além disso, ele mostra como você pode integrar uma API da Web ao terminal MetaTrader 5.
LifeHack para traders: "amassando" ForEach com os define (#define)
Passo intermediário para aqueles que ainda escrevem em MQL4, mas não conseguem migrar para MQL5. Continuamos a procurar oportunidades para escrever código em estilo MQL4. Desta vez, examinaremos a substituição de macros do pré-processador - #define.
O padrão Rompimento de Canal
As tendências de preços formam canais de preços que podem ser observados nos gráficos dos instrumentos financeiros. O rompimento do canal atual é um forte sinal de reversão de tendência. Neste artigo, eu sugiro uma maneira de automatizar o processo de encontrar esses sinais e ver se o padrão de rompimento de canal pode ser usado para criar uma estratégia de negociação.
Testador de estratégia personalizada com base em cálculos matemáticos rápido
O artigo descreve como criar um testador de estratégias personalizado e um analisador de corridas de otimização próprio. Depois de lê-lo, você vai entender como funciona o modo de cálculos matemáticos e o mecanismo de quadros, como preparar e fazer upload de seus próprios dados para cálculos e usar algoritmos eficientes para comprimi-los. Além disso, este artigo será de interesse para quem deseje saber maneiras de armazenar informações personalizadas num EA.
Estratégia de negociação "Momentum Pinball"
Neste artigo, continuamos a falar sobre a programação das estratégias de negociação descritas no livro de L. Raschke e L. Connors "Street Smarts: High Probability Short-Term Trading Strategies, devoted to testing of range limits by price". Desta vez, estudamos o sistema "Momentum Pinball": é descrita a criação de dois indicadores, um robô de negociação e um bloco de sinal com base nele.