GEMFOREX
新規口座開設2万円ボーナス
上限10万円の仮想通貨入金10%ボーナス
上限100万円の入金100%ボーナスキャンペーン開催中!
今回のキャンペーンは2023年3月30日(木)23時59分59秒まで
GEMFOREXやXM等の海外FXのMT4でEAのバックテストがどう足掻いてもうまくできない!すぐエラーが出てなんかおかしい!全然エントリーしてくれない!という多くの方が壁にぶつかりそうなお悩みの解決を私自身の経験も踏まえて初心者向けに解説してきます!
バックテストできない原因というのは本記事で記載されていること以外にもあると思うのですが、あくまで私自身がかつて嵌まった体験ベースでありがちなものを3つに絞りました!また、その中でも一番嵌まりやすそうなヒストリカルデータのダウンロード・インポートについては本記事でも比重を置いて解説しています。
バックテストよくわからないからやってないという方、バックテストの必要性はわかってるけどうまくいかないとお悩みの方にとって少しでも本記事が参考になれば幸いです!
【MT4でバックテストできない原因①】:IB縛りのEAを該当のFX業者・口座番号でログインしていない!

まず、EAをご自身でプログラミングもしくはツールで自作、或いはそれなりの初期費用を払ってEAをご購入されている場合は本項目は該当しませんが、恐らくEAユーザーの多くはEA開発者のIB口座と紐付けられたEAを稼働されている、もしくは稼働されるご予定なのではないかと思います。
紐付けられたFX業者の口座番号とは違うFX業者・違う口座番号からログインしてバックテストしようとしている場合、下記のように「Usererror!CannotTrading」「unmatched data error」等のエラーが出るのはないでしょうか?


このようなIB縛りのあるEAの場合、「基本的には」指定されたFX業者の口座番号でログインしていなければEAをチャートで稼働オンにできないようにプログラミングされており、同様にバックテストもできないようになっています。
※参考までに、下記の通りGEMFOREXではシグナルプロバイダー(EA開発者)向けのマニュアルでIB縛りについて具体的なコーディングの仕方が指定されています。
GEMFOREXでは、シグナルプロバイダー様からご登録頂いたEAを、ユーザーがダウンロードする際に、該当ユーザーの口座番号のみ動作するコードを自動作成しています。その為には、シグナルプロバイダー様が登録予定のmq4ファイル内に以下のコードを記述する必要がございます。
引用元:GEMFOREXのシグナルプロバイダーEAマニュアル「手順1 アカウント縛りのコーディングについて」
ここで、なぜ「基本的には」なのかというと例外もあるからでして、GEMFOREX公式サイト上でダウンロードできるEAはデモ口座でも稼働できるようにプログラミングされており、当然バックテストもできるようになっています。
※以下、数年前に私がGEMFOREXのサポートへ問合せた時にご回答頂いた内容です。

ゲムトレードのEAにつきましては、
EAのダウンロードは、申請を頂きましたリアル口座でのみ
ダウンロードが可能となっておりますが、
ダウンロード頂きましたEAは、
デモ口座でもご利用は可能となっております。
しかしながら、EAプロバイダー様によりましては
デモ口座でのご利用を禁止しているものもございます。
マニュアルにてご確認の上、
ご利用頂ますようお願い申し上げます。
EA開発者によってはデモ口座で使えないようにしてる場合もあるとのことですが、GEMFOREXでデモ口座で稼働できないEAに当たったことは私自身は今まで一度もないですね。もしかしたらほんとに一部のEAはデモ口座で使えないようにプログラミングされているのかもしれませんが・・・
まあGEMFOREXだと大半のEAはデモ口座でお試し稼働もできるし、バックテストもできてしまうので、それが当たり前だと思って他のFX業者の口座でIB縛りされたEAを扱おうとすると嵌まるんですよねw EA-BANKでもデモ口座で稼働できませんし、EA開発者が直接配布するようなEAでもデモ口座で稼働できないことが殆どではないかと思います。この点に関してはGEMFOREXのシステムに感謝せざるを得ないですねw
というわけで、IB縛りされているFX業者の口座とは別口座(デモ口座含む)でMT4へログインされている方は、まずは括り付けられているFX業者の口座でログインしてバックテストできるのか試してみましょう!
【MT4でバックテストできない原因②】:通貨ペアの表記(シンボル名)が特殊!

次に嵌まりがちなのが、バックテストしようとしている通貨ペアの表記(シンボル名)が特殊な場合ですね。特殊な表記でしか稼働できないようにしてる逆パターンもありますが・・・
これが原因の場合、下記のように「initialization failed」「no history data」等のエラーが出るのはないでしょうか?


