Este artigo nos leva a uma nova direção no desenvolvimento de EAs, indicadores e scripts no MQL4 e MQL5. No futuro, este paradigma de programação gradualmente se tornará uma padrão base para todos os negociantes na implementação de EAs. Usando o paradigma de programação baseada em autômatos, os desenvolvedores no MQL5 e MetaTrader 5 estarão próximos de criar uma nova linguagem - MQL6 - e uma nova plataforma - MetaTrader 6.
A maioria dos desenvolvedores precisa ter seu código protegido. Este artigo apresentará alguns meios diferentes para proteger o software MQL5 - ele apresenta métodos para fornecer recursos de licenciamento para Scripts do MQL5, Exper Advisors e Indicadores. Ele cobre a proteção de senha, geradores de chave, licença de conta, avaliação de limite de tempo e proteção remota usando chamadas MQL5-RPC.
Este artigo descreve o framework MQL5-RPC que possibilita Chamadas de procedimento remoto do MQL5. Ele começa com o básico do XML-RPC, implementação do MQL5 e segue dois exemplos de utilização real. O primeiro exemplo é usando um serviço web externo e o segundo é um cliente para simples serviço XML-RPC ATC 2011 Analyzer. Se você está interessado em como implementar e analisar estatísticas diferentes do ATC 2011 em tempo real, este artigo é para você.
Neste artigo, continuaremos a estudar os princípios de funcionamento com a Internet usando requisições HTTP e troca de informações com o servidor. Ele descreve as novas funções da classe CMqlNet, métodos de envio de informação de formulários e envio de arquivos usando requisições POST, bem como a autorização em websites sob seu login, usando Cookies.
Usar a abordagem orientada a objeto no MQL5 simplifica a criação de Expert Advisors de várias moedas/vários sistemas/vários períodos de tempo. Imagine seu único EA comercializar simultaneamente em várias dezenas de estratégias comerciais, em todos os instrumentos disponíveis, e em todos os possíveis prazos! Além disso, a EA é facilmente testada no dispositivo de teste e, para todas as estratégias, incluídas na sua composição, existe um ou vários sistemas de trabalho de gestão de dinheiro.
Neste artigo eu apresentei diferentes métodos de interação entre o código MQL5 e o código C# gerenciado. Eu também ofereci vários exemplos de como organizar estruturas MQL5 contra C# e como invocar funções de DLL exporta em scripts MQL5. Eu acredito que forneci exemplos que podem servir como uma base para pesquisas futuras sobre escrever DLLs em código gerenciado. Este artigo também abre portas para o MetaTrader usar muitas bibliotecas que já estão implementadas em C#.
O artigo examina o mecanismo de criação de um módulo DLL, usando a linguagem de programação popular de ObjectPascal, dentro de um ambiente de programação Delphi. Os materiais, fornecidos neste artigo, são designados a focar principalmente em programadores iniciantes, que estejam trabalhando com problemas que rompem os limites da linguagem de programação embutidos do MQL5, conectando os módulos DLL externos.
Este artigo foca em alguns recursos de otimização que se abrem quando pelo menos alguma consideração é dada ao hardware subjacente em que kernel OpenCL é executado. Os valores obtidos estão longe de serem os valores de teto, mas eles mesmos sugerem que tendo os recursos existentes disponíveis aqui e agora (OpenCL API como implementado pelos desenvolvedores do terminal não permite controlar alguns parâmetros importantes para otimização - particularmente, o tamanho do grupo de trabalho), o ganho de desempenho ao longo da execução do programa anfitrião é muito importante.
O artigo descreve como implementar a Comunicação Interprocesso entre os terminais do cliente MetaTrader 5 usando pipes nomeados. Para o uso de pipes nomeados, a classe CNamedPipes é desenvolvida. Para o teste de seu uso e medir a conexão por ele, o indicador de tick, o servidor e os scripts do cliente são apresentados. O uso de pipes nomeados é suficiente para cotas em tempo real.
Este artigo descreve os princípios do trabalho com a Internet por meio do uso de requisições HTTP e troca de dados entre terminais, usando um servidor intermediário. Uma classe de biblioteca MqlNet é apresentada para trabalho com recursos de internet no ambiente MQL5. Preços de monitoramento de diferentes corretores, mensagens de câmbio com outros negociadores sem sair do terminal, busca por informação na Internet - estes são apenas alguns exemplos, analisados neste artigo.
Se a linguagem MQL5 funcional não é suficiente para o cumprimento de tarefas, um programador MQL5 tem que usar ferramentas adicionais. Ele \ ela tem que passar para outra linguagem de programação e criar uma DLL intermediária. O MQL5 tenha a possibilidade de apresentar vários tipos de dados e transferí-los à API mas, infelizmente o MQL5 não pode resolver a questão levando em consideração a extração de dados do ponteiro aceito. Neste artigo vamos pontuar todos os "i"s e mostrar mecanismos simples de transferência e trabalho tipos complexos de dados.
Muitos desenvolvedores encontram o mesmo problema - como chegar ao sandbox do terminal sem utilizar DLLs arriscados. Um dos métodos mais fáceis e seguros é utilizar pipes nomeados padrão que funcionam como operações de arquivo normais. Eles permitem que você organize a comunicação cliente-servidor interprocessadores entre programas. Dê uma olhada em exemplos práticos em C++ e MQL5 que incluem servidor, cliente, a troca de dados entre eles e avaliação de desempenho.
Este artigo é uma continuação da série de artigos sobre redes neurais profundas. Aqui, nós vamos considerar a seleção de amostras (remoção de ruído), reduzindo a dimensionalidade dos dados de entrada e dividindo o conjunto de dados nos conjuntos de train/val/test durante a preparação dos dados para treinar a rede neural.
Este artigo descreve uma nova abordagem para cobertura de posições e desenha uma linha nos debates entre os usuários do MetaTrader 4 e MetaTrader 5 sobre esta matéria. Os algoritmos que fazem essa cobertura confiável são descritos em termos leigos e ilustrado com gráficos e diagramas simples. Este artigo é dedicado ao novo painel HedgeTerminal, que é essencialmente um terminal de negociação com todos os recursos dentro do MetaTrader 5. Usando HedgeTerminal e a virtualização das operações de negociação que ele oferece, posições podem ser gerenciados de forma semelhante ao MetaTrader 4.
No artigo, propõe-se um emulador simples do ambiente de negociação MetaTrader 5 para o MetaTrader 4. Com sua ajuda é possível transferir e adaptar as classes de negociação da biblioteca padrão. Como resultado, os EAs gerados no Assistente do MetaTrader 5 podem ser compilados e executados sem alterações no MetaTrader 4.
No artigo é estudada a criação de documentação para um código em linguagem MQL5, partindo da automação de tags (marcação). Além disso, quanto ao programa Doxygen, é descrito seu funcionamento, adequada configuração e obtenção de resultados em vários formatos (HTML, HtmlHelp e PDF).
Este artigo discute a criação de Expert Advisors usando a linguagem gráfica UML, que é usada para modelagem visual de sistemas de software orientados a objeto. A principal vantagem dessa abordagem é a visualização do processo de modelagem. O artigo contém um exemplo que mostra a modelagem da estrutura e propriedades de um Expert Advisor usando o Software Ideas Modeler.
Trabalhar com dados se tornou a tarefa principal para o software moderno - tanto para aplicativos autônomos quanto para os de rede. Para solucionar esse problema um software especializado foi criado. São sistemas de gerenciamento de banco de dados (DBMS) que podem estruturar, sistematizar e organizar dados para seu armazenamento e processamento. Quanto aos negócios, a maioria dos analistas não utiliza bancos de dados em seu trabalho. Mas existem tarefas para as quais essa solução teria que ser útil. Este artigo fornece um exemplo de indicadores que podem salvar e carregar dados da partir de bancos de dados com ambas arquiteturas cliente-servidor ou arquivo-servidor.
Hoje é difícil encontrar um computador que não tenha um WEB-browser instalado. Por um longo tempo os browsers têm evoluído e melhorado. Este artigo discute o modo simples e seguro de criar gráficos e diagramas, com base nas informações obtidas a partir do terminal de cliente MetaTrader 5 para exibí-los no navegador.
O artigo descreve uma forma de programação sem usar templates, mas mantendo o estilo de programação inerente a eles. Ele nos diz sobre a implementação de templares usando métodos personalizados e possui um script pronto para uso anexo para criação de código com base de templates especificados.
A exibição visual usando gráficos desempenha um importante papel na exploração e estudo de padrões regulares. Nas populares linguagens de programação entre a comunidade científica, tais como R e Python, a função especial plot é destinada para visualização. Com ela você pode desenhar linhas, gráficos de dispersão e histogramas para visualizar padrões. Em linguagem MQL5 você pode fazer a mesma coisa usando a classe CGraphics.
Este artigo é destinado aos desenvolvedores interessados em usar SQL em seus projetos. Ele explica as funcionalidades e vantagens do SQLite. O artigo não exige conhecimentos especiais de funções SQLite, mas é interessante um conhecimento mínimo de SQL.
Este artigo cobre os detalhes da interação entre o MetaTrader 5 e o pacote matemático MatLab. Ele mostra o mecanismo da conversão de dados, o processo de desenvolvimento de uma biblioteca universal para interagir com o desktop MatLab. Ele também cobre o uso do DLL gerado pelo ambiente MatLab. Este artigo é destinado a leitores experientes que conhecem C++ e MQL5.
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.
Agora, não muitos desenvolvedores lembram como escrever um simples DLL e quais são os recursos especiais da diferente ligação do sistema. Usando vários exemplos, vou tentar mostrar todo o processo da criação de um simples DLL em 10 minutos, bem como discutir alguns detalhes técnicos da nossa implementação de ligação. Mostrarei o processo passo-a-passo da criação de DLL no Visual Studio com exemplos de troca de diferentes tipos de variáveis (números, arrys, strings, etc.). Além disso, explicarei como proteger seu terminal do cliente de travamentos nos DLLs personalizados.
Este artigo discute como os níveis de stop personalizados podem ser configurados em um expert advisor multiplataforma. Ele também discute um método fortemente relacionado ao assunto na qual envolve a possibilidade de definir a evolução do nível de stop ao longo do tempo.
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.
Este artigo considera novas capacidades do pacote darch (v.0.12.0). Contém uma descrição do treinamento de redes neurais profundas com diferentes tipos de dados, diferentes estruturas e sequências de treinamento. Os resultados do treino estão incluídos.
As tecnologias baseadas em nuvem estão se tornando mais populares. À nossa disposição temos serviços de armazenamento pagos ou gratuitos. Mas será que é possível usá-los na negociação? Este artigo apresenta uma tecnologia para intercâmbio de dados entre terminais usando serviços de armazenamento em nuvem.
O segundo artigo da série sobre redes neurais profundas considerará a transformação e seleção dos preditores durante o processo de preparação de dados para treinar um modelo.
A oitava parte do artigo apresenta a descrição da classe CSymbol, que é um objeto especial que fornece acesso a qualquer instrumento de negociação. Quando usada dentro de um Expert Advisor, a classe fornece um amplo conjunto de propriedades do símbolo, permitindo simplificar a programação do Expert Advisor e expandir a sua funcionalidade.
Este artigo aborda os principais princípios estabelecidos nos algoritmos evolutivos, suas variedades e características. Vamos fazer uma experiência com um Expert Advisor simples, usado como exemplo para mostrar os benefícios do sistema de negociação a partir da otimização. Também iremos considerar programas de software que implementam otimizações genéticas, evolutivas, entre outros, fornecendo exemplos de aplicação ao otimizar um conjunto preditor e os parâmetros do sistema de negociação.
Esta série de artigos continua a explorar as redes neurais profundas (RNP), que são usadas em muitas áreas de aplicação, incluindo a negociação. Serão exploradas aqui novas dimensões deste tema juntamente com o teste de novos métodos e ideias usando experiências práticas. O primeiro artigo da série é dedicado a preparar os dados para a RNP (DNN).
No artigo, é discutida a criação de um gerenciador de ordens para um EA de negociação multiplataforma. O gerenciador de ordens é responsável pela abertura e fechamento de ordens ou posições efetuadas pelo Expert Advisor, bem como pela manutenção de seus registros independentes, e estará disponível para ambas as versões do terminal.
Este artigo discute a implementação de vários métodos de filtragem de tempo de um Expert Advisor multiplataforma. As classes de filtro de tempo são responsáveis por verificar se um determinado momento corresponde a uma determinada configuração de tempo definida.
Neste artigo, falaremos sobre a implementação do controle de capital num EA multiplataforma. As classes de controle de capital são responsáveis pelo cálculo do tamanho do lote, que o EA usa para entrar na próxima transação.
No artigo, são discutidas as classes CSignal e CSignals, que serão usadas em Expert Advisors multiplataforma. Além disso, serão examinadas as diferenças entre MQL4 e MQL5 quanto à organização de dados necessários para avaliar os sinais de negociação obtidos. O resultado será um código compatível com os compiladores das duas versões.
Este artigo foca sobre as especificidades de escolha, o pré-condicionamento e avaliação das variáveis de entrada (preditoras) para uso em modelos de aprendizagem da máquina. Novas abordagens e oportunidades de análises preditoras profundas e suas influências no possível sobre-ajuste (overfitting) dos modelos serão consideradas. O resultado global do uso de modelos, em grande parte, depende do resultado desta etapa. Vamos analisar dois pacotes, oferecendo abordagens novas e originais para a seleção dos preditores.
Este artigo apresenta um método alternativo de criação de GUI (Interface Gráfica do Usuário) baseado em layouts e containers, usando um gerenciador de layout - a classe CBox. A classe CBox é um controle auxiliar que atua como um container para controles essenciais em um painel de GUI. Ele pode gerar o design gráfico dos painéis facilmente, e, em alguns casos, reduzir o tempo de codificação.
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.