MT4でヒストリーデータを取得する方法 | FX情報商材レビュー評価 実践検証ブログ ☆禁断の世界☆

学習の進め方

  • FX初心者の学習の進め方を確認する

MT4でヒストリーデータを取得する方法

MT4EAのバックテストをするために
必要な、ヒストリーデータを取得
する方法についてお話ししますね。

※ バックテストは、過去相場でEAがどの
ようなパフォーマンスを発揮したのか
検証することです。

MT4でEAのバックテストをするには、
過去チャートのデータ、すなわち
「ヒストリーデータ」が必要です。

ヒストリーデータはMT4でチャートを
開くと自動で生成されますが、直近の過去
チャート分しか生成されませんし、場合に
よっては一部抜け落ちている可能性があり
ます。

そこで、自動生成されたヒストリーデータ
を削除してから、正しい手順を追って
新たに長期のヒストリーデータを取り込み
ます。

MT4_LineTouch

にゃんこ「後悔している過去があってにゃ・・・。」

・・・なんか、にゃんこが過去を引きずっている^^;

【今日の目次】
(1) 自動生成されたヒストリーデータの削除
(2) バックテスト期間の最大化
(3) ヒストリーデータの取得(使用FX業者)
(4) ヒストリーデータの取得(MetaQuotes社)
(5) ヒストリーデータの取得(FXDD社)
(6) ヒストリーデータの1分足データから
他時間足データを作成
(7) まとめ

(1) 自動生成されたヒストリーデータの削除

では、自動生成されたヒストリーデータ
を削除する作業に入りましょう。

MT4を起動して、左上の
「ファイル」→「データフォルダを開く」→「history」→「バックテストしたいサーバー」
の中にある自動生成されたヒストリーデータを全部削除 or 待避させる操作を行います。

自動生成されたヒストリーデータは

通貨ペア,時間足(分表示).hst」
(例)「EURUSD240.hst」

のようなファイルで表示されていますので、
それらを全て削除しましょう。

自動生成されたヒストリーデータは、
おそらくもう使うことはありませんが、
不安な方は念のため切り取ってどこかに
保存しておくという選択でもいいです。

ちなみに、私はその不安な方なので、
念のため保存しています (〃∇〃)

MT4_historydata26

(2) バックテスト期間の最大化

MT4において、バックテストできる期間を
最大化するために、チャートに表示される
ローソク足の上限数を設定します。

MT4のメニューバー「ツール → オプション」
を開きましょう。

MT4_historydata1

チャートタブの

◆ ヒストリー内の最大バー数
◆ チャートの最大バー数

両方に9を10個以上(9999999999・・・)
入力し、OKをクリックします。

MT4_historydata2

再度、MT4のメニューバー「ツール → オプション」
を開き、チャートタブの

◆ ヒストリー内の最大バー数
◆ チャートの最大バー数

両方が2147483647(MT4の最大数)であることを
確認して、OKをクリックします。

MT4_historydata3

最後に、MT4を再起動して設定を反映させます。

最初にチャートタブを開いたときに2147483647
を入力しても構いませんが、間違えを防ぐために
9を10個以上入力することをお勧めします。

この設定は、ヒストリーデータの取得や
バックテストには必要ですが、このままEAを
動かしたり裁量トレードすると、動作が
とても重くなってしまい不便です。