例えば、ドル円だったら殆どのFX業者で通常シンボル名はUSDJPYですが、GEMFOREXのロースプレッド口座ならUSDJPYfx、ガチゼロ口座ならUSDJPY.zero、スキャルピングフリー口座ならUSDJPYrというように、口座タイプによって特殊な表記になる場合があります。
- オールインワン口座他:USDJPY
- ロースプレッド口座:USDJPYfx
- ガチゼロ口座:USDJPY.zero
- スキャルピングフリー口座:USDJPYr
GEMFOREX公式サイト上でダウンロードできるEAはオールインワン口座でのみ稼働可能な為、シグナルプロバイダー(EA開発者)向けのマニュアルには下記の通りEA作成時にシンボル名には気をつけるように明記されています。
シンボル名について
通常、シンボル名は「USDJPY」といったように通貨ペアのみとなりますが、GEMFOREXの場合、下記シンボル名となりますのでEA作成に注意が必要となります。
リアル口座 → USDJPY
引用元:GEMFOREXのシグナルプロバイダーEAマニュアル「手順3 マジックナンバーについて」
デモ口座は付与なし。
要するに、EA側でUSDJPYしか稼働できないようにプログラミングされていたら、USDJPYfxやUSDJPYr等では稼働できませんし、その逆も然りです。
他のFX業者でも口座タイプによってシンボル名の表記が変わることが多いですので、そのEAが稼働可能なFX業者の口座タイプのシンボル名の表記と、バックテストしようとしてるシンボル名が一致しているのかどうかと、次の項目に繋がりますが、該当のシンボル名のヒストリカルデータが十分な期間ダウンロードできているのかどうかを確認する必要があります。
【MT4でバックテストできない原因③】:ヒストリカルデータのダウンロードができていない!やり方解説!

最後のヒストリカルデータについてが一番嵌まる方が多いかもしれませんね。ヒストリカルデータがなくてバックテストできない場合、そのままですが下記のように「no history data」等のエラーが出るのはないでしょうか?

また、下記のように、1分足のデータが過去1~2営業日分しかない場合(※)、上記の「no history data」にならなかったとしても、バックテストの取引数が極端に少ない結果になって全然参照にならないということもあります。
※下記画像は2023年2月6日のスクリーンショットです。

バックテストの必要性がわかっていても、よくわからないから面倒くさくなってやめるというのは勿体ですし、本項目ではヒストリカルデータのダウンロードの仕方を一通り解説していきます。
既存のヒストリカルデータ削除&最大バー数を上限値まで増やす!
まず、MT4上部メニュー「ファイル」>「データフォルダを開く」をクリックして、データフォルダを開きます。

「history」>「FX業者の該当サーバー名(下記画像ではGemTrade-Live)」を開き、この中に入っている既存のヒストリカルデータ(.hst)を全部削除します。この後、新しいヒストリカルデータを取得し直すのですが、既存のデータが中途半端に入ったまま新しいデータを入れるとバックテストの結果がおかしなことになる可能性がある為です。

次に、より長期間のバックテストができるように「ヒストリー内の最大バー数」を上限値まで引き上げておきます。MT4上部メニュー「ツール」>「オプション」をクリックします。

「チャート」タブ下部にある「ヒストリー内の最大バー数」「チャートの最大バー数」をできうる限り9を連打(9ボタン押しっぱなし)し、「OK」ボタンをクリックします。

尚、再度「オプション」の「チャート」タブを開き直すと、下記のように2つとも「2147483647」とう数値に変わっており、これがMT4の最大バー数の上限値ということになります。

メタクオーツのヒストリカルデータをダウンロード!
これで準備ができたので、いよいよヒストリカルデータの取得を行いますが、まずは一番手っ取り早いメタクオーツ(MT4・MT5の開発元)のヒストリカルデータの取得の仕方から解説していきます。
MT4上部メニュー「ヒストリーセンター」をクリックしてヒストリーセンターを開きます。

左側メニューでヒストリカルデータを取得したい通貨ペア・時間足(下記ではUSDJPYの1分足)をダブルクリックして灰色から色付きの状態にしたら左下「ダウンロード」ボタンをクリックします。すると「ダウンロード・アラート」が表示されますが、「OK」ボタンを押してダウンロードを行います(※)。

ダウンロードが完了し、下記のようにヒストリカルデータを過去に遡っていっぱい取得できたのが確認できたら「閉じる」ボタンをクリックして完了です。

外部のヒストリカルデータ(FXDD1分足)をダウンロード・インポート!
もう1つのヒストリカルデータのダウンロード手段として挙げられるのが、外部から入手したヒストリカルデータをMT4へインポートする方法です。
メタクオーツのヒストリカルデータはFX業者のものとは異なり、あまり信憑性が高くないのと、通貨ペアによってはあまり長期間のデータを取得できず、バックテストするには不十分な場合もある為、こちらの手段の方がおすすめです。
ヒストリカルデータの取得先は、Alpari・FXTF辺りは信憑性が高くておすすめなのですが、今回は一番取得が簡単で手っ取り早いFXDDで1分足データをダウンロードしてMT4でインポートする方法を解説していきます。
まず、FXDDのヒストリーデータダウンロードページを開き、ダウンロードしたい通貨ペア(下記ではUSD/JPY)をクリックしてダウンロードします。

