Expert Advisor universal: indicador CUnIndicator e trabalho com ordens pendentes (parte 9)
O artigo descreve o trabalho com indicadores através da classe universal do CUnIndicator. Além disso, consideram-se novas formas de trabalhar com ordens pendentes. Observe que, a partir deste ponto, a estrutura do projeto do CStrategy muda significativamente. Agora todos os arquivos são colocados num único diretório para a conveniência dos usuários.
Canal universal com GUI
Todos os indicadores de canais apresentam três linhas, isto é: central, superior e inferior. A linha central, quanto à sua plotagem, é idêntica à média móvel. Na maioria dos casos, para a plotagem do canal, é utilizada a média móvel. As linhas superior e inferior são equidistantes da linha central. Esta distância pode ser determinada simplesmente em pontos, em porcentagem do preço (indicador Envelopes), pode ser usado o valor do desvio padrão (bandas de Bollinger), pode ser empregado o valor do indicador de ATR (canal Keltner).
Desenhando emissões de indicador no MQL5
Neste artigo, consideraremos a emissão dos indicadores - uma nova abordagem para pesquisa de mercado. O cálculo da emissão é baseado na intersecção de diferentes indicadores: mais e mais pontos com diferentes cores e formas aparecem após cada tick. Eles formam vários clusters na forma de uma nebulosa, nuvens, pistas, linhas, arcos, etc. Estas formas podem ajudar a detectar as molas e forças invisíveis que afetam o movimento dos preços do mercado.
Redes neurais de maneira fácil (Parte 13): normalização em lote
No artigo anterior, começamos a examinar métodos para melhorar a qualidade do treinamento da rede neural. Neste artigo, proponho continuar este tópico e considerar uma outra abordagem, em particular a de normalização de dados em lote.
Interfaces Gráficas V: A Barra de Rolagem Vertical e Horizontal (Capítulo 1)
Nós ainda estamos discutindo o desenvolvimento da biblioteca para a criação de interfaces gráficas no ambiente do MetaTrader. No primeiro artigo da quinta parte da série, nós vamos escrever as classes para as criação da barra de rolagem vertical e horizontal.
Expert Advisor Multiplataforma: Stops
Este artigo discute uma implementação dos níveis de stop em um expert advisor para torná-lo compatível com as duas plataformas - MetaTrader 4 e MetaTrader 5.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte X): Compatibilidade com a MQL4 - Eventos de abertura de posição e ativação de ordens pendentes
Nos artigos anteriores, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na nona parte, nós começamos a melhorar as classes da biblioteca para trabalhar com a MQL4. Aqui nós continuaremos melhorando a biblioteca para garantir sua total compatibilidade com a MQL4.
Sistema de notificações de voz de eventos e sinais de negociação
Hoje em dia, os assistentes de voz ocupam um papel proeminente na vida humana, seja um navegador, um mecanismo de busca por voz ou um tradutor. Por isso, neste artigo, tentarei desenvolver um sistema simples e compreensível de notificações de voz para diferentes eventos, condições de mercado ou sinais de sistemas de negociação.
Expressões regulares para traders
As expressões regulares são uma linguagem especial para manipulação de textos de acordo com uma regra definida, às vezes, chamada de padrão ou máscara de expressão regular. Este artigo mostrará como manipular o relatório de negociação usando a biblioteca RegularExpressions para MQL5 e demostrará seus resultados de otimização.
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.
Como escrever um cliente nativo Twitter para MetaTrader 4 e MetaTrader 5 sem usar DLL
Quer receber tweets ou postar seus sinais de negociação no Twitter? Você já não precisará procurar soluções, já que nesta série de artigos, veremos como trabalhar com o Twitter sem usar uma DLL. Juntos implementaremos a Tweeter API usando MQL. No primeiro artigo, começaremos com os recursos de autenticação e autorização da Twitter API.
Indicadores personalizados e infográficos no CCanvas
O artigo considera novos tipos de indicadores com uma implementação estrutural mais complexa. Ele também descreve o desenvolvimento de indicadores do tipo pseudo-3D e infográficos dinâmicos.
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.
Guia Prático MQL5: Processamento de Eventos Personalizados do Gráfico
Este artigo considera os aspectos de design e desenvolvimento de eventos personalizados do gráfico no ambiente em MQL5. Um exemplo de uma abordagem para a classificação dos eventos também podem ser encontrados aqui, bem como um código de programação para uma classe de eventos e uma classe de tratamento de eventos personalizados.
WebSocket para o MetaTrader 5: Usando a API do Windows
Neste artigo vamos usar WinHttp.dll com o intuito de criar um cliente WebSocket para os programas MetaTrader 5. Em última instância, o cliente deve ser implementado como uma classe e testado em interação com o WebSocket API da Binary.com.
Rastreamento, Depuração e Análise Estrutural de Código Fonte
O complexo inteiro de problemas de criação de uma estrutura de um código executado e seu rastreamento pode ser resolvido sem muitas dificuldades. Esta possibilidade apareceu no MetaTrader 5 devido a um novo recurso da linguagem MQL5 - criação automática de variáveis de tipo complexo de dados (estruturas e classes) e sua eliminação quando fora do escopo local. O artigo contém a descrição da metodologia e a ferramenta pronta para uso.
Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)
Na última parte da série de artigos sobre o mecanismo de negociação CStrategy, vamos considerar a operação simultânea de vários algoritmos de negociação, aprenderemos a carregar estratégias de arquivos XML, e apresentaremos um painel simples para selecionar Expert Advisors partir de um único módulo executável e gerenciar os seus modos de negociação.
Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors
Este artigo aborda principalmente as classes CExpertAdvisor e CExpertAdvisors, que servem como contêiner para todos os outros componentes descritos nesta série de artigos sobre expert advisors multiplataforma.
OOP no MQL5 por exemplo: Processando os avisos e os códigos de erro
O artigo descreve um exemplo de criação de classe para trabalho com os códigos de retorno do servidor de negócio e todos os erros que ocorrem durante a execução do programa MQL. Leia o artigo e você aprenderá como trabalhar com classes e objetos no MQL5. Ao mesmo tempo, esta é uma ferramenta conveniente para manipular erros; e você ainda pode mudar esta ferramenta de acordo com suas necessidades específicas.
Implementação prática dos filtros digitais no MQL5 para principiantes
A ideia da filtragem de sinal digital foi amplamente discutida em tópicos de fóruns sobre a construção dos sistemas de negócio. E seria imprudente não criar um código padrão de filtros digitais no MQL5. Neste artigo, o autor descreve a transformação de um simples código do indicador SMA em seu artigo "Indicadores personalizados no MQL5 para iniciantes" em um código do mais complicado e universal filtro digital. Este artigo é uma sequência lógica do artigo anterior. Ele também fala como substituir o texto no código e como corrigir erros de programação.
Interfaces Gráficas IX: Os Controles Barra de Progresso e Gráfico de Linha (Capítulo 2)
O segundo capítulo da parte nove é dedicado aos controles barra de progresso e gráfico de linha. Como sempre, teremos exemplos detalhados para revelar como esses controles podem ser utilizados nas aplicações MQL personalizadas.
Interfaces gráficas VII: O Controle Tabela (Capítulo 1)
A sétima parte da série interfaces gráficas no MetaTrader lida com três tipos de tabelas: tabela com o rótulo de texto, tabela com a caixa de edição e a tabela renderizada. Outros controles importantes e frequentemente utilizados são as abas/guias que lhe permitem exibir/ocultar os grupos de outros controles e desenvolver uma interfaces mais compacta em suas aplicações MQL.
Indicadores múltiplos em um gráfico (Parte 02): Primeiros experimentos
No artigo anterior, múltiplos indicadores em um gráfico , apresentei os conceitos e bases para você usar múltiplos indicadores em um gráfico. Aqui irei apresentar e dissecar o código fonte.
LifeHack para traders: otimização "silenciosa" ou traço da distribuição de negociações
Análise do histórico de negociação e construção de gráficos HTML de distribuição de resultados de negociação, dependendo do momento da entrada no mercado. Os gráficos são exibidos em três seções, isto é: por horas, dias, semanas e meses.
Interfaces Gráficas X: Caixa de Edição de Texto, Slider de Imagens e Controles Simples (build 5)
Este artigo irá considerar novos controles: A Caixa de Edição de Texto, o Slider de Imagem, bem como os controles simples adicionais: Rótulo de Texto e Imagem. A biblioteca continua a crescer, e, além da introdução de novos controles, aqueles que foram criados anteriormente também estão sendo melhorados.
Surpreenda seus clientes MQL5 com um coquetel prático de tecnologias!
O MQL5 fornece programadores com um conjunto muito completo de funções e IPA baseado em objetos graças aos quais eles podem fazer tudo o que quiserem dentro do ambiente MetaTrader. No entanto, Tecnologia Web é uma ferramenta extremamente versátil hoje em dia que pode vir para o resgate em algumas situações quando você precisa fazer algo muito específico, seja para surpreender seus clientes com algo diferente ou simplesmente por você não ter tempo suficiente para dominar uma parte específica da Biblioteca Padrão MT5. O exercício de hoje o leva através de um exemplo prático de como você pode gerenciar a duração de desenvolvimento, ao mesmo tempo que você também cria um coquetel tecnológico incrível.
Guia prático do MQL5: Desenvolvendo um Consultor Especialista multi-moeda com um número ilimitado de parâmetros
Neste artigo, criaremos um padrão que utiliza um único conjunto de parâmetros para otimização do sistema de negociação, enquanto permite um número ilimitado de parâmetros. A lista de símbolos será criada no arquivo de texto padrão (*.txt). Os parâmetros de entrada para cada símbolo também serão armazenados nos arquivos. Desta forma poderemos ser capazes de contornar a restrição do terminal sobre o número de parâmetros de entrada de um Expert Advisor.
Aprendendo MQL5 do iniciante ao profissional (Parte I): Comecemos a programar
Este artigo é uma introdução a uma série completa de artigos sobre programação. Aqui supomos que o leitor nunca teve contato com programação antes. Por isso, começo pelo básico, com nível de conhecimento de programação: iniciante absoluto.
Gráficos na biblioteca DoEasy (Parte 85): coleção de objetos gráficos, adicionamos recém-criados
Neste artigo, finalizaremos a criação das classes herdeiras da classe abstrata do objeto gráfico e iniciaremos a implementação do armazenamento desses objetos na classe-coleção. Em particular, criaremos a funcionalidade para adicionar à classe-coleção objetos gráficos padrão recém-criados.
Criando um Consultor Especialista, que negocia em um número de instrumentos
O conceito da diversificação de ativos nos mercados financeiros é bastante antigo e sempre atraiu negociantes iniciantes. Neste artigo, o autor propõe uma abordagem maximamente simples para a construção de um Expert Advisor de moeda múltipla, para uma introdução inicial a esta direção das estratégias de negócio.
Guia prático do MQL5: Desenvolvendo uma estrutura para um sistema de negócios baseado na estratégia de tela tripla
Nesse artigo, desenvolveremos uma estrutura para um sistema de negócios baseado na estratégia de tela tripla no MQL5. O Consultor Especialista não será desenvolvido do zero. Ao invés disso, simplesmente modificaremos o programa do artigo anterior "Guia prático do MQL5: Usando indicadores para definir condições de negócios em Consultores Especialistas" que já servem substancialmente ao nosso propósito. Então o artigo também demonstrará como você pode modificar facilmente padrões de programas já prontos.
Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2)
O primeiro capítulo desta série foi sobre os botões simples e multifuncionais. O segundo artigo se dedicará aos grupos de botões interconectados entre si, que permitirão a criação dos controles, quando um usuário puder selecionar uma das opções a partir de um determinado conjunto (grupo).
Conselhos de um programador profissional (Parte I): Armazenamento, depuração e compilação de códigos Trabalho com projetos e registros
Conselhos de um programador profissional sobre métodos, técnicas e ferramentas auxiliares para tornar a programação mais fácil.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte VIII): Eventos de modificação de ordens e posições
Nos artigos anteriores, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na sétima parte, nós adicionamos o monitoramento da ativação de ordens StopLimit e preparamos a funcionalidade para o monitoramento de outros eventos envolvendo ordens e posições. Neste artigo, nós desenvolveremos a classe para monitorar os eventos de modificação de ordens e posições.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XI). Compatibilidade com a MQL4 - Eventos de encerramento de posição
Nós continuamos com o desenvolvimento de uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na décima parte, nós retomamos nosso trabalho sobre a compatibilidade da biblioteca com a MQL4 e definimos os eventos de abertura de posições e ativação de ordens pendentes. Neste artigo, nós definiremos os eventos de encerramento de posições e nos livraremos das propriedades de ordem não utilizadas.
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.
LifeHack para traders: relatório comparativo de vários testes
No artigo, é tratada a execução simultânea do teste de Experts em quatro símbolos diferentes. A comparação final dos quatro relatórios respetivos é realizada numa tabela, como seria feito durante a seleção de produtos numa loja. Uma vantagem adicional consiste na geração automática de gráficos de distribuição para cada símbolo.
Modelagem 3D em MQL5
As séries temporais são um sistema dinâmico em que os valores de uma variável aleatória chegam de forma consistente, isto é, de forma contínua ou em intervalos. A transição para a análise 3D de mercado fornece um novo olhar sobre os complexos processos e fenômenos de interesse para os investigadores. Este artigo descreve as funções de visualização para representações em 3D de dados bidimensionais.
Perceptron Multicamadas e o Algoritmo Backpropagation (Parte II): Implementação em Python e Integração com MQL5
Um pacote python foi disponibilizado com o proposito de trazer integração com MQL, com isso abre-se as portas para enumeras possibilidades como, exploração de dados, criação e uso de modelos de machine learning. Com essa integração nativa entre MQL5 e Python, abriu-se as portas para muitas possibilidades de uso, podemos construir de uma simples regressão linear a um modelo de aprendizado profundo. Vamos entender como instalar e preparar o ambiente de desenvolvimento e usar algumas das bibliotecas de aprendizado de maquina.
Documentação gerada automaticamente para o código MQL5
A maioria dos codificadores Java estará familiarizada com a documentação gerada automaticamente com o JavaDocs. A ideia é adicionar comentários no código de uma maneira semi-estruturada que possam ser extraídos em um arquivo de ajuda fácil de navegar. O mundo do C++ também possui vários geradores automáticos de documentação, com os dois líderes sendo o SandCastle da Microsoft e o Doxygen. O artigo descreve o uso do Doxygen para criar o arquivo de ajuda HTML a partir dos comentários estruturados no código MQL5. O experimento funcionou muito bem, acredito que a documentação de ajuda que o Doxygen produz do código MQL5 irá agregar uma grande quantidade de valor.