はじめまして。このブログでは、弊社Cross Bridge(XBRIDGE)が開発を行っているMetaTrader関連製品の技術的な部分や、開発者向け情報などをアウトプットしていこうと思っています。
最初の数回は特別編ということで、MetaTrader 5(MT5)について取り上げたいと思います。第1回は、MT5とはどのようなものなのか、MT4との違いなどを紹介します。
MT5とは
MetaTrader 5(MT5)はMetaQuotes社が開発する、MetaTrader 4(MT4)に続くMetaTraderのメジャーバージョンアップです。MT4は2005年にリリースされ、現在まで広く使われるプラットフォームとなりましたが、この9年間にソフトウェアを取り巻く環境は大きく変わっています。また、FXを始めとした取引環境も同様に変化しています。MT5はそうした変化に対応すべく、アーキテクチャから大きく刷新されたものとなっています。
MT4との違い
MT5は全く新しいプラットフォームのため、MT4とは多くの違いがあります。なかでも主だったものを以下に取り上げます。
- 取引所と直結
MT4では外部の取引所や銀行などと接続する方法が標準では提供されていませんでした。そのため、Bridgeと呼ばれるサードパーティのソフトウェアを追加する必要がありました。MT5では標準のパッケージで世界中の取引所へ接続可能となっています。また、取引所から取得した板情報を直接表示することができます。 - 新しい言語MQL5の導入
MT4ではMQL4を使って、クライアントターミナルで動作するEAやインジケータを作ることが出来ました。MQL4はC言語のように関数を定義する形となっていますが、反面オブジェクト指向な設計がしずらい欠点がありました。MQL5ではクラスが導入され、本格的なオブジェクト指向プログラミングが可能となりました。 - 64bit対応
サーバサイドからクライアントターミナルまで、64bitアプリケーションとして動作するようになりました。もちろん、32bit版も提供されます。 - ポジションはネッティング
MT5では、すべてのポジションはネッティングされます。つまり、両建てができません。
MT5の現状
MetaQuotes社は当初、MT4からMT5へ軸足を移して開発を進めていましたが、MT5がそれまでのMT4とは大きく違うため、MT5の導入が進んでいるとはいえない現状があります。そのため、現在ではMT5で追加された新機能をMT4へ移植する形で開発が進んでいます。具体的には、MT4 Build 574からMQL5とMQL4の処理系が統一され、MT4 Build 670からはMT5にあった板画面が追加されました。
一方で今年の6月には、ブラジルのXP Investimentos社がMT5を使った取引所取引のサービス提供を行うと発表しました。
MT5の課題
MT5は、その導入に際して大きな課題があります。ひとつはポジションがネッティングされる点です。標準ではネッティングされたポジションの建値はMT5が自動で計算してしまいますが、実際は取引の仕様に基づき、FIFOなどのルールで扱われる必要があります。もうひとつの課題は取引所との接続です。MetaQuotes社ではすでに多くの取引所と接続を行えるようにしていますが、日本国内で主力のデリバティブ取引所である大証とは接続実績がありません。
弊社ではMetaTraderと周辺製品で培ったノウハウで、これらの課題に取り組んでいます。次回は具体的なアーキテクチャやカスタマイズ性について解説していきます。