記事"Google サービスによるメーリング キャンペーンの手配"についてのディスカッション

 

新しい記事 Google サービスによるメーリング キャンペーンの手配 はパブリッシュされました:

トレーダーは、他のトレーダー、クライアントや友人とのビジネス関係を維持するために、メーリングキャンペーンを手配したい場合があるかもしれません。 その場合、スクリーンショット、ログ、またはレポートを送信する必要がある場合があります。 頻繁に発生するタスクではないかもしれませんが、このような機能があれば明らかに利点となります。 この記事では、複数の Google サービスを同時に使用し、C# で適切なアセンブリを開発し、MQL ツールと統合を取り上げています。

ターミナルコネクタ

残る唯一の問題は、(未完成の) アセンブリをターミナルに接続することです。 一見すると、このタスクは簡単です。 静的メソッドを定義し、プロジェクトをコンパイルし、ターミナルのライブラリフォルダにコピーします。 MQL コードからアセンブリの静的メソッドを呼び出します。 しかし、正確には何をコピーする必要があるでしょうか。 dll ライブラリの形式のアセンブリがあります。 また、NuGetによってダウンロードされた約12のアセンブリは、今回のタスクで積極的に使用します。 Google にアクセスするためのデータを格納する JSON ファイルがあります。 セット全体をライブラリ フォルダにコピーしてみましょう。 プリミティブ MQL スクリプトを作成し (ここでコードをアタッチしても意味がありません)、アセンブリから静的メソッドを呼び出してみてください。 例外があります! Google.Apis.dll が見つかりません。 これは極めて喜ばざる例外であり、CLR はメイン アセンブリと同じフォルダに配置されていますが、目的のアセンブリを見つけることができません。 なぜこんなことが起こっているのでしょうか。 ここで詳しく状況を調べる価値はありません。 興味がある場合は、リヒター(Richter)の有名な著書でこのことについて見つけることができます (プライベートアセンブリの検索に関するセクション).

MetaTrader で動作する完全に機能する .Net アプリケーションの例は既に多数あります。 このような問題もそこで起こりました。 どのように解決されたのでしょうか。 ここでは、.Net アプリケーションと MQL プログラムの間にチャネルを作成し、 ここでイベント ベースのモデルを使用することで問題を解決しました。 コマンドラインを使用して、MQLプログラムから.Netアプリケーションに必要なデータを渡すことを含む同様のアプローチを提案することができます。

作者: Andrei Novichkov