Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa
No artigo, consideraremos a atualização em tempo real dos dados das séries temporais, bem como o envio de mensagens sobre o evento "Nova Barra" para o gráfico do programa de controle, a partir de todas as séries temporais de todos os símbolos, a fim de processar estes eventos nos programa. Para determinar se necessário atualizar séries temporais para símbolos e períodos inativos, usaremos a classe "Novo tick".
Trabalhando com séries temporais na biblioteca DoEasy (Parte 37): coleção de séries temporais - banco de dados de séries temporais para símbolos e períodos
Este artigo é dedicado à criação de uma coleção de séries temporais com base nos períodos gráficos especificados para todos os símbolos usados no programa. Criaremos uma coleção de séries temporais, os métodos para definir os parâmetros dessas séries e inicialmente as preencheremos com dados históricos.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 36): objeto das séries temporais de todos os períodos usados do símbolo
No artigo, veremos como combinar listas de objetos-barras para cada período usado no objeto da série temporal do símbolo. Consequentemente, teremos para cada símbolo um objeto pronto armazenando as listas de todos os períodos usados da série temporal.
Os projetos permitem que criar robôs de negociação lucrativos! Mas não é exatamente isso
Um programa grande começa com um arquivo pequeno que, por sua vez, gradualmente se torna maior, sendo preenchido com conjuntos de funções e objetos. A maioria dos desenvolvedores de robôs lida com esse problema por meio de arquivos de inclusão. Mas, o melhor é começar imediatamente a escrever os programas de negociação em projetos, pois isso é benéfico em todos os aspectos.
Previsão de séries temporais (parte 2): método de vetores de suporte por mínimos quadrados (LS-SVM)
O artigo estuda a teoria e a aplicação prática de um algoritmo de previsão de séries temporais com base no método de vetores de suporte, além disso, propõe sua implementação em MQL5 e fornece indicadores de teste e EAs. Embora este abordagem ainda não tenha sido implementada em MQL, em primeiro lugar, precisamos conhecer determinado modelo matemático.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo
Neste artigo, estamos lançando uma nova série de descrições de criação de bibliotecas DoEasy para criação simples e rápida de programas. Hoje começaremos a preparar a funcionalidade da biblioteca para acessar e trabalhar com dados de séries temporais de símbolos. Criaremos um objeto "Barra" que armazenará os dados básicos e avançados da barra da série temporal e colocaremos os objetos-barras na lista de séries temporais para facilitar a pesquisa e a classificação desses objetos.
Previsão de séries temporais (parte 1): decomposição do modo empírico (EMD)
O artigo estuda a teoria e a aplicação prática de um algoritmo de previsão de séries temporais com base na decomposição em modos empíricos, além disso, propõe sua implementação em MQL5 e fornece indicadores de teste e EAs.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXIV): ordens de negociação pendentes - exclusão de ordens, modificação de ordens/posições por condições
Neste artigo, concluiremos a descrição do conceito de solicitações de negociação pendentes e criaremos uma funcionalidade para excluir ordens pendentes e modificar ordens/posições de acordo com as condições definidas. Assim, teremos toda uma funcionalidade com a qual poderemos criar estratégias personalizadas simples, mais precisamente alguma lógica para o EA se comportar quando ocorrerem as condições especificadas pelo usuário.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXIII): solicitações de negociação pendentes, fechamento de posições por condições
Continuamos a trabalhar na funcionalidade da biblioteca para negociar usando solicitações pendentes. Nós já implementamos o envio de solicitações pendentes segundo condições para abrir posições e definir ordens pendentes. Hoje criaremos um recurso para fechamento parcial, total e por meio da posição oposta, tudo isso segundo condições.
Implementando OLAP na negociação (Parte 3): analisando cotações para desenvolver estratégias de negociação
Neste artigo, continuaremos a estudar a abordagem OLAP aplicada à negociação, bem como a expandir os recursos apresentados nos dois primeiros artigos. Desta vez, analisaremos cotações de maneira operacional. Formularemos e testaremos uma hipótese sobre estratégias de negociação baseadas em indicadores históricos agregados. Apresentaremos EAs para estudos de padrões de barras e negociação adaptativa.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXII): ordens de negociação pendentes, posicionamento de ordens por condições
Continuamos a criar funcionalidades que nos permitem negociar usando solicitações pendentes. Neste artigo criaremos um recurso para definir ordens pendentes por condições.
Abordagem econométrica para a busca de padrões de mercado: Autocorrelação, Mapas de Calor e Gráficos de Dispersão
O artigo apresenta um estudo extenso das características sazonais: autocorrelação, mapas de calor e gráficos de dispersão. O objetivo do artigo é mostrar que a "memória de mercado" é de natureza sazonal, na qual ela é expressa através da correlação maximizada de incrementos de ordem arbitrária.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXI): ordens de negociação pendentes, abertura de posições por condições
A partir deste artigo, criaremos um recurso que permite negociar através de solicitações pendentes de acordo com uma determinada condição: se atingirmos/ou ultrapassarmos uma determinada hora, se ultrapassarmos um lucro predeterminado ou se for registrado um evento de fechamento de posição por stop-loss.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXX): ordens de negociação pendentes, gerenciamento de objetos-ordens
No último artigo, criamos classes de objetos-ordens pendentes que correspondem ao conceito geral de objetos de biblioteca. Hoje, trataremos de classes que permitem gerenciar objetos de ordens pendentes.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIX): ordens de negociação pendentes, classes de objetos-ordens
Em artigos anteriores, verificamos a ideia de ordens de negociação pendentes. Uma ordem pendente é, em essência, uma ordem de negociação, mas, executada com base numa determinada condição. Hoje, criaremos classes completas de objetos-ordens pendentes, isto é, geraremos um objeto-ordem base com seus descendentes.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVIII): ordens pendentes de negociação - fechamento, exclusão, modificações
Este é o terceiro artigo sobre o conceito de ordens pendentes. Nele, concluiremos o teste de ordens pendentes de negociação, criaremos métodos para fechar posições, excluir ordens pendentes e modificar os parâmetros de posições e de ordens pendentes.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVII): trabalho com ordens de negociação - posicionamento de ordens pendentes
Neste artigo continuaremos a tratar do trabalho com ordens de negociação, implementaremos o posicionamento de ordens pendentes, corrigiremos erros encontrados no funcionamento da classe de negociação.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVI): trabalho com ordens de negociação pendentes - primeira implementação (abertura de posições)
No artigo, abordaremos o armazenamento de alguns dados no valor do número mágico de ordens e posições, e implementaremos ordens pendentes. Para examinar a ideia, criaremos a primeira ordem pendente de teste para abrir posições a mercado quando recebermos um erro do servidor requerendo aguardar e enviar uma segunda solicitação.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXV): processamento de erros retornados pelo servidor de negociação
Depois de enviarmos uma ordem de negociação para o servidor, não devemos assumir que o trabalho está concluído, uma vez que é necessário verificar quer os códigos de erro quer a ausência de erros. No artigo, veremos o processamento de erros retornados pelo servidor de negociação e prepararemos a base para a criação de ordens de negociação pendentes.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIV): classe básica de negociação, correção automática de parâmetros errados
No artigo, analisaremos um manipulador de parâmetros errôneos de uma ordem de negociação, finalizaremos a classe básica de negociação e também corrigiremos o funcionamento da classe de eventos de negociação - agora todos os eventos de negociação serão detectados corretamente nos programas.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIII): classe básica de negociação, controle de parâmetros válidos
Neste artigo, continuaremos a acompanhar o desenvolvimento da classe de negociação, criaremos um controle que encontre valores incorretos nos parâmetros da ordem de negociação e sonorizaremos eventos de negociação.
Explorando os Padrões Sazonais de Séries Temporais Financeiras com o Boxplot
Neste artigo, nós visualizaremos características sazonais de séries temporais financeiras usando diagramas Boxplot. Cada boxplot separado (ou diagrama de caixa) fornece uma boa visualização de como os valores são distribuídos ao longo do conjunto de dados. Os boxplots não devem ser confundidos com os gráficos de velas, embora possam ser visualmente semelhantes.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXII): classes de negociação - classe básica de negociação, controle de restrições
No artigo, começaremos a criar uma classe básica de negociação da biblioteca e dotaremos a primeira versão com uma funcionalidade de verificação de permissões inicial para realizar operações de negociação. Também expandiremos levemente os recursos e o conteúdo da classe básica de negociação.
Ampliando as funcionalidades do Construtor de Estratégia
Nos dois artigos anteriores, nós discutimos a aplicação dos padrões de Merrill a vários tipos de dados. Um aplicativo foi desenvolvido para testar as ideias apresentadas. Neste artigo, nós continuaremos trabalhando com o Construtor de Estratégia, para melhorar sua eficiência e implementar novos recursos e capacidades.
Criando um EA gradador multiplataforma (conclusão): diversificação como forma de aumentar a lucratividade
Nos artigos anteriores desta série, tentamos de várias maneiras criar um EA gradador mais ou menos rentável. Agora é a vez de tentarmos aumentar a lucratividade do EA por meio da diversificação. Nosso objetivo é obter o desejado lucro de 100% ao ano, com um rebaixamento máximo de saldo de 20%.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXI): classes de negociação - objeto básico de negociação multiplataforma
Neste artigo, iniciaremos uma nova seção da biblioteca, nomeadamente as classes de negociação, e consideraremos a criação de um único objeto básico de negociação para as plataformas MetaTrader 5 e MetaTrader 4. Tal objeto de negociação implicará que, ao enviar uma consulta ao servidor, para ele terão sido enviados os parâmetros da solicitação de negociação já verificados e corretos.
Desenvolvimento do Oscilador Pivô Médio: um novo Indicador para a Média Móvel Acumulada
Este artigo apresenta o Oscilador Pivô Médio (PMO), uma implementação da média móvel cumulativa (CMA) como um indicador de negociação para as plataformas MetaTrader. Em particular, nós introduzimos primeiro o Pivô Médio (PM) como um índice de normalização para as séries temporais que calcula a fração entre qualquer ponto de dados e o CMA. Em seguida, nós criamos o PMO como a diferença entre as médias móveis aplicadas a dois sinais de PM. Também são relatadas algumas experiências preliminares realizadas no símbolo EURUSD para testar a eficácia do indicador proposto, deixando um amplo espaço para considerações e melhorias adicionais.
Construtor de estratégia baseado nos padrões de Merill
No artigo anterior, nós consideramos a aplicação dos padrões de Merill a vários dados, como em valores de preço em um gráfico de par de moeda e de indicadores padrão do MetaTrader 5: ATR, WPR, CCI, RSI, entre outros. Agora, vamos tentar criar um conjunto para a construção de estratégias baseado nos padrões de Merill.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XX): criação e armazenamento de recursos de programas
No artigo, veremos como armazenar dados no código fonte de um programa e como criar arquivos de som e gráficos a partir dele. Muitas vezes, ao criar um programa, precisamos usar sons e imagens. Na linguagem MQL, existem várias maneiras de usar esse tipo de dados.
Analisador Sintático HTML com o curl
O artigo fornece a descrição de uma biblioteca simples para análise sintática (parser) de código HTML usando componentes de terceiros. Em particular, ela abrange as possibilidades de acessar dados que não podem ser recuperados usando os métodos HTTP GET e POST. Nós selecionaremos um site com páginas não muito extensas e tentaremos obter alguns dados interessantes dele.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XIX): classe de mensagens de biblioteca
No artigo, veremos uma classe para exibir mensagens de texto. Agora, vamos supor que temos suficientes mensagens de texto e devemos pensar em comoarmazená-las, exibi-las, editá-las em outro idioma e adicionar novos idiomas à biblioteca e alterná-los rapidamente.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVIII): interatividade de objetos-conta e de outros objetos da biblioteca
Neste artigo, veremos o funcionamento do objeto-conta no novo objeto base de todos os objetos da biblioteca, o aprimoramento do objeto base CBaseObj, o teste da configuração de parâmetros monitorados, bem como a obtenção de eventos para qualquer objeto da biblioteca.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVII): interatividade de objetos de biblioteca
Hoje, concluiremos a lógica da funcionalidade do objeto básico de todos os objetos de biblioteca, o que permitirá que qualquer objeto de biblioteca criado com base nela interaja com o usuário. Por exemplo, podemos definir o tamanho máximo aceitável de spread para abrir uma posição, bem como o nível de preço que intersetado causará que nosso programa receba um evento do objeto-símbolo sobre um sinal indicando o tamanho do spread e o preço que cruza o nível controlado.
Bova abordagem para interpretar a divergência clássica e oculta. Parte II
Neste artigo, examinaremos criticamente a divergência clássica e analisaremos a eficácia de vários indicadores. Também oferecemos variantes de filtragem para aumentar a precisão da análise e continuar a considerar soluções não padrão. Como resultado, criaremos uma ferramenta atípica para resolver a tarefa em questão.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVI): eventos de coleção de símbolos
No artigo, criaremos uma nova classe base - para todos os objetos da biblioteca - que adicionará funcionalidade de evento a todos os seus herdeiros, bem como uma classe para rastrear eventos de uma coleção de símbolos com base numa classe base nova. Além disso, alteraremos as classes e os eventos de conta para operarem sob a nova funcionalidade do objeto base.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XV): coleção de objetos-símbolo
No artigo, consideramos a criação de uma coleção de símbolos com base no objeto-símbolo abstrato básico criado no último artigo. Os descendentes de símbolos abstratos vão esclarecer os dados do símbolo e definir a disponibilidade das propriedades básicas do objeto-símbolo no programa. Esses objetos-símbolos vão ser distinguidos por sua afiliação a grupos (status do símbolo).
Estudo dos padrões de Merrill
Neste artigo, nós examinaremos o modelo de padrões de Merrill e tentaremos avaliar qual a sua relevância atual. Para isso, nós desenvolveremos uma ferramenta para testar tais padrões e aplicar o modelo a vários tipos de dados, como preços de fechamento, máxima e mínima, além dos osciladores.
Biblioteca para desenvolvimento fácil e rápido dos programas MetaTrader (parte XIV): O objeto Símbolo
Neste artigo, nós criaremos a classe de objeto símbolo que deve ser o objeto base para a criação da coleção de símbolos. A classe nos permitirá os obter dados sobre os símbolos necessários para futuras análises e comparações.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XIII): Eventos do objeto Conta
O artigo considera trabalhar com os eventos da conta para monitorar alterações importantes nas propriedades da conta que afetam a negociação automatizada. Nós já implementamos algumas funcionalidades para monitorar os eventos da conta no artigo anterior ao desenvolver a coleção de objetos da conta.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XII): Implementação da classe de objeto "Conta" e da coleção de objetos da conta
No artigo anterior, nós definimos os eventos de encerramento de posição para a MQL4 na biblioteca e nos livramos das propriedades de ordem não utilizadas. Aqui, nós vamos considerar a criação do objeto Conta, desenvolver a coleção de objetos da conta e preparar a funcionalidade para monitorar os eventos da conta.