といいますか、トレード手法によっては
致命的です。(((( ;゚д゚)))あわわわ

そのため、トレードするときに設定を
元に戻すか、バックテスト用とトレード用、
別々のMT4をインストールする必要があります。

(3) ヒストリーデータの取得(使用FX業者)

ヒストリーデータの信頼性は、
使用するFX業者 > FXDD社 > MetaQuotes社
です。

しかし、MT4をダウンロードした直後の、
実際に使用するFX業者のサーバーに残って
いるヒストリーデータ量は、FX業者に
よって異なりますが、せいぜい1~3か月程度
です。

そして、FXDD社が提供しているヒストリー
データは2005年からです。

MetaQuotes社は、1998年以前のヒストリー
データにおいて、1分足がなぜか1日毎に配置
されていますので、なんとか使い物になる
のは1999年からです。

というわけで、現状知る限り最もまともに
検証できるバックテストをするには、以下の
ヒストリーデータを集めることが必要です。

◆ 1998年以前: 全く使い物にならないため除外。
◆ 1999~2004年: MetaQuotes社のヒストリーデータ
◆ 2005年~直近: FXDD社のヒストリーデータ
◆ 直近: 使用FX業者のヒストリーデータ

では、まず使用FX業者のヒストリーデータを
集めることから始めましょう。

MT4でヒストリーデータを取得したい通貨ペアの
1分足チャートを開きます。

MT4_historydata4

MT4で新規チャートを表示させる方法はこちら

MT4チャートの時間足を変更する方法はこちら

MT4ツールバーの「ツール → History Center」
をクリック。

MT4_historydata5

History Centerを開いたら、ヒストリー
データを取得したい通貨ペアの1分足を
選択します。

MT4_historydata6

一番上のデータをダブルクリックして、
日付の年を1970に変更します。

MT4_historydata7

すると、データの一番下に、1970年のダミー
データが現れます。
確認したら、閉じるボタンを押します。

MT4_historydata8

ヒストリーデータを取得したい通貨ペアの
1分足チャートで右クリックして更新を
選択します。

MT4_historydata9

正常に動けば、更新は数秒で終わります。
更新が終わったかどうかを確認するには
右下のダウンロードデータ量 〇/△ kb
の〇が大きく増えるところを見ます。

平日は新しい足が更新されていくので、
その後も1ずつ増加していきますが、
1000ほど一気に増加するのは一度きり
なので分かりやすいかと思います。

MT4_historydata10

また、MT4で過去チャートを表示する方法
で適当に古い日時を入力して

(例) 2000.01.01 00:00

チャートの左端に移動し、これ以上
ローソク足が増えなくなったことでも
確認できます。

更新が終わったら、MT4ツールバーの
「ツール → History Center」
をクリックしてHistory Center を開き、
先ほど作成したダミーデータを選択後、
削除をクリック。

閉じるをクリックした後、MT4を再起動
したら完了です。

MT4_historydata11

注意事項があります。
複数通貨ペアのヒストリーデータが必要な
場合、1つの通貨ペアの1分足チャートで
ヒストリーデータを取得したら、一度、
MT4を再起動してください。

MT4を再起動させずに次の通貨ペアの1分足
チャートでヒストリーデータを取得しようと
しても、取得できませんので気を付けましょう。

ちなみに、ヒストリーデータを取得したい
通貨ペアの1分足チャートで、PCの左矢印キー
もしくは専用ツールによる左スクロールでも
ヒストリーデータはダウンロードできます

(PCのEnterキーを押して、昔の日時を入力
する方法ではダウンロードできません)。

しかし、スクロールによるダウンロードでは、
「表示中データより昔のデータを少しください」
の繰り返しで数分もかかりますが、

今回紹介した方法では、
「1970年から今日までの間で抜けているデータ
をまるごと全部一気に送ってください」
と言ってるようなものなので、めちゃくちゃ
速く、数秒で完了します。

そして、一括でヒストリーデータを取得する
ので、途中のデータ欠落も起きにくいです。

(4) ヒストリーデータの取得(MetaQuotes社)

MT4でMetaQuotes社のヒストリーデータを
取得します。

MT4ツールバーの「ツール → History Center」
をクリック。

MT4_historydata5

History Centerを開いたら、ヒストリー
データを取得したい通貨ペアの1分足を
選択します。

MT4_historydata6

現在の最も古いデータを確認し、Downloadを
クリックします。

MT4_historydata12

すると、以下のメッセージが表示されます。

MT4_historydata13

ざっくり意訳すると次のようになります。

「MetaQuotes社(MT4開発元)のデータを
ダウンロードしようとしています。
使用しているFX業者のデータではない
ことに気を付けてください。」

確認したら、OKをクリックしましょう。

ダウンロードが開始します。
ダウンロード中は、History Centerウィンドウが
グレーになり、下にメーターとストップボタンが
表示されます。

MT4_historydata14

メーターが緑でいっぱいになるとダウンロード
完了です。
完了すると、いつものHistory Center画面に
戻ります。

ダウンロード前にあったデータは、
ダウンロードした同じ日時のデータに
上書きされます。

ダウンロードした一番昔のデータを確認後、
閉じるボタンをクリックします。

MT4_historydata15

MT4を再起動してデータを反映させたら
完了です。

複数通貨ペアのヒストリーデータが必要な
場合、使用FX業者のヒストリーデータを
取得したときとは異なります。

1通貨ペアでヒストリーデータをダウンロード
したごとに再起動する必要はありません。

複数通貨ペアにおいて上記操作を繰り返した
後、最後にMT4を1回再起動すればOKです。

(5) ヒストリーデータの取得(FXDD社)

MT4でFXDD社のヒストリーデータを取得
します。

まず、FXDD社のホームページから、必要な
通貨ペアの1分足のヒストリーデータを
ダウンロードして解凍します。

FXDD社の1分足ヒストリーデータはこちら

MT4_historydata16

MT4ツールバーの「ツール → History Center」
をクリック。

MT4_historydata5

History Centerを開いたら、ヒストリー
データを取得したい通貨ペアの1分足を
選択します。

MT4_historydata6

「インポート」ボタンをクリックすると
インポートウィンドウが表示されます。
「Browse」ボタンをクリックして、FXDD社
でダウンロードした該当通貨ペアの1分足
のヒストリーデータを選択後、「OK」を
クリックします。

MT4_historydata17

FXDD社の該当通貨ペアの1分足ヒストリー
データが表示されたら、「閉じる」ボタン
をクリックします。

MT4_historydata18

MT4を再起動してデータを反映させたら
完了です。

複数通貨ペアのヒストリーデータが必要な
場合、使用FX業者のヒストリーデータを
取得したときとは異なります。

1通貨ペアでヒストリーデータをダウンロード
したごとに再起動する必要はありません。

複数通貨ペアにおいて上記操作を繰り返した
後、最後にMT4を1回再起動すればOKです。

(6) ヒストリーデータの1分足データから他時間足データを作成

これまで、

◆ 1999~2004年: MetaQuotes社
◆ 2005年~直近: FXDD社
◆ 直近: 使用FX業者

の1分足のヒストリーデータを取得して
きました。

バックテストに必要なヒストリーデータ
をすべての時間足で用意するために、
ツールを使って、1分足のヒストリーデータ
からすべての時間足のヒストリーデータを
作成しましょう。

そのツール、自動計算するスクリプトは
「period converter ALL」といいます。
以下URLで公開されていますので
ダウンロードしてください。

https://www.mql5.com/ru/code/11201

「period_converter_ALL.mq4」と書かれて
いるリンクを右クリックして、
「名前を付けてリンク先を保存」を選択。

任意のフォルダに保存しましょう。
今回は、デスクトップに保存しました。

MT4_historydata27

つづいて、MT4にperiod converter ALLを
導入します。

「ファイル」→「データフォルダを開く」→「MQL4」→「Scripts」
と開き、デスクトップに保存した
period converter ALLをScriptsフォルダ
にコピーします。

MT4_historydata28

period converter ALLをScriptsフォルダ
にコピーしたら、ナビゲーターウィンドウの
「スクリプト」上で右クリックし、「更新」
を左クリックして反映させます。

MT4_historydata29

これで、MT4にperiod converter ALLが
導入されました。

MT4にperiod converter ALLを導入したら
「ファイル → オフラインチャート」を選択
します。

MT4_historydata20

オフライン・チャート一覧ウィンドウが表示
されたら、バックテストしたい通貨ペアの1分足
(例えばEURUSD,M1)を開きましょう。

MT4_historydata21

オフラインチャートが表示されたら、
MT4ツールバーの「Navigator」アイコンを
クリックして、ナビゲーターウィンドウを
表示させます。

※ 通常は初期設定で表示されています。

MT4_oneclick

MT4のナビゲーターウィンドウの「Scripts」
をダブルクリックして「period_converter_ALL」
を探し、オフラインチャートが選択されている
のを確認して実行します。

MT4_historydata22

スクリプトが動き始めると、ターミナル
ウィンドウのExpertsタブ(MT4の下の方)に、
下から順番に

「period_converter_ALL EURUSD,M1:loaded successfully」
「period_converter_ALL EURUSD,M1:deinitialized」
「period_converter_ALL EURUSD,M1:uninit reason 0」
「period_converter_ALL EURUSD,M1:removed」

のような形で表示され、処理が終了します。

MT4_historydata23

MT4の「ファイル → オフラインチャート」
を選択し、オフライン・チャート一覧
ウィンドウを表示します。

バックテストしたい通貨ペアのM1以外
(M5,M15,M30,H1,H4,Daily,Weekly,Monthly)
がM1とだいたい同じくらいの期間で
ヒストリーデータが作成されたことを
確認してください。

MT4_historydata24

「キャンセル」ボタンをクリックし、
オフラインチャートを閉じたらヒストリー
データの取得作業はすべて完了です。

お疲れ様でした^^

(7) まとめ

【MT4でEAのバックテストをするために必要な、ヒストリーデータを取得する方法】

◆ バックテスト用とトレード用、別々の
MT4をインストールしよう。

◆ 自動生成されたヒストリーデータを削除しよう。

◆ バックテスト期間を最大化しよう。

◆ 長期の1分足ヒストリーデータを取得しよう。
信頼性は(使用FX業者)>(FXDD社)>(MetaQuotes社)

◆ ヒストリーデータの1分足データから
他時間足データを作成しよう。

◆ おそらくもう使わない自動生成された
ヒストリーデータを大事に保存している
小心者はどこのどいつだぁ~い?
・・・わたしだよっ!(ネタ古っ)

【追記】
ヒストリーデータを定期的に継ぎ足す方法
続・MT4でヒストリーデータを取得する方法

P.S.
MT4_indicator

にゃんこ「くっ、あの時、ビニール袋にさえ手を
出さなければこんな事には・・・っ!」

単にビニール袋を引きずっているだけかい!!


もっと詳しく知りたい事や
理解できなかった事などございましたらお気軽にご連絡下さい。

お問い合わせはこちらからどうぞ

あなたの応援のおかげで明日も頑張って記事が書けます
本日のランキング応援クリックありがとうございました(*'-'*)

にほんブログ村 為替ブログ FX初心者向けアドバイスへ
  • RSSを購読する

次の記事 »
前の記事 »
トップページへ » FX情報商材レビュー評価 実践検証ブログ ☆禁断の世界☆

この記事のコメント

FX初心者さま

> すごく丁寧なご解説ありがとうございます。
> ヒストリカルデータ取得できました。
> 他の記事もいつも参考にさせて頂いております。

ブログをご覧いただきありがとうございます^^
いえいえ、どういたしまして。
記事がお役に立てましたようで良かったです。
すごく丁寧なご解説ありがとうございます。
ヒストリカルデータ取得できました。
他の記事もいつも参考にさせて頂いております。
[…] https://efxcursion.com/812.html  […]
[…] https://efxcursion.com/812.html  […]
[…]   ※ ヒストリーデータ取得方法 […]
[…]   ※ ヒストリーデータ取得方法 […]
AB 様

> 早速御回答いただき、ありがとうございました。
> アドバイスに基づき、MT4(Build600以上)をCドライブ直下に
> インストールして、ヒストリーデータ取得を試します。

いえいえ、どういたしまして。
うまくいくといいですね^^
裕-ひろ 様

早速御回答いただき、ありがとうございました。
アドバイスに基づき、MT4(Build600以上)をCドライブ直下にインストールして、ヒストリーデータ取得を試します。
AB 様

> 先日は、ヒストリー データの取得に関して早急に御回答いただき、ありがとうございました。

いえいえ、どういたしまして。



> (F)「(5)ヒストリーデータの取得(FXDD社)」 … Dドライブのこれまでの作業とは重ならない新規のフォルダーに格納
> なお、(F)(「(5)ヒストリーデータの取得(FXDD社)」)の作業でインポートしたhstデータを「Browse」ボタンで特定する際、
> 貴方ブログでは、EURUSDの1分足のデータが一覧となって表示されています
> (例:1行目 2012.12.28 22:59、2行目 同 22:58…、7行目 同 22:53)が、私のPCには全く表示されていません。

build625のMT4で再確認してみましたが、私のPCでは、やはり問題なくEURUSDの1分足のデータが一覧となって表示されます。



> 現状
>  「(5)ヒストリーデータの取得(FXDD社)」の途中で、1分足チャートを表示させたい通貨ペア
> (9通貨ペアで、1画面に9通貨ペアの1分足を並べて表示)のチャート内容が表示されず、
> 各チャートに「アップデート待機中」と表示されている。

上記のbuild625のMT4でEURUSDの1分足のデータをインポート後、MT4を再起動しましたら、
私のPCでは、オフラインチャート、通常のオンラインチャートともにインポートしたヒストリーデータ
が問題なく反映されました。



> 前回照会以前に、FXDDのMT4(Build 600以上)をWindows 7の「Dドライブ」 > 「Program Files」
> にインストールし、使用したい9通貨ペアの各時間足チャートに使用したいインジケータが表示され、
> チャートが描画されることを確認済み。

Build 600系では、Program Filesの下にMT4をインストールしても問題が発生しないように
バージョンアップしたとの情報がありましたので大丈夫なのかもしれません。

ただ、今まで使っていたBuild 500系までのMT4では問題が発生することがあった関係で
私は、以下の場所にMT4フォルダをインストールしています。
( http://efxcursion.com/613.html 13参照)

コンピューター → ローカルディスク(C:) → MT4(自分でつくったフォルダ名) → MT4フォルダ

私との環境の違いは、今のところ頂いた情報の範囲ではその点です。
上述の問題が私の環境では発生しなかったことから、もしかするとMT4フォルダの
保存場所を変更しますと問題が解決するかもしれません。



以上、ご参考になりましたら幸いです^^
裕-ひろ 様

先日は、ヒストリー データの取得に関して早急に御回答いただき、ありがとうございました。

回答内容のとおり作業を進めたのですが、ヒストリー データが以下のとおり画面上に表示されないので、長文で申し訳ありませんが、再照会させていただきます。よろしくお願い申し上げます。

現状
 「(5)ヒストリーデータの取得(FXDD社)」の途中で、1分足チャートを表示させたい通貨ペア(9通貨ペアで、1画面に9通貨ペアの1分足を並べて表示)のチャート内容が表示されず、各チャートに「アップデート待機中」と表示されている。

これまでの作業内容
 前段
  前回照会以前に、FXDDのMT4(Build 600以上)をWindows 7の「Dドライブ」 > 「Program Files」にインストールし、使用したい9通貨ペアの各時間足チャートに使用したいインジケータが表示され、チャートが描画されることを確認済み。
 今回行った作業
  (A)FXDD社のMT4の「ファイル」 > 「データフォルダを開く」 > 「history」 > 「FXDD-MT4 Demo Server」内のhstデータ(172個)をDドライブの全く別のフォルダに移設
  (B)period_converter_ALL(のみ)をFXDD社のMT4の「ファイル」 > 「データフォルダを開く」 > 「MQL4」 > 「Scripits」に移設
  (C)「(2)バックテスト期間の最大化」
  (D)「(3)ヒストリーデータの取得(使用FX業者)」 = FXDD社
  (E)「(4)ヒストリーデータの取得(MetaQuotes社)」
  (F)「(5)ヒストリーデータの取得(FXDD社)」 … Dドライブのこれまでの作業とは重ならない新規のフォルダーに格納
   なお、(F)(「(5)ヒストリーデータの取得(FXDD社)」)の作業でインポートしたhstデータを「Browse」ボタンで特定する際、貴方ブログでは、EURUSDの1分足のデータが一覧となって表示されています(例:1行目 2012.12.28 22:59、2行目 同 22:58…、7行目 同 22:53)が、私のPCには全く表示されていません。

問題を切り分けるポイントが多く、申し訳ありません。アドバイスをよろしくお願いいたします。
AB 様

> 早速御回答くださり、ありがとうございました。
> 熟読して対処していきたいと思います。
> まずは、お礼まで。

いえいえ、どういたしまして^^
無事にヒストリーデータを取得できますよう
お祈りしております。
裕-ひろ 様

早速御回答くださり、ありがとうございました。
熟読して対処していきたいと思います。
まずは、お礼まで。
AB さま



> 解説が非常に細かいので、参考にさせていただいております。

ご参考いただきありがとうございます^^



> さて、MT4でヒストリーデータを取得して適用することについてですが、
> MT4がFXDDのデモバージョンで、Build 600以上、かつ、Windows 7
> の時は、どのような手順で作業すればよろしいのでしょうか?

> 私は、トレード参考用として用いているMT4(FXDD社以外で、
> Build 600未満のもの)をDドライブに、今回検証用に用いるFXDD版
> (Build 600以上)をCドライブに導入しましたが、共に、historyフォルダー
> に格納されているhstデータは、申し訳程度のものであり、Build 600
> 以上で「ファイル」>「データフォルダを開く」で開かれたCドライブの
> ユーザーフォルダーにはhstファイルが多数格納されていました。

> 以上から察すると、Build 600未満・以上でも、hstデータはCドライブ
> のユーザーフォルダーに格納されていると感じられます
> (確定できないのは、Build600未満の時にhistoryデータの格納場所
> を調べたことが無かった。)。

> 当該フォルダーに多数格納されているhstデータを全部削除or待避
> させるのでしょうか? 

> また、FXDD社版のMT4で検証したいと思っていますので、
> 当ブログ掲載の手順(3)ヒストリーデータの取得(使用FX業者)
> ~(5)ヒストリーデータの取得(FXDD社)をどのように適応させれば
> よろしいでしょうか?



・MT4がFXDDのデモバージョン
・Build 600以上
・Windows 7

の条件ですね。

はい、おっしゃるとおり、本記事
(1) 自動生成されたヒストリーデータの削除
の操作の代わりに、

MT4左上の
「ファイル」>「データフォルダを開く」>「history」>「バックテストしたいサーバー」
の中にあるhstデータを全部削除or待避させる操作を行います。



その後は、period_converter_ALL.mq4を以下フォルダに入れておくことに気をつけて
「ファイル」>「データフォルダを開く」>「MQL4」>「Scripts」
本記事どおりの操作をされてくださいませ。

使用FX業者とFXDD社が同じとのことで、操作が変わるかもしれないと
お考えなのかと思われます。

ただ、(5)ヒストリーデータの取得(FXDD社)の操作で得られるヒストリーデータ
より、(3) ヒストリーデータの取得(使用FX業者)の操作で得られるヒストリーデータ
の方がヒストリーデータの抜け落ちが少なく、精度が高いものが得られます。

そのため、本記事どおりの操作を行っていただければ宜しいかと存じます。



これらの操作が終わりましたら、本記事最下部の

【追記】
ヒストリーデータを定期的に継ぎ足す方法
続・MT4でヒストリーデータを取得する方法
→ http://efxcursion.com/1443.html

で定期的にヒストリーデータを取得いただきますと、精度の高いデータ
を得られますので宜しければご覧下さいませ。



以上、ご参考になりましたら幸いです^^
解説が非常に細かいので、参考にさせていただいております。
さて、MT4でヒストリーデータを取得して適用することについてですが、MT4がFXDDのデモバージョンで、Build 600以上、かつ、Windows 7の時は、どのような手順で作業すればよろしいのでしょうか?
私は、トレード参考用として用いているMT4(FXDD社以外で、Build 600未満のもの)をDドライブに、今回検証用に用いるFXDD版(Build 600以上)をCドライブに導入しましたが、共に、historyフォルダーに格納されているhstデータは、申し訳程度のものであり、Build 600以上で「ファイル」>「データフォルダを開く」で開かれたCドライブのユーザーフォルダーにはhstファイルが多数格納されていました。以上から察すると、Build 600未満・以上でも、hstデータはCドライブのユーザーフォルダーに格納されていると感じられます(確定できないのは、Build600未満の時にhistoryデータの格納場所を調べたことが無かった。)。当該フォルダーに多数格納されているhstデータを全部削除or待避させるのでしょうか? また、FXDD社版のMT4で検証したいと思っていますので、当ブログ掲載の手順(3)ヒストリーデータの取得(使用FX業者)~(5)ヒストリーデータの取得(FXDD社)をどのように適応させればよろしいでしょうか?
以上、よろしくお願い申し上げます。
う-ちゃんさま

> とてもわかりやすい解説HPありがとうございます。バックテストすごく参考になります。

いえいえ、どういたしまして^^

> 実はMT4 509バージョンで1分足以外の足を生成するperiod_converter_ALL.mq4がうまく動きません。
> Cannot open file 'C:\Program Files (x86)\MetaTrader 4\experts\scripts\period_converter_ALL.ex4'
> とエラーが出てしまって進みません。理由は何が考えられますでしょうか?

おそらくProgram Files (x86)にMetaTrader 4フォルダを保存しているためだと考えます。
MetaTrader 4 の細かい不具合のほとんどはこれに起因します。

解決策としては、 http://efxcursion.com/613.html の真ん中あたり13の項目をご覧下さい。
Cドライブ直下に新しいフォルダを作って、そこにMetaTrader 4フォルダを保存することをお勧めします。

以上、ご参考になりましたら幸いです^^
裕-ひろさま
とてもわかりやすい解説HPありがとうございます。バックテストすごく参考になります。
実はMT4 509バージョンで1分足以外の足を生成するperiod_converter_ALL.mq4がうまく動きません。Cannot open file 'C:\Program Files (x86)\MetaTrader 4\experts\scripts\period_converter_ALL.ex4'とエラーが出てしまって進みません。理由は何が考えられますでしょうか?
[...] ◆ MT4でヒストリーデータを取得する方法 [...]
TAKAさま

> とりあえず5分足と15分足だけでもと思い”period converter ALL”ではなく”period converter”を使いました。(外国のサイトは怖いので^^;)
> しかし、ターミナルウィンドウには何も表示されませんでした。
> これは成功してるのでしょうか。period converterを使ったときはターミナルウィンドウには何も表示されないのでしょうか。

残念ながら上手くいっていない可能性が高いです。
例えば USDJPY M1 オフラインチャートのデータをperiod converterで5分足にコンバートすると、
ターミナルウィンドウのエキスパートタブに以下が表示されます。

period_converter USDJPY,M1: 982780 record(s) written
period_converter USDJPY,M1 inputs: ExtPeriodMultiplier=5;
period_converter USDJPY,M1: loaded successfully

その後、USDJPY M1 オフラインチャートを削除すると以下が表示されます。

period_converter USDJPY,M1: removed
period_converter USDJPY,M1: uninit reason 4
period_converter USDJPY,M1: deinitialized

上手くいっていない原因は不明ですが、どうしても上手くいかないのであれば、やはり
素直にperiod converter ALLを使われたほうが良いかと思います。

period converter ALL を使ってPCに異常が起きたというご報告は、今のところ聞いた
ことがありませんので^^;
度々申し訳ありません。
(6)の「他時間足データを作成」について質問させてください。

とりあえず5分足と15分足だけでもと思い”period converter ALL”ではなく”period converter”を使いました。(外国のサイトは怖いので^^;)
しかし、ターミナルウィンドウには何も表示されませんでした。
これは成功してるのでしょうか。period converterを使ったときはターミナルウィンドウには何も表示されないのでしょうか。

ちなみにオフライン・チャート一覧を見ると、5分足や15分足以外の他の時間足もM1とほぼ同じ期間でヒストリーデータが作成されています。
しかしこれはperiod converterを使う前からだと思います。
TAKAさま

> 初歩的な質問で申し訳ありません^^;

いえいえ^^

> ちなみに”データをダウンロードして解凍”の意味がわかっていません^^;
> そのことと何か関係あるのでしょうか。

おそらくそれが原因です^^;
解凍せずzip形式のままですと表示されないかと思います。

データの解凍には、特に指定はありませんが、例えば以下の
ようなソフトを使われると宜しいかと存じます。

http://talk-pc.sakura.ne.jp/easy_range.html

ご参考になりましたら幸いです^^
ヒストリーデータの取得の(5)でつまずいています。
今使っているMT4はFXDD社のものです。

Browseボタンを押して、ダウンロードしたはずのファイルを探しても見つかりません。(「ファイルの種類を選択」もしています)
直接ファイル名を打ちこんでも何もデータが表示されません。

ライブラリから探すと見つかるので、試しにファイルを開こうとすると、

[このファイルを開けません
ファイル:USDJPY.hst
このファイルを開くには、そのためのプログラムが必要です。~~]

と出てきます。
ちなみに”データをダウンロードして解凍”の意味がわかっていません^^;
そのことと何か関係あるのでしょうか。

初歩的な質問で申し訳ありません^^;
[...]   ※ ヒストリーデータ取得方法 [...]
Q さま

> 早速のお返事ありがとうございます!!

いえいえ^^

> お察しのとおり、1分足でBTしていました。
> EA自体は、他の足でも稼動するはずなので、別の足でも試してみます。

はい、他の足ならおそらく90%になると思います^^
裕-ひろさま

早速のお返事ありがとうございます!!

お察しのとおり、1分足でBTしていました。

> 1分足で稼動するEAでバックテストした場合、モデリング品質は最高25%になります。
> これは残念ながら解消できません。

そうだったんですか。。。知りませんでした。

EA自体は、他の足でも稼動するはずなので、別の足でも試してみます。
Q さま

> はじめまして。
> 数年MT4でEAを使っているんですが、いまだにまともにバックテストができたためしがありません。。。(^^;

> 今は、FXDDからとってきたM1のデータを使ってBTしているのですが、
> 「不整合チャートエラー 0」と、表示されているのですが、
> 「モデリング品質	25.00%」となっています。

> こんなことははじめてで、おどろいて
> 他のMT4でやってみたのですが、やはり同じことになります。

> これはどういうことなのでしょうか?
> どうしたら解消できますか?
> 「モデリング品質 25.00%」ということは、やっぱりこのBTは信頼できない結果ということでしょうか?

はじめまして、こんにちは。

もしかして1分足で稼動するEAをお使いではないでしょうか?
1分足で稼動するEAでバックテストした場合、モデリング品質は最高25%になります。
これは残念ながら解消できません。

ただ、通常1分足はモデリング品質が25%なので信頼性が低いと言われますが、
バックテスト結果と数百回実際にトレードした結果がほぼ一致したというデータ
を出されている方がおられます。

以上から、1分足で稼動するEAであるならば、モデリング品質が25%であっても
意外と信頼性は高いのではないかと考えます。

ご参考になりましたら幸いです^^
はじめまして。
数年MT4でEAを使っているんですが、いまだにまともにバックテストができたためしがありません。。。(^^;

今は、FXDDからとってきたM1のデータを使ってBTしているのですが、
「不整合チャートエラー 0」と、表示されているのですが、
「モデリング品質	25.00%」となっています。

こんなことははじめてで、おどろいて
他のMT4でやってみたのですが、やはり同じことになります。

これはどういうことなのでしょうか?
どうしたら解消できますか?
「モデリング品質	25.00%」ということは、やっぱりこのBTは信頼できない結果ということでしょうか?
きたむら さま

はじめまして、裕-ひろ です。

> バックテスト始めたばっかりなんですが ヒストリーを消して 新しいヒストリーデータを入れてやってみたんですが
> 不整合チャートエラーが出てしまいます。どうしたらよいかおしえてください。

私のほうでは、そのエラーは発生したことがありませんので、なんとも言えないのですが、予想される原因を考えてみました。

バックテスト結果の不整合チャートエラーは、バックテスト対象時間足とバックテストで実際に測定に使用したより小さい時間足
との不一致によるエラー数を示しています。
つまり、上記記事の (6) ヒストリーデータの1分足データから他時間足データを作成 の作業が上手くできていない可能性
が高いです。

バックテストしたい通貨ペアの1分足のオフラインチャート上でperiod converter ALLを使用した際に、ターミナルウィンドウの
Expertsタブ(MT4の下の方)に、下から順番に

「period_converter_ALL EURUSD,M1:loaded successfully」
「period_converter_ALL EURUSD,M1:deinitialized」
「period_converter_ALL EURUSD,M1:uninit reason 0」
「period_converter_ALL EURUSD,M1:removed」

という表示が正常にされましたでしょうか?



また、下のほうのコメント欄もご覧いただいておられるかと思いますので、ご存知かと思いますが、
以下のようなことも考えられます。

【原因1】

efxcursion.com/613.html の13に記載の、Cドライブ直下に
新しいフォルダを作り、そこにメタトレーダーフォルダを保存
するという操作がなかった。

MT4の不具合の原因は、ほとんどがこれに起因します。



【原因2】

Windows8を使っている。

調査してみたところWindows8は現在MT4に正式対応
されていないようです。

参考URL) http://okwave.jp/qa/q7914831.html 

それが動作不良の原因ならば、Windows8をWindows7
以下のバージョンに互換するとMT4が正常に動作する
可能性があります。

互換方法) http://faq.epsondirect.co.jp/faq/edc/app/servlet/relatedqa?QID=010924#a2



以上、ご参考になりましたら幸いです^^
はじめまして。きたむらと申します。
バックテスト始めたばっかりなんですが ヒストリーを消して 新しいヒストリーデータを入れてやってみたんですが 不整合チャートエラーが出てしまいます。どうしたらよいかおしえてください。

お願いします。
恵子 さま

> FXDDでバックテストをしたいのですが、ヒストリーセンターの1分足のインポートはできました。
> 5分と15分足のヒストリーデーターだけ取得したいのですが、方法はありますか?
> 「period converter ALL」は全ての足まで取得されて、わたしのパソコンではかなり重いようです。

はい、ありますよ。
「period converter ALL」の代わりに、MT4に最初から入っている 「period converter」という
スクリプトをお使い下さい。

使い方参照URL) http://www.auto-fx.info/articles/ja_10014.html

ご参考になりましたら幸いです^^
コメントを入力
FXDDでバックテストをしたいのですが、ヒストリーセンターの1分足のインポートはできました。
5分と15分足のヒストリーデーターだけ取得したいのですが、方法はありますか?
「period converter ALL」は全ての足まで取得されて、わたしのパソコンではかなり重いようです。
TOSSY さま

> お世話になります。
> 新たにMT4を入れてみましたところ、以前同様、スムーズに稼働、バックテストも問題なくできるようになりました。

無事、バックテストができるようになって良かったです^^

> たくさんの事を教えていただき、お付き合いいただきありがとうございました。

いえいえ、どういたしまして^^
裕-ひろ様

お世話になります。
新たにMT4を入れてみましたところ、以前同様、スムーズに稼働、バックテストも問題なくできるようになりました。

たくさんの事を教えていただき、お付き合いいただきありがとうございました。
TOSSY さま

> 追記でお願いいたします。
> わかりませんが1Mのデータをほか時間にする際オフラインチャートにするかと思いますが
> そのチャート一覧にヒストリーデータも欄に青でG、USDCAD,H1(Evey tick1)Barsに
> 60230718と今までにないような記載があり、その場所を開けてみるとUSACAD60_0.fxt 
> 日時 FXTファイル 3,058,592KBというものがありました。
> これは何か関係あるのでしょうか?

う~ん、はじめて見ましたね^^;



> ログファイル削除してみました。ヒストリーデータを再度入れてみました。
> しかしながら、テスターの操作履歴に
> TestGenerator: unmatched data errorが大量に出ました。
> ほんの数日前までにはエラーも出ず、バックテストもスムーズにできていたのですが…
> 自分でもどこに手を付けたかわからなくなりました・・・
> 再度MT4を入れ直すと、ゼロの状態に戻りますか?
> 入れなおしてもログインするとブローカのデータがあり、同じ状態の戻るのでしょうか?

はじめからやり直したほうが良さそうですね^^;

MT4を上書きしてインストールしたことはないので、ゼロの状態に戻るかどうかは不明です。
ただ、追加でフォルダ名を変えてMT4をインストールした場合は、ゼロの状態のものが
手に入ります。
その際の注意点は、以下URLをご参照ください^^

http://bit.ly/149YbRD
http://bit.ly/11R5DC0
裕-ひろ 様

追記でお願いいたします。
わかりませんが1Mのデータをほか時間にする際オフラインチャートにするかと思いますがそのチャート一覧にヒストリーデータも欄に青でG、USDCAD,H1(Evey tick1)Barsに60230718と今までにないような記載があり、その場所を開けてみるとUSACAD60_0.fxt 日時 FXTファイル 3,058,592KBというものがありました。

これは何か関係あるのでしょうか?
裕-ひろ 様

ご返信ありがとうございます。
ログファイル削除してみました。ヒストリーデータを再度入れてみました。
しかしながら、テスターの操作履歴に
TestGenerator: unmatched data errorが大量に出ました。
ほんの数日前までにはエラーも出ず、バックテストもスムーズにできていたのですが…

自分でもどこに手を付けたかわからなくなりました・・・
再度MT4を入れ直すと、ゼロの状態に戻りますか?

入れなおしてもログインするとブローカのデータがあり、同じ状態の戻るのでしょうか?
TOSSYさま

> 操作履歴
> HistoryBase: not enough memory 'USDCAD60' [52225 bars]
> Memory handler: cannot allocate 2800403716 bytes of memory
> テスターの操作履歴
> TestGenerator: unmatched data error (volume limit 2024 at 2013.06.07 19:00 exceeded)  かなりの数
> にそれぞれ表示され、今まで一度もなかったMismatched charts errorsが赤字で11081で出ました。

どうやらメモリ不足のようですね。
以前は、正常にバックテストができておられたということですので、おそらくMT4を使用しているうちに
ログファイルが大きくなってメモリ不足になったのではないかと考えられます。

参考URL) http://ealog.jp/2011/10/1353/

