Discussão do artigo "Dados de mercado sem intermediários: conectando MetaTrader 5 à MOEX via ISS API"
obrigado pelo artigo, muito informativo e educativo - ainda estou lendo....
Não tive tempo de ler e digerir o artigo inteiro antes do trabalho.... Vou continuar - desculpe se este tópico for discutido mais adiante - é possível negociar sem um corretor no MT 5 com registro no MOESK - ou seja, na aplicação prática, um corretor deve estar conectado?
Como será a conexão organizacional entre a bolsa - corretora - MT 5 - cliente?
Isso ocorre no contexto do acesso rápido aos dados da bolsa e da negociação por meio do MT 5.
Também no contexto deste tópico, em que uma pessoa escreveu um aplicativo dedicado para acelerar o trabalho com a bolsa e a negociação.
Ou seja, como negociar com ela por meio de serviços de API, como interagir com um corretor?
Talvez esse tópico deva ser desenvolvido em um artigo separado, apenas com esclarecimentos e explicações adicionais sobre os dados do artigo publicado?)
- 2025.01.26
- prostotrader
- www.mql5.com
Obrigado pelo artigo, muito informativo e esclarecedor - ainda estou lendo....
Não tive tempo de ler e digerir o artigo inteiro antes do trabalho.... Vou continuar - desculpe se esse tópico for discutido mais adiante - é possível negociar sem um corretor no MT 5 com registro no MOESK - ou seja, na aplicação prática, um corretor deve estar conectado?
Como será a conexão organizacional entre a bolsa - corretora - MT 5 - cliente?
Isso ocorre no contexto do acesso rápido aos dados da bolsa e da negociação por meio do MT 5.
Também no contexto deste tópico, em que uma pessoa escreveu um aplicativo dedicado para acelerar o trabalho com a bolsa e a negociação.
Ou seja, como negociar com ela por meio de serviços de API, como interagir com um corretor?
Talvez esse tópico deva ser desenvolvido em um artigo separado, apenas com mais esclarecimentos e explicações sobre os dados do artigo publicado...).
Não há uma maneira específica de negociar por meio da API do ISS. O início do artigo lista alguns (mas não todos) protocolos que a bolsa oferece para negociação - é claro, não de graça. Você pode ler sobre seus recursos no site da própria bolsa. Eles podem ser conectados ao MT5 de diferentes maneiras - esse é um grande trabalho separado. Suponho que esse tipo de artigo poderia ser escrito por alguém que já esteja envolvido na programação de bolsas, mas, por enquanto, optei pela ISS.
Se você precisar de algo próximo a HFT, provavelmente será melhor escrever seu próprio software (pelo menos uma biblioteca), porque o modelo de evento do MT5 não permite que você receba dados em tempo real (ou seja, na forma de um "push" na iniciativa da bolsa, não um "pool" em loop do MT5, mas acho que vi a API da bolsa em soquetes da Web em algum lugar - não entrei em detalhes).
A maneira esperada de usar o pacote atual é processar os dados da bolsa no MT5 com a ajuda dos índices disponíveis e rejeitar estratégias/otimizar os Expert Advisors em símbolos personalizados. Com base nessas informações, é possível negociar em terminais de outras corretoras.
Em outras palavras, é necessário ter uma corretora ou conexão com a bolsa por meio de outros protocolos (API) para negociar.
A opção mais simples é trocar ferramentas no MT5 de uma corretora, mas não há escolha aqui (agora).Uma pequena nuance, omitida no artigo.
Se o horário do servidor do seu servidor MT5 for diferente do horário de Moscou e ele tiver que analisar os dados da bolsa de valores e do seu corretor juntos, todos os valores de data e hora da bolsa de valores (em cotações, ticks etc.) deverão ser corrigidos para a diferença de fuso horário. Por exemplo, para o servidor da Europa Central com o horário de inverno atual, você deve subtrair 1 hora do horário recebido da bolsa.
Não há uma maneira específica de negociar por meio da API do ISS. Alguns (mas não todos) dos protocolos que a bolsa oferece para negociação estão listados no início do artigo - obviamente, não são gratuitos. Você pode ler sobre seus recursos no site da bolsa. Eles podem ser conectados ao MT5 de diferentes maneiras - esse é um grande trabalho separado. Suponho que esse tipo de artigo poderia ser escrito por alguém que já esteja envolvido na programação de bolsas, mas, por enquanto, optei pela ISS.
Se você precisar de algo próximo a HFT, provavelmente será melhor escrever seu próprio software (pelo menos uma biblioteca), porque o modelo de evento do MT5 não permite que você receba dados em tempo real (ou seja, na forma de um "push" na iniciativa da bolsa, não um "pool" em loop do MT5, mas acho que vi a API da bolsa em soquetes da Web em algum lugar - não entrei em detalhes).
A maneira esperada de usar o pacote atual é processar os dados da bolsa no MT5 com a ajuda dos índices existentes e rejeitar estratégias/otimizar os Expert Advisors em símbolos personalizados. Com base nessas informações, é possível negociar em terminais de outras corretoras.
Em outras palavras, é necessário ter uma corretora ou conexão com a bolsa por meio de outros protocolos (API) para negociar.
A opção mais simples é trocar ferramentas no MT5 a partir da corretora, mas não há escolha aqui (agora).Stanislav, obrigado pelo excelente trabalho que você fez. Esse caso raro, quando o material do artigo é um livro didático em nature.... Tenho uma pergunta como esta. No arquivo moexindex.mqh, na definição da enumeração MOEX_SECURITYTYTYPES, vejo isso:

