タグクラウド
Firefox をダウンロード!!

ヒストリカルデータ・エクスポートスクリプト(MetaTrader 4用)。

posted by SBT at 2005-02-11(金) 23:13

MetaTrader 4から、チャートのデータをエクスポートするスクリプトを作りました。

テクニカル指標のスクリプトを作る過程での副産物です。

ヒストリカルデータ・エクスポート チャートのデータを、使いやすい形式でエクスポートできます。

主な機能は下記のとおりです。

 ・表示しているチャート(通貨ペア・時間軸別)の4本値をCSV形式でエクスポート
  (データ形式は、日付・時間・始値・高値・安値・終値)
 ・データの日付・時間を日本時間に変換


使用方法

 1.ダウンロードしたExport.ex4を、C:\Program Files\MetaTrader 4\experts\scripts\にコピーする。
  (MetaTrader 4を、C:\Program Files\MetaTrader 4\にインストールしている場合。)
 2.MetaTrader 4のNavigatorから、ScriptsのExportを選ぶ。
 3.表示しているチャートのデータが、C:\Program Files\MetaTrader 4\files\にエクスポートされます。

 ソースファイルからコンパイルする場合は、

 1.ダウンロードしたExport.zipを、C:\Program Files\MetaTrader 4\experts\scripts\に展開する。
  (MetaTrader 4を、C:\Program Files\MetaTrader 4\にインストールしている場合。)
 2.MetaTrader 4のToolsから、MetaQuotes Language Editorを起動する。
 3.FileのOpenから、Export.mq4を読み込む。
 4.FileのCompileで、ソースファイルをコンパイルする。
 5.MetaTrader 4のNavigatorから、ScriptsのExportを選ぶ。
 6.表示しているチャートのデータが、C:\Program Files\MetaTrader 4\files\にエクスポートされます。


チャートに表示する足の数は、メニューから、

 Tools → Options → Charts → Max bars in chart

で変更できます。


ダウンロード

ダウンロード数
1223回

コメント

Posted by ゆう at 2005-05-02(月) 11:29

はじめまして。
MetaTrader4の情報を探していたところたどりつきました。

早速データをエクスポートするスクリプトをダウンロードさせて頂いたのですが、
C:\Program Files\MetaTrader 4\experts\scripts\にコピーして
Metatrader4を起動してみたところNavigatorの中にはExportのスクリプトが入っていませんでした(:-;)
C:\Program Files\MetaTrader 4\experts\scripts\ を見てみるとコピーしたはずのExport.ex4が消えていました・・・。

何度か試したり、ソフトの再インストールをしたのですが同じ状況です。
Metatrader4を起動するたびにExport.ex4が消えてしまいます。

MetaTrader4は最新版を使っています。
OSはWindowsXP Pro SP2 です。

何か原因があるのでしょうか・・・。

Posted by SBT at 2005-05-02(月) 13:07

ゆうさん、はじめまして、コメントありがとうございます。

MT4なんですが、原因がわからないのですが、アップデートをすると、なぜかたまにスクリプトのファイルが消えてしまうことがあるようです。

ソースファイルを含めたファイルに差し替えたので、すみませんが、もう一度、ダウンロードして試してみてください。

ソースファイルからコンパイルすれば、おそらく大丈夫だと思います。

Posted by ゆう at 2005-05-02(月) 19:21

SBTさんわざわざありがとうございます。
おかげさまでできました!

これで手早く別のチャートソフトにデータを食べさせることができます♪
今まではヒストリーセンターからちまちまデータをExportしていたので・・・。

ほんとうにありがとうございました。

Posted by ねおん at 2005-07-10(日) 01:53

早速使わせていただきました。

表示中のチャートの内容をCSVに出力するのは確認できたのですが、任意の期間の内容を出力するにはC++APIのほうをたたかないとだめでしょうか?!

たとえば、2005/6の5分足がほしい!というときに、チャートをずりずりと6月のところに移動させていくのが面倒だなぁという理由なのですが・・・

Posted by SBT at 2005-07-10(日) 19:31

ねおんさん、はじめまして。

MetaTraderのヒストリカルデータについてですが、どうやら、オプションで指定したバー数分のデータを自動的にファイルに保存し、次回以降はそのファイルからデータを読み込むような仕様になっているようです。

読み込まれていないデータについては、チャートをスクロール等させて、表示したときに初めて読み込まれる仕様なようなので、MetaTrader自体では無理ではないかと思います。