ログファイルは取引に異常があった場合の証拠になりますので(バックテスト専用のMT4を用意されて
おられると思いますのであまり関係ないかもしれませんが^^;)、どこかMT4以外のフォルダに移動
させておくと良いかもしれません。



もしくは、稼動しているEA数が以前より増えて、メモリ不足になっておられませんでしょうか?
その場合は、PCをお使いならメモリ増設するか、もっとメモリの大きいPCを購入、VPSをお使いなら
もっとメモリの大きいプランに変更する必要があります。
裕-ひろ 様

ご返信ありがとうございます。
Allow DLL importsにチェックは入っていましたが
バックテストはなぜか稼働するようになりましたが
操作履歴
HistoryBase: not enough memory 'USDCAD60' [52225 bars]
Memory handler: cannot allocate 2800403716 bytes of memory
テスターの操作履歴
TestGenerator: unmatched data error (volume limit 2024 at 2013.06.07 19:00 exceeded)  かなりの数
にそれぞれ表示され、今まで一度もなかったMismatched charts errorsが赤字で11081で出ました。
どこが悪いか見当もつきません。
TOSSYさま

> いずれにしましてもご指南の通り、やってみたいと思います。
> ありがとうございます。

いえいえ^^

> PipjetというEAバックテストしていますが数分で終わり、バックテスト
> できていない状態で終わり、
> Pipjet USDCAD,H1:dll calls are not allowed; Pipjet.dll-CheckVersion
> Pipjet USDCAD,H1:expert stopped
> Pipjet USDCAD,H1:dll calls are not allowed; Pipjet.dll-Decrement
> Pipjet USDCAD,H1:expert stopped
> の記載が出ました。

