(続編) MT4を辞めてMT5を使う理由

2018年12月3日

CPU

MT4を辞めてMT5を使う理由」の続編です。続編の方が重要な話になります。

最初の記事ではお伝え出来なかったいくつかの重要な情報を記載しています。

この内容を確認いただければ、EA利用者(特に自作派)はMT5を利用することが必然に感じられるのではないかと思います。

これから自動売買を始める方々はMT5から入れば良いですし、MT4から自作していた方々はMQL4/MQL5の共通ライブラリやコンバーターを利用してMT5に移行すればよいと思います。

MT5に移行するだけで大きな恩恵を得ることができますので、是非最後まで読んでいただければと思います。

ツール自体のポテンシャルが圧倒的にMT5が上

トレード対象

MT5では通貨、仮想通貨、商品、先物なども投資対象になります。

国内のMT4では通貨しかないので、EAが機能するマーケットを探せる商品数が段違いです。

日経平均・ダウ・仮想通貨の動きを条件に為替の取引を行うことも簡単にできます。

また、MT5では複数の通貨に投資するような戦略もバックテスト可能です。

以前アービトラージ系のEAをいくつか作成しましたが、MT4のバックテストではシンボルを選択した側の通貨しか取引できないので検証ができませんでした。

複数シンボルをまとめたバックテスト

MT5ではックテスト設定時に、「気配値表示で選択されたすべての銘柄」を選択することで、複数シンボルに対してのバックテストをまとめて行うことができます。

MT4でも外部ツールを導入することで実施可能でしたが、MT5では標準で装備されています。

MT5のバックテスト設定

これは、前述した「トレード対象が多い」こととの組合せにより、とても強力な検証方法になります。

例えば私の例ですが、通常時は以下のようなシンボルをまとめてテストします。(時間に余裕がある場合は、もっと多くしています。)

EURUSD, USDJPY, GBPUSD, EURGBP, GOLD, JP225, BTCUSD

さらに良いこととしては、全てのシンボルで動作できるようにEAを作成する癖がつきます。

具体的に説明すると、何も考えずにEAを作成した場合は特定のシンボルでしか動かないことがありますが、MT5に移行することで自然と最初から複数のシンボルで検証する前提でEAを作るようになります。(多少の汎化は必要ですが。)

これによって、利益が出やすくドローダウンが小さいシンボルを見つける確率が高まりますし、殆どの通貨で利益が出るならば堅牢であると考えることもできます。

以前作った戦略が息を吹き返すこともあるかもしれませんね。

タイムフレーム

利用できるタイムフレームの数が違います。

MT4・・・9個
M1, M5, M15, M30, H1, H4, D1, W1, M1

MT5・・・21個
M1, M2, M3, M4, M5, M6, M10, M12, M15, M20, M30, H1, H2, H3, H4, H6, H8, H12, D1, W1, M1

正直なところ、最初はタイムフレームを増やしたところでオーバーフィットになるだけだと考えていたのですが、実際やってみると少しイメージが違いました。

タイムフレームに限らずオーバーフィットは常に付きまとうものですが、使い方によっては幅が広がると捉えることができます。

出来高(Volume)

MT4の出来高(Volume)はTickが動いた回数なので、実際の取引量(ロット数)は全くデータに現れません。

MT5では従来どおりTickが動いた回数を取得することも可能ですし、リアルなTickVolumeを取得することも可能です。

(標準装備のインジケーター(Volume)は、業者によってはリアルTickVolumeが表示されないことがあります。)

カスタム銘柄

MT5では、通常では提供されていないデータで独自にシンボルを作成できます。(MT4のオフラインチャートと同等の機能)

バックテストでよりリアルな状況を再現できるのがMT5

もっとも重要な部分です。

システムトレーダーは、利益を上げるためにバックテストの性能が良くなるようなEAをひたすら探します。

そして良いものを見つけて本番で動かした結果、惨敗する。

惨敗する大きな原因は「データの質」と「オーバーフィット」ですが、今回はツールに関しての記事なので「データの質」についてのみ触れます。

(オーバーフィットは自分の頭の中で処理できる問題ですが、データの質は物理的な改善が必要です。)

リアルティックに基づいていない

通常MT4で取得可能なデータは1分足が最小単位です。

それ以上の細かさで動くEAでは正しいテスト結果が得られません。

これは疑似Tickによる影響です。

※疑似ティックがよく分からない方は「最強のスキャルピングEA|聖杯・・・?」を先にご確認ください。

また、「エントリー時の指値/逆指値」、「エグジット時の指値/逆指値」を使った場合も疑似ティックの影響で正しく検証できません。

例えば以下の例を考えてみましょう。

[113.5円で利食い、113.4円で損切]

同じタイムフレーム内でHighが113.7円まで行き、Lowが113.1円まで行った場合に疑似Tickではどちらに先にヒットしたのかを正確に判断できません。

そこでリアルティックを利用することになるのですが、MT4では業者からリアルティックデータが提供されておりません。

取得可能な業者(Dukascopyなど)からリアルティックデータを取得することになりますが・・・「自分が取引している業者はDukascopyではない・・・」ここがMT4で特に限界と感じる部分です。

MT5なら自分の利用している業者のリアルティックデータが取得できます!

バックテスト時に「リアルティックに基づいたすべてのティック」を選択するだけです。

実行すると利用している業者が持っているリアルティックデータがダウンロードされ、そのティックを基にバックテストや最適化が実行されます。

※注意事項
業者によっては、メタクオーツがストラテジーテスター用に提供している「リアルティックデータ」を使用しています。

また、バックテスト時の「全ティック」はあくまでもMT4/MT5が疑似ティックを生成したものであり、リアルなティックとは全く違うことにご注意ください。

リアルティックを取得できる期間は業者ごとに異なりますが、再現性の無いデータでバックテストを何十年もやるよりは再現性の高いデータで数年やった方が私は良いと感じています。

このあたりの考え方は人それぞれなので、長い年月精度の高いデータでバックテストをしたいのならば、Dukascopyなどの業者から取得してください。

その代わり、前述した通り自分の利用している業者でなければ、再現性は落ちますのでご注意ください。

最後に

これでMT5への移行に確信が持てたのではないでしょうか。

この手の調査を行う場合には、いつも複数の業者に直接質問して回答を得ているのですが・・・かなりグレーな部分が多いです。。。

今回の件で言えば、「リアルティックに基づいたすべてのティック」というのは、業者のデータなのか?メタクオーツのデータなのか?という部分でした。

回答は業者によってまちまちでした。

  • A社・・・弊社のデータです。メタクオーツの件は知りません。どういう意味ですか?
  • B社・・・メタクオーツのデータです。弊社とメタクオーツ間の取り決めでそうなっています・・・MT5の仕様であるかは公開しておりません。
  • C社・・・弊社のデータです。

データ精度なども含めてMT5が使える業者を評価していますので、よろしければご参照ください。