ストラテジーテスターで、「ファイルの更新」にチェックを入れてバックテストを行うと、指定期間のデータがhistoryフォルダに保存されるようだったのですが、バイナリーデータのため、そのままでは使うことができませんでした。

分足ならば、ForexiteのデータがMetaTraderと同じデータかと思いますが、これも通貨ペアが混在しているので、加工が必要になります。

http://www.forexite.com/fre...

逆に、なにかいい方法があったら教えてほしいです。
今のところ、チャートを最小まで縮小してスクロールさせています(汗

Posted by ねおん at 2005-07-11(月) 23:03

教えていただいたURL凄いですね。

通貨タイプごとに混在しているとはいえ、1分足で5年分もありますし。

日付順でならんでいることですし、一括DLして、ほしい通貨タイプごとに値を分類するコードを書いてみようとおもいます。

ナイスな情報ありがとうございました!
また追って経過をお知らせします。

Posted by SBT at 2005-07-12(火) 01:13

ねおんさん、情報がお役に立ってよかったです。

その他、有名なところについては、

http://sufx.core.t3-ism.net...

の記事でもまとめています。

自動で加工するようにすれば、データの再利用もしやすくなってよいですね!

Posted by AT at 2008-07-22(火) 23:57

EXPORT SCRIPT 使わせていただいております。ありがとうございます。今やりたい分析に重宝しております。
そこで、質問なのですが、ヒストリカルデータではなく、separate_windowに表示されたインジケータなど、たとえばSTOCやMACDなどのデータをこのSCRIPTのフォーマットでEXPORTすることは可能なのでしょうか?
私のスキルではターミナルのメッセージにPRINTで値のみを垂れ流すことくらいしかできませんでした。どうかご回答お願いします。

Posted by SBT at 2008-07-23(水) 20:51

separate_windowsに表示されているインディケータ&パラメータを自動で取得したいというなら、それはできないかもですね。
自分でインディケータ&パラメータを指定して、それを出力したいというなら、それはできます。
PRINTまでできているのなら、これはそう難しくはないと思うので、ソースを参考にしてみてください。ファイルに保存しているだけですので。

Posted by AT at 2008-07-24(木) 00:30

すばやい回答ありがとうございます。
自分のやりたいことは、サブウインドウのインジケータの設定値に対する出力値に対し、日付と時間を加えEXPORTし、OFFLINEでINPORTし、プライス自体ではなく、その出力値自体を無理やりMAINチャートに取り込んで使おうという試みです。4本値が全て同じとなり、LINEチャートでしか見れませんが、MAINに取り込んでしまえば、後は普通に別のインジケータを乗せ、あるインジケータの値に対する、別のインジケータの値が見れるといったところです。全く関係ないですが、今地震があったので落ち着いてから考えて見ます。

Posted by SBT at 2008-07-24(木) 00:39

となると、後者になりますね。
ファイル保存部分はほぼそのまま使えると思います。
4本値の代わりに、インディケータ関数を使って、ファイルに保存する値を取得すればいいでしょう。
メインチャートでの表示はうまくいくかはわかりませんが。

地震、けっこう揺れましたねえ。

Posted by AT at 2008-07-27(日) 00:18

こんばんわ。SBTさんの助言で発想の転換ができました。
アドバイスを頂いた通り、SCRIPTで吐き出すのではなく、そのインジケータ自体にEXPORTソースを埋め込んでやってみました。
おかげさまで各時間足のそのBARに対する日付と時間と値をなんとか吐き出せる所まできました。
出力データはなぜか2行ずつになってしまい、
完全に狙いとおりの形にはなりませんでしたが、
自分のスキル上これ以上の展開は難しいので、後はEXCEL加工でMT4インポートできる形に成形してOFFLINEでの表示ということで、やりたいことが実現できました。
素人に付き合って頂き、ありがとうございました。

Posted by ビル at 2008-09-02(火) 00:51

Firefoxのユーザーです^^
MetaTrader4も大活躍してます^^
ヒストリカルデータ・エクスポートスクリプトをダウンロードさせて頂きました。
凄く重宝してます!
有難うございます。
3年以上も前に作られていたんですね。
MetaTraderを知ってから間もないので、たまに寄っては、色々勉強させてもらってます。
今後とも宜しくお願い致します。
コメント投稿

トラックバック

このエントリーへのトラックバックはありません。

トラックバックURL
http://core.t3-ism.net/trackback/153

このページの先頭へ