Diskussion zum Artikel "Organisation einer Mailing-Kampagne mit den Google-Services"

 

Neuer Artikel Organisation einer Mailing-Kampagne mit den Google-Services :

Ein Händler kann eine Mailing-Kampagne organisieren, um Geschäftsbeziehungen zu anderen Händlern, Abonnenten, Kunden oder Freunden zu pflegen. Außerdem kann es notwendig sein, Screenshots, Logs oder Berichte zu versenden. Dies sind vielleicht nicht die am häufigsten auftretenden Aufgaben, aber eine solche Möglichkeit ist eindeutig von Vorteil. Der Artikel beschäftigt sich mit der gleichzeitigen Nutzung mehrerer Google-Dienste, der Entwicklung einer geeigneten Assembly auf C# und der Integration mit MQL-Tools.

Die Verbindung zum Terminal

Das einzige verbleibende Problem ist das Verbinden der (unfertigen) Gruppe mit dem Terminal. Auf den ersten Blick ist die Aufgabe einfach. Wir definieren mehrere 'static' Methoden, kompilieren das Projekt und kopieren es in den Ordner Libraries des Terminals. Rufen wir die 'static' Methoden der Gruppe aus dem MQL-Code auf. Aber was genau sollen wir kopieren? Es gibt eine Gruppe in Form einer DLL-Bibliothek. Es gibt auch etwa ein Dutzend von NuGet heruntergeladene Gruppen, die wir aktiv in unserer Arbeit einsetzen. Es gibt eine JSON-Datei, die Daten für den Zugriff auf Google speichert. Lassen Sie uns versuchen, das gesamte Satz in den Ordner Libraries zu kopieren. Wir erstellen ein primitives MQL-Skript (es macht keinen Sinn, dessen Code hier anzuhängen) und versuchen, eine 'static' Methode aus der Gruppe aufzurufen. Exception! Google.Apis.dll wird nicht gefunden. Dies ist eine sehr unangenehme Überraschung, bedeutet es doch, dass die CLR die gewünschte Gruppe nicht finden kann, obwohl sie sich im gleichen Ordner wie unsere Hauptgruppe befindet. Warum passiert das? Es lohnt sich nicht, die Situation hier im Detail zu betrachten. Alle, die sich für Details interessieren, finden sie in dem berühmten Buch von Richter (im Abschnitt über die Suche nach privaten Sammlungen).

Es gibt bereits viele Beispiele für voll funktionsfähige .Net-Anwendungen, die mit MetaTrader funktionieren. Solche Probleme traten auch dort auf. Wie wurden sie gelöst? Hier wurde das Problem gelöst, indem ein Kanal zwischen einer .Net-Anwendung und einem MQL-Programm erstellt wurde, während hier ein ereignisbasiertes Modell verwendet wurde. Ich kann einen ähnlichen Ansatz vorschlagen, bei dem die erforderlichen Daten von einem MQL-Programm an eine .Net-Anwendung über die Befehlszeile übergeben werden.

Autor: Andrei Novichkov