Pipjetのバックテストのエラーに関しては、同チームが開発した
前作のMegaDroidでも同様のエラーが発生した例を見つけました。
→ http://okwave.jp/qa/q5599706.html

DLL化してプロテクトをしている関係上、エラーが発生したようです。
MT4のメニューから「ツール」→「オプション」→「Expert Advisors」
を選択し、「Allow DLL imports」にチェックを入れ、
「Confirm DLL function calls」にはチェックしないようにすると
正常動作したとのことです。

もしかしたら、何かの拍子に「Allow DLL imports」のチェックを
外してしまっておられないでしょうか?
裕-ひろ様

早速のご回答ありがとうございます!
私はThink Forexを使っていますが以前、MT4を起動している最中フリーズし、稼働できなくなったので、サポートに聞いたところWin7,8はデスクトップ

に新規フォルダを作成し、MT4をDLしてくださいとの回答でしたでのその通りDLしたところ、うまく稼働するようになり、裕-ひろ様ブログのヒストリーデータ取得をそのままさせていただき、バックテストもできていました。

昨日、バックテストをしていたところ、Strategy Tester ReportにMismatched charts errorsの赤字の項目が出てきて、いつもと違うと思っていたところ、直後ではありませんがフリーズし、MT4を再起動しても、フリーズしていましたので、削除、再度DLし、ヒストリデータを取得していたところ、今回の質問のようになりました。
PipjetというEAバックテストしていますが数分で終わり、バックテストできていない状態で終わり、
Pipjet USDCAD,H1:dll calls are not allowed; Pipjet.dll-CheckVersion

