MT4 Build880 ストラテジーテスターで131エラーになる件
2015年9月17日、MT4がBuild880へバージョンアップされました。
ウェブブラウザ版がリリースされた事が今回のメインでしょうか。
現状使う必要性が無いので取りあえず置いといて、
9月22日(火)現在PLATINUM TURBO FXのインジケーター及びEAは問題無く稼働しています。
しかし、ストラテジーテスターに困った問題があります。
オフラインでテスターを稼働すると、以下の様に131エラーとなりオーダーが通らないケースがあります。
これはPLATINUM TURBO FXのEAではなく別のEAをテスターで稼働した際のエラーですが、EA問わず同じエラーが出ます。
lot数がおかしいというエラーですが、lot数が正しくてもエラーになります。
エラーになるケースと対策を簡単にご紹介します。
左がBuild840、右がBuild880です。
気配値表示で対象通貨ペアを右クリックすると表示されるメニューです。
Build880では、【仕様】という項目が増えています。
オンライン及びオフライン(サーバーとのリンクを切断後)で【仕様】を選択すると以下が表示されます。
オフラインでMT4再起動後【仕様】を選択すると以下が表示されます。
前者と後者では表示される項目に違いがあり、
違いは【volume】に関する情報です。
volumeに関する情報を認識出来ていないと、131エラーになる様です。
まとめ
①オンラインでは問題ありません。
②オンラインの後、オフラインにしても問題ありません。
③オフラインの状態でMT4を起動するとvolumeに関する情報を認識出来ず131エラー。
その他注意点
直近のデータをオンラインでバックテストする様な場合は影響ありませんが、
過去の長期間をバックテストする場合は、FXDDなどのヒストリカルデータを別途用意してMT4オフラインでテストするケースが多いでしょうから、Build880は影響必至です。
バックテスト用に用意している常時オフラインのMT4をBuild880にアップデートした場合は、起動の度に一旦オンラインにする必要があります。
しかし、サーバーが稼働している時間帯にオンラインにしてしまうと、レート配信の際ヒストリカルデータが更新されしまい、事前に入れたヒストリカルデータと混在してアンマッチになってしまいます。
また、サーバーが停止中であっても、オンラインの状態でバックテストを実行するとヒストリカルデータを更新します。
※ヒストリカルデータ更新の仕様は定かではなくあくまで私見です。
よって、信頼度の高いヒストリカルデータを別途用意してクオリティーを保ちMT4オフラインでテストしたい場合は、
Build840を使う
又は、
Build880を使う場合は、サーバー停止中(週末)に一旦オンライン後オフラインにする必要があります。
後者は平日は出来ず、私の場合1台のPCにつきMT4を6台同時にテスターを稼働させるので、週末でもオンオフが面倒…
なので、バックテスト用MT4は全てBuild840にしました。
Build880にアップデートしてしまい、Build840に戻したいが方法が分からない方は、こちらからBuild840のterminal.exeをダウンロードして、該当MT4のterminal.exeと差し替えて(上書き保存でOKです。)起動してください。
アップデートの許可を求められますが必ず「いいえ」を選択すれば840で立ち上がります。
【追記】
Build900で改修されました。