Discussão do artigo "Mala direta por meio dos serviços do Google"

 

Novo artigo Mala direta por meio dos serviços do Google foi publicado:

Um trader mantendo relações comerciais com outros traders, assinantes, clientes ou amigos pode certamente ter a tarefa de enviar mala direta por e-mail. Enviar capturas de tela, revistas, registros ou relatórios são tarefas relevantes que não são necessárias todos os dias, mas raramente, em qualquer caso, cada um gostaria de ter esse recurso. O artigo mostra o uso de vários serviços do Google, sua compilação em C # e integração com ferramentas em MQL.

Conector do terminal

Resta-nos considerar a questão da conexão entre nossa compilação, que ainda não foi criada, e o terminal. À primeira vista, a tarefa não parece complicada. Definimos vários métodos estáticos, compilamos o projeto, copiamo-lo para a pasta “Libraries” do terminal. Chamamos os métodos estáticos de compilação do código MQL. Mas o que exatamente precisa ser copiado? Existe a nossa compilação na forma de uma biblioteca de dll. Há também cerca de uma dúzia de compilações que são carregadas pelo NuGet e que são usadas no trabalho. Existe um arquivo JSON que contém dados para acessar o Google. Vamos tentar copiar todo esse conjunto para a pasta "Libraries". Vamos criar o script mais primitivo em MQL (mesmo o código deste script não deve ser usado) e tentar chamar algum método estático de nossa compilação. Uma exceção é o erro "O arquivo Google.Apis.dll não foi encontrado", que é uma surpresa muito desagradável e significa que o CLR não encontra a compilação desejada, embora esteja na mesma pasta que a nossa compilação principal. Por que acontece isso? Não vale a pena analisar a situação aqui em detalhes, em vez disso, redirecionarei os interessados nos detalhes para o famoso livro de Richter, para a seção sobre a pesquisa de compilações privadas.

Já existem muitos exemplos de aplicativos .Net totalmente funcionais que trabalham com o MetaTrader, neles também houve problemas, como foram resolvidos? Por exemplo, aqui o problema foi resolvido criando um canal entre o aplicativo .Net e o programa MQL. Já aqui foi usado um modelo baseado em eventos. Pode-se sugerir uma abordagem semelhante quanto à transferência dos dados necessários do programa no MQL para o aplicativo .Net usando a linha de comando.

Autor: Andrei Novichkov