Por exemplo, uma constante nomeada é definida como currency-gold_metal. Provavelmente, a entrada correta poderia ser currency_gold_metal.
E assim, o novo compilador (build 5200) jura que os nomes de alguns identificadores coincidem:
idenfitier 'currency' already used moexindex.mqh 1990 3 see declaration of 'MOEX_ENGINES::currency' moexindex.mqh 14 3
Por exemplo, uma constante nomeada é definida como currency-gold_metal. Provavelmente, a entrada correta poderia ser currency_gold_metal.
E assim, o novo compilador (build 5200) jura que os nomes de alguns identificadores coincidem:
O caractere "ponto" (- no meio, código Unicode 0x00B7), assim como muitos outros, foi permitido para uso em nomes de variáveis MQL5 e ainda é permitido em C++. Em particular, a citação cpprefernce:
O primeiro caractere de um identificador válido deve ser um dos seguintes:
- letras latinas maiúsculas A-Z
- letras latinas minúsculas a-z
- sublinhado
- Qualquer caractere Unicode com a propriedade UnicodeXID_Start
Qualquer outro caractere de um identificador válido deve ser um dos seguintes:
- dígitos 0-9
- letras latinas maiúsculas A-Z
- letras latinas minúsculas a-z
- sublinhado
- qualquer caractere Unicode com a propriedade UnicodeXID_Continue
Por sua vez, o grupo de caracteres XID_Continue pode ser encontrado entre outros grupos em unicode.org.
Não sei por que o compilador anterior era compatível com o C++ e o novo não.
Escreverei sobre isso no tópico sobre a versão mais recente, mas não posso mudar nada de minha parte, pois essa solução técnica foi explicada no artigo:
Em outras palavras, diferentes entidades na hierarquia MOEX podem usar a mesma palavra e, portanto, é necessário algum tipo de caractere delimitador no identificador entre o contêiner e o elemento aninhado. Não é possível usar apenas o nome abreviado do elemento, pois haverá duplicatas imediatamente. Não é possível usar sublinhados porque eles já são usados em nomes de elementos MOEX. Não é possível usar a codificação posicional porque o número de palavras no nome do elemento é desconhecido.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Dados de mercado sem intermediários: conectando MetaTrader 5 à MOEX via ISS API foi publicado:
Proponho utilizar os serviços web abertos da MOEX, que poderão ser facilmente... ou, ao menos, não tão dificilmente... integrados ao terminal após a leitura deste artigo. Aqui, falaremos sobre o serviço ISS — Informações e estatísticas da Bolsa de Moscou. Em termos técnicos, é uma combinação do protocolo HTTP com a tecnologia de serviços REST; de maneira prática, é algo que podemos consultar por meio de páginas web legíveis em um navegador comum ou via programas especialmente desenvolvidos para baixar e analisar os dados em formatos mais adequados para software, como xml, csv, json.
A Bolsa também oferece serviços mais avançados, que por isso são pagos, mas baseados nos mesmos princípios técnicos. Portanto, quem treinar com o ISS poderá depois aprimorar a solução para atender a um leque mais amplo de tarefas.
De forma geral, o ISS permite obter listas e especificações de instrumentos, cotações, ticks/negócios (do dia atual; históricos sob assinatura), dados estatísticos (como volumes e interesse aberto), books de ofertas em tempo real (sob assinatura), entre outros. Os dados gratuitos são fornecidos com 15 minutos de atraso, mas isso é totalmente suficiente para análise e identificação de sinais de trading intradiários com frequência inferior às estratégias HFT.
Autor: Stanislav Korotky