Pipjet USDCAD,H1:expert stopped

Pipjet USDCAD,H1:dll calls are not allowed; Pipjet.dll-Decrement

Pipjet USDCAD,H1:expert stopped
の記載が出ました。

いずれにしましてもご指南の通り、やってみたいと思います。
ありがとうございます。
TOSSYさま

> いつも参考にさせていただいてます。

ブログをご覧いただきありがとうございます^^



> 質問させていただきます。
> period_converter_ALLのところまで行きましたがその結果、
> Script period_converter_ALL ,USDCADM1:removed」
> Script period_converter_ALL USDCAD,M1:loaded successfully」
> の表示になりました。
> その前にHistoryBase 2  errors USDCAD1という表示もあった
> のですが何か関係ございますでしょうか?
> ご指南よろしく願います。

エラーが発生して、バックテストしたい通貨ペアのM1以外
(M5,M15,M30,H1,H4,Daily,Weekly,Monthly)のヒストリーデータ
がM1とだいたい同じくらいの期間で作成されなかったという
理解であっておりますでしょうか?

私のほうでは、そのエラーは発生したことがありませんので、
なんとも言えないのですが、予想される原因を考えてみました。



【原因1】

efxcursion.com/613.html の13に記載の、Cドライブ直下に
新しいフォルダを作り、そこにメタトレーダーフォルダを保存
するという操作がなかった。