圧縮フォルダ(.zip)がダウンロードされるので解凍し(※)、中のヒストリカルデータ(ここではUSDJPY.hst)をデスクトップ等に保存しておき、「ヒストリーセンター」の「インポート」をクリックします。
※最近のWindowsのパソコンならダブルクリックするだけで解凍できるかと思いますが、それで解凍できない場合は別途圧縮ソフトを使って解凍するようにしましょう。

右下で「MetaQuotes files(*.hst)」を選択し、FXDDからダウンロードしたヒストリカルデータ(ここではUSDJPY.hst)を選択したら「開く」ボタンをクリックします。

下部にインポートするヒストリカルデータが表示されているのが確認できれば「OK」ボタンをクリックし、その後ヒストリーセンターも「閉じる」ボタンをクリックします。

これでFXDD1分足のヒストリカルデータのインポートは完了です。EAが1分足のロジックならそのままバックテストも可能ですが、このままだと5分足以上の時間足がまだない状態です。
次の項目で、1分足のデータから5分足以上の他の時間足のデータを生成する方法を解説していきます。
「Period_converter_ALL.mq4」で1分足以外のヒストリカルデータを生成!
1分足のヒストリカルデータが長期間あれば、5分足以上の他の時間足も生成ができるのですが、今回は「Period_converter_ALL.mq4」というメタクオーツ公式サイトで無料ダウンロード可能なツールを使う方法を紹介していきます。
まず、メタクオーツ公式の下記ページ(※)へアクセスし、赤丸の箇所をクリックして「Period_converter_ALL.mq4」をダウンロードします。
※下記ページはメタクオーツ開発元のロシア語表記ですが、ダウンロードするだけなら特に問題はありません。

MT4のデータフォルダ内の「MQL4」>「Scripts」の中に「Period_converter_ALL.mq4」を入れてからデータフォルダを閉じます。

MT4を再起動するか、もしくは「ナビゲーター」>「スクリプト」で右クリックメニュー「更新」をクリックし、「ナビゲーター」>「スクリプト」で「Period_converter_ALL.mq4」が表示されることを確認します。


MT4上部メニュー「ファイル」>「オフラインチャート」をクリックします。

今回5分足以上を生成する為の1分足(FXDDからダウンロードしたヒストリカルデータ)をダブルクリックし、1分足のオフラインチャートを開きます。

左側の「Period_converter_ALL.mq4」を右側のオフラインチャートへドラッグアンドドロップすると、チャート左上で5分足以上の生成が順々に進み(赤い下線部分)、全時間足の生成が終われば赤い下線部分の表記が消えます。

これで全時間足の生成が完了しましたので、MT4を再起動してからバックテストができるようになったのかどうか確認してみましょう!
以上、MT4でバックテストがどうしてもうまくいかなくてお悩みの方にとって、本記事が少しでも参考になっていれば幸いです。
2023年3月30日(木)更新
現在GEMFOREXでは新規口座開設3万円ボーナス&上限10万円の仮想通貨入金10%ボーナス&上限100万円の入金100%ボーナスキャンペーンを開催中!
2023年3月の初回ボーナスは3万円で、当選者限定でBTC・ETH等の仮想通貨入金による10%ボーナスも始まってます。また、100%ボーナスは1・2月は週2回でしたが、3月からは週1回のパターンに戻っており、3月は月⇒火⇒水⇒木ですね。尚、入金ボーナスの条件ですが、有効期限90日間は2024年1月1日からの適用で当面延期(口座開設ボーナスは30日間)になり、オールインワン口座の全口座対象が復活しました!上限額100万円は変更なし、30日以内に出金申請された方は30%⇒50%と少し条件が良くなってます。
当選された方はレバレッジ1,000倍のトレードを2倍の証拠金でできるチャンスです!
100%ボーナスに当選された方は有利なトレードができるように賢くGEMを利用していきましょう!
今回のキャンペーンは2023年3月30日(木)23時59分59秒まで
GEMFOREXでトレードする主なメリット
- 上限100万円の入金100%(200%)ボーナスキャンペーンをほぼ毎週開催!
- 毎年創業月(11月)は入金200%(最大300%)ボーナスキャンペーンを開催!
- 入金1,000%ジャックポットを常時開催!
- ロースプレッド口座のスプレッドは国内業者並みで、取引手数料もなし!
- 招待状が届けばガチでスプレッド0のガチゼロ口座を利用可能!
- 他社の口座で含み損があれば、その分の補填ボーナスを受け取り可能!
- 入出金の手数料無料!出金時も国内送金なので中継手数料がかからない!
- EA・ミラートレードを無料で利用し放題!自動売買の仕組みは日本一!
- 仮想通貨の取引条件は業界トップクラス!
- ブランドアンバサダーがベッカム!金融ライセンス取得済みで、倒産リスクも少ない!
口座開設方法については下記の記事をご参考ください。



コメント