前回はMetaTrader 5(MT5)の特徴やMT4との違いについて紹介しました。第2回はMT5のシステムがどのような構成になっているか、技術的な中身を紹介します。

MT5を司る3つのサーバ

MT5のシステムは役割の違う3つのサーバによって構成されます。それぞれのサーバはTCP上の独自の通信プロトコルによって連携しています。

  1. MainTradeサーバ
    口座やポジションの管理を行います。顧客からの注文を受け取引所へ発注、約定をポジションに反映させるなど、中心的な役割を担います。
  2. Historyサーバ
    価格や板などマーケット情報を集約します。
  3. Accessサーバ
    顧客からのエンドポイントとして機能します。価格や板情報などをキャッシュし、マーケット情報を迅速に配信します。

取引所直結を実現するGateway

取引所への接続はGatewayと呼ばれる専用のプロセスによって行われます。現在MetaQuotesによって、シカゴ・マーカンタイル取引所(CME)やシンガポール・マーカンタイル取引所(SMX)、ブラジルのBM&F Bovespaなどの取引所向けのGatewayが標準で提供されています。
Gatewayは取引所ごとに決められた通信方式(FIXなど)で取引所システムと通信を行い、マーケット情報をMT5内のHistoryサーバへフィードします。注文はMainTradeサーバからGatewayを介して取引所へ送られ、Gatewayが受け取った約定データはMainTradeサーバへ返されます。
MetaQuotesが公開しているAPIを使えば、東証や大証のような標準で対応していない取引所向けのGatewayを開発することも可能です。

内部動作のカスタマイズ

MT5には、内部の動作をサードパーティーによってカスタマイズする機能があります。前回ご紹介したように、MT5ではポジションはネッティングされてしまうわけですが、例えば約定を処理する動作をカスタマイズすることで任意のネッティング・ロジックを実装することが可能です。弊社では、MT5標準では各約定値の加重平均となってしまうネッティング・ポジションを、FIFOルールに準ずるように変更するカスタマイズなどを開発しています。

MT4との違い

取引所に接続し多様な銘柄の取引を想定しているMT5と違い、MT4はあくまでFXを対象にしている点が大きく異なります。MT4では扱うマーケット情報がMT5に比べて限定されるため、MainTradeサーバとHistoryサーバが一体化したコンパクトな構成になっています。また、取引所接続を担うGatewayに相当するものは標準では用意されていません。
そのためMT4でNDD・STPによるサービスを行うには、カバー先となるLiquidity Providerとの接続にはサードパーティーによるBridgeと呼ばれるソフトウェアが必要です。現在、複数のサードパーティベンダーがBridgeを開発していますがベンダーごとに品質に差があり、またMetaQuotesのサポート外となるためMT4のバージョンアップ時や複数のBridgeを使用した際の競合などの課題があります。弊社ではMT4のカスタマイズを通して得たノウハウで、高品質のBridgeを安定して運用しています。