私たちのファンページに参加してください
- ビュー:
- 1193
- 評価:
- パブリッシュ済み:
- 2016.03.16 14:08
- アップデート済み:
- 2016.11.22 07:34
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
内容
この例では、リアルタイムのティックでの外部サーバーアプリケーションへの MetaTrader 5 クライアント端末からの転送を実装する方法を紹介します。
使用されているTCPプロトコルは、ローカルのみでなく、全世界のインターネットを介してデータを転送します。
Winsock2ライブラリ(ws2_32.dll)はソケット操作に使われます。MQL5はポインタ操作やDLL関数のパラメータとして複雑なデータ構造を渡すことができないので、ライブラリ関数の直接呼び出しは不可能です。C++で書かれたsocket_mql5.dllライブラリはエキスパートアドバイザーとソケットをつなげる中間ラッパーです。
外部サーバアプリケーションと MetaTrader 5 の相互作用は、図1に示されています。
図1外部サーバアプリケーションと MetaTrader 5 の相互作用
一方向転送のための関数(SocketOpen、SocketWrite、SocketClose)の最小セットはsocket_mql5.dllライブラリに実装されています。
サーバに接続され、外部のサーバアプリケーションにリアルタイムティックデータを転送するのに使用されるエキスパートアドバイザーの例は、図2に示されています。
図2MetaTrader 5 クライアント端末からの外部サーバーアプリケーションへのティックデータのエクスポート
アーカイブには下記が含まれています。
- エキスパートアドバイザー
- socket_mql5.dllライブラリ(C++ソースコードはVisual Studio 2008で書かれました)
- TCPサーバとTCPクライエント(Delphi7ソース)
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/169

自動変換に使われるMQL5キーワードとエイリアスが提示されています。

このインディケータは Elder's Impluse system に基づいています。