MT4の不具合の原因は、ほとんどがこれに起因します。



【原因2】

Windows8を使っている。

調査してみたところWindows8は現在MT4に正式対応
されていないようです。

参考URL) http://okwave.jp/qa/q7914831.html 

それが動作不良の原因ならば、Windows8をWindows7
以下のバージョンに互換するとMT4が正常に動作する
可能性があります。

互換方法) http://faq.epsondirect.co.jp/faq/edc/app/servlet/relatedqa?QID=010924#a2



以上、ご参考になりましたら幸いです^^
いつも参考にさせていただいてます。

質問させていただきます。
period_converter_ALLのところまで行きましたがその結果、
Script period_converter_ALL ,USDCADM1:removed」
Script period_converter_ALL USDCAD,M1:loaded successfully」
の表示になりました。
その前にHistoryBase 2  errors USDCAD1という表示もあったのですが何か関係ございますでしょうか?
ご指南よろしく願います。
[...] が必要ですので、まだ用意できていない方は MT4でヒストリーデータを取得する方法 [...]

この記事へのコメント

あなたの応援のおかげで明日も頑張って記事が書けます
本日のランキング応援クリックありがとうございました(*'-'*)

にほんブログ村 為替ブログ FX初心者向けアドバイスへ

メルマガ禁断の世界 FX初心者が30年で10万を
1億にするための入門講座


