MT4とMT5には互換性がありません

最近徐々にMT5のインジケーターやEAのご依頼をいただくことが増えてきました。その際によくご確認いただくのは、MT4で利用していたインジケーターやEAはMT5で使えるか?ということです。

結論から申しますとMT4で利用していたインジケーターや、EAはMT5で利用することはできません。なのでMT5用として改めて開発する必要があります。

またMT5がなかなか普及していない原因の一つとしてこの互換性のなさに加えて、MT5のインジケーターやEAはMT4と比較して開発の手間が多いです。それが開発者に敬遠される原因にもなっており、なかなか普及が進んでいない現状があります。

MT5を利用するとMT4にない3分足などのチャートを利用した取引ができるのでそういった点は便利なのですが、その他ではまだあまり優位性がないので選ばれづらくなっているのかなと思います。

今後、急にMT4がなくなるということはすぐには考えづらいので、基本的にはブローカーがサポートする限りMT4を利用しておくのがしばらくはベターな利用法となりそうです。またご心配でしたらご利用予定のブローカーにMT4のサポート終了などの情報を確認するのが良いかと存じます。

なお、MT5向けの開発も扱っておりますので、ご希望の方はお見積り依頼やお問い合わせフォームからご連絡ください。

リペイントするインジケーター

EAを開発する際に最もご依頼いただくのが、インジケーターのサインに基づいて取引を行うという依頼です。その際に、たまにリペイントするインジケーターに遭遇することがあります。

リペイントとは

リペイントというのは文字通り、インジケーターの描画がリペイント(再描画)されることです。要するに今見たサインが、10分後には消えていたり、移動しているという状態です。これがよく起こるのはマルチタイムフレーム(MTF)系のインジケーターです。例えば5分足をメインの表示足、MTFで1時間足を利用している場合に、5分足が確定してサインが出たとしても1時間足から見ると時間的には足の12分の1が経過した状態なので、残りの55分の間にサインの状態が変わることは多いに起こりえます。

リペイントを見てみる

MT4に標準で搭載されているインジケーターにZigZag というインジケーターがあります。これは高値、安値にポイントを設けて、それを線で結ぶインジケーターです。それが文字通りジグザグに表示されます。

こちらのチャートを御覧ください。現在下値を形成している途中です。

更に下落が進むと、ZaiZagの下の点が移動しました。

このように価格の変動に伴い描画が変わるというインジケーターは非常に多くあります。

リペイントは悪か?

このように描画が変わるとインジケーターとしては後出しジャンケンというような描画となるので、あとから見ると相場の下落、上昇を的確に捉えてるような表示をするインジケーターを作ることは非常に容易になります。よくあるのは情報商材などでこの特性を利用して、あたかも優秀な売買サインを出すようなインジケーターに見せかける事例は非常に多くあります。

必ずしもすべてのリペイントするインジケーターがそういった悪意を持った実装をされているわけではありませんが、それなりに注意して利用する必要があります。

リペイントを見分ける方法

リペイントするインジケーターを見分けるには、チャートを2つ開き、まず1つのチャートにインジケーターを配置して、数時間程度放置します。その後、もう1つのチャートにチャートに同じインジケーターを同じパラメーターで配置します。

そして、2つのチャートを見比べてみて、サインの位置がずれていればそのインジケーターはリペイントしているということが確認できます。

最後に

EA、インジケーター開発のご依頼を頂いた際には、当方にて検証を行いリペイントするものの際は基本的にご連絡するようにしているので、不安やよくわからない場合はご連絡いただければ幸いです。

なぜ売買ルールを反転しても売買結果が反転しないのか

まずこちらのグラフを御覧ください。

このグラフは1分足で、判定した分が偶数ならば買い、奇数ならば売りというロジックでバックテストを行ったものです。例えば10時2分なら買い、10時3分なら売りという具合です。

結果としては1754円の赤字となりました。

よくお客様がバックテストの結果がこのように芳しくなかったときに、売買ルールを反転してほしいと言われることがあります。このときのよく当方はそれは意味がないことだというコメントをします。結果としては下記のようなグラフになります。

売買ルールを反転したのだから、結果は右肩上がりになるはずだと思われる方もいらっしゃるかもしれません。では、なぜそうならないかというと、FXにはスプレッドがあるからです。スプレッドというのは御存知の通り、買値と売値のマージンです。これがあるがゆえに、FXの事実の一つとして買った瞬間、売った瞬間は確実に損失が出ています。つまりこの事実があるがゆえに売買ルール反転したとしても結果がそのまま反転することはありません。スプレッドがどんなに狭かろうと、スプレッドがある以上、FXは損失から始まります。

意外とこの事実を認識しないまま取引をされていない方は驚くほど多いです。ロジックを検討する際や損益計算をする際に是非心に留めておいてほしいものです。

ストップロスが入らないときは

当方が納品するEAは標準でストップロスやリミットを設定可能なのですが、時折お客様に問い合わせを受けるのが、ストップロスやリミットが設定されないというケースです。その場合多くの場合、最低取引pipsに違反しています。

最低取引pipsとは

MT4で取引可能なブローカーは現在価格と近すぎると指値を入れられません。指値を入れられる最低の価格差を最低取引pipsといいます。またこれはデモ口座と本番口座で異なるブローカーが多く、ブローカーのWEBサイトで確認する際にも注意が必要です。

エラーが出ている場合

バックテストとリアルトレードで確認する箇所が異なります。いずれも OrderSend Error 130 というエラーが出力されます。

バックテスト

バックテストの場合、バックテスト時の操作履歴を確認してください。

リアルトレード

リアルトレードの場合は、ターミナルのExpertタブを確認してください。