FX(外国為替証拠金取引)初心者が30年間
で10万円を1億円にするためのノウハウを
公開中♪

FXはしょせんギャンブル??? FXはごく一部の選ばれた人間しか勝てない???
そんなことはありません!!!

FXで資産を増やすために必要なのは多少の投資とやる気だけです(・∀・)9
あなたもFXでいっぱい資産を増やして自由な暮らしと安心な老後を手に入れませんか?

ネコの眼

メルマガをご登録頂いた方、限定で無料プレゼント

今ならメルマガをご登録頂いた方にもれなく、口座状況
の途中経過 確認ツール「ネコの眼」(MT4で動作
するEA)を無料プレゼントさせて頂きます。

ネコの眼を活用すると、ポジションを持っている間、
ローソク足が切り替わったタイミング(始値)で
定期的にメールやアラートにより口座状況の確認
ができます。

サインツールやFX自動売買(EA)を使ったトレード、
裁量トレードを行っている際、口座状況の途中経過が
ついつい気になってしまわれる貴方の不安を和らげる
ためにお役に立てましたら幸いです。

※ 無料プレゼントはご登録頂いたメールアドレスに
お届けしますのでお時間のある際にご確認下さいね。

メルマガ登録はこちら

FX情報商材レビュー評価 実践検証ブログ ☆禁断の世界☆ TOP » Meta Trader 4 » MT4でヒストリーデータを取得する方法