2006年09月26日

1分足の過去チャート(ヒストリカルデータ)を全自動で収集するアプリ - AutoForexite -

タイトルの通り、ボタン一発で「2001年~現在までのヒストリカルが全部揃うアプリ」を作りました。
Forexiteで無料公開されているデータをDLし、抽出や変換処理をします。

○ 動作画面はこんな感じ

2006-09-25.gif


○ このソフトはなんなのか

為替用のヒストリカルデータは、Forexite が大変便利で、2001年以降の1分足のデータを取得できますが

・ ファイルが1日ずつのまとまり
・ 1つのテキストファイルに全通貨が入ってるので、通貨別に抽出しなくてはいけない
・ それぞれのファイルを繋げないといけない
・ タイムゾーンがGMT +1:00 なので、ESTや日本時間で使うには変換が必要

という問題があり、その作業は複数のソフトを必要とし、めんどくさいものがありました。
それを自動でやってくれるのが今回作った AutoForexite です。
引数で自動モードにすれば、
『何もしなくても週末には、手元に最新のヒストリカルデータが揃ってる』という状態に出来ます。

Forexiteのデータは、MetaTraderでも使えるので、データを読み込めばMTでも5年半のバックテストが可能です。
(※MT4では、ツール >> Hisotorical Center からそれぞれのファイルを各通貨ペア別に取り込めます)

○ ダウンロード
AutoForexite ver 0.02
※2007年1月7日更新の最新Ver.
※windows用 (win XP SP1とSP2で動作確認。他のでもたぶん使えるんじゃないかと。)

※いつものお約束 : 使用して何か損なことが生じても責任とれませんので、ご承知ください

○ インストールとアンインストール。
DLしたzipファイルを解凍するだけです。
要らなくなったら、フォルダごとゴミ箱へぽい、でOK

○ つかいかた
 AutoForexite.exe を起動し
 実行ボタンをポチッと押せば、あとは自動です。

 抽出・変換されたデータはHistoricalDataというフォルダに保存されているので、それを使ってバックテストしてください。

 また、「2001年~現在までのマージファイルを作る」にチェックを入れると
 通常の処理のあと、全ての年を結合したファイルも作ります。
 (※ファイル名はデフォルト設定だと、1min_Merge.txt)

 ちなみに、動作中何かエラーがおきても、次に実行ボタンを押した時にこのソフトが全部調整して
 確実なヒストリカルデータを保ちます。
 
 ※初回起動はかなり時間がかかる(6年弱分のデータを処理する)ので
   土日とか寝てる間にやらせるのがオススメです。
   うちのAthlon 3400+, memory 1GBのPCで光回線(100MB占有)だと、4時間くらいかかりました。
  (追記:通常はだいたい1日ほどかかるようです)
   2回目以降は、足りない部分のみ追記していきます。
   あと、ヒストリカルデータそのものが大量なので、HDDに3GBくらいの空きが要ります。

 ※極まれに、ファイルが404 not foundになっている事があります。その場合そこで処理がストップします。
  ただ そのファイルも数時間ないし2~3日以内には復活するようなので
  エラーが出て進まない時は、少し時間を置いて再チャレンジしてみて下さい。
  (もし数日経っても改善しない場合はご報告ください)
  

○ こまかい動作説明
 OriginalArchive というフォルダに、ForexiteからDLしたデータが入ります。
 DLしたzipファイルはアプリが自動で解凍し、ファイル名を 日月年.txt という並びから
 使いやすい 年月日.txt の形にリネームします。

 …と言った細かい事は、まぁ知らなくてもつかえます。

○ 一歩上の使いこなし方
 抽出する通貨は、同梱の CurrencyList.txt に従ってます。
 要らない通貨などがあれば、CurrencyList.txt を開いて、先に通貨名を削除しておいてください
 (削除したら、行を詰めて、空白の行は残らないようにしてください)
 抽出する通貨を少なくすれば、処理がそれだけ短くて済み、HDDの容量も少なくて済みます。
 あと、もし今後Forexiteで対応する通貨が増えたら、ここにその通貨名を追加してください
 そうすれば、次からその新しい通貨も抽出・変換してくれます(大文字/小文字は正確に入れてください)

 書き出すファイルの書式は、AutoForexiteの画面上で設定できるので、
 変更したい場合は変更してください。
 普通に使う分には、初期設定でOKだと思います。

 動作のログは、プログラムと同じフォルダに作られる 「AutoForexite.log」 に記述されるので
 「ちゃんと成功してるのか?」というのが心配な方は、そこで確認してください。

○ さらに一歩上の使いこなし方
 起動時の引数に「auto」と指定してやると、実行ボタンを押さなくても、巡回して、抽出・変換し
 処理がおわったらプログラムも終了します。
 タスクスケジューラなどで、土曜の朝8時くらいに自動で巡回するようにしとけば
 何もしなくても、週末にはいつも最新のヒストリカルが手元に用意されてる、という状態にできます。
 引数って何?という方はここの「引数の与え方 (初心者さんのために)」を参照してください

○ 自動で楽ちん、、、というだけにとどまらないメリット
 このプログラムの作者は、ものすごい慎重に慎重を重ねる性格(車のドアとか、鍵かけたのわかってても3回くらい確認するタイプ)
 なので、毎回1ファイルを抽出・追記する時ファイルを3-5日遡って、データに被りがないかチェックする設計になってます。
 で、それで気付いたんですが、Forexiteのデータはたまにデータに被りがあります。
 まぁ大抵、その日最後の1分がダブッちゃう程度なんですが、
 たまに、土日→月の辺りで、1時間くらいまるごとダブっている事があるので、単純にテキストを繋ぎ合わせるだけのソフトを使ってた場合
 同じ1時間が2回繰りかえされたりとかしてる部分があるはずです。(※2003年8月-10月が特にダブりが多いです。しかも、メジャー通貨のみ被っている日や、マイナー通貨のみ被っている日など、規則性がないので気づきづらい)

 なので、そういったケースにも、この AutoForexite はオススメです。
 ファイルを繋ぎ合わせる時、被りは全部チェックして除去してくれます。
 
○ つまり、ログの「被った行、xxxx... を見つけたので、そこから再生成します」はエラーじゃなく、正常な動作です
 わざと被るデータを毎回送って、おかしなデータになってないかチェックするようにしてあるので、
 被りは常に発生します。
 そして、より新しいファイルのデータにしたがって書き直すようになってるという事です。
 だから、ログにある「被った行を見つけたので~」という表示は、正常な処理なので安心してください

○ もし、とある年度だけ、データの抽出・変換を1からやり直させたい場合は…
 OriginalArchive フォルダにある 「complete.atfx」 というファイルを削除してください。
 これは、ただのダミーファイルなので、消してもデータに影響はないです。
 これを消すと、次回、自動的にその年度を再抽出・再結合し、成功したら「complete.atfx」を作ります。

○ 追記:1分足以外の時間足に変換したいときは…
FXに特化した時間足コンバータ、「1分足からボタン一発でいろんな時間足を作るアプリ」を作りました。
そちらも合わせて使ってみてください

○ 謝辞
・zipファイルの解凍に秋田 稔さんの 7-zip32.dll を使わせていただきました。
一次配布元: http://akky.cjb.net/

・正規表現にbabaqさんの BREGEXP.DLL を使わせていただきました。
一次配布元: http://www.hi-ho.ne.jp/babaq/bregexp.html


« 9/18 - 9/22 の成績 | メイン | 9/25 - 9/29 の成績 »

posted at 2006年09月26日 01:08

トラックバック

このエントリーのトラックバックURL:
http://kasege.sakura.ne.jp/mt/mt-tb.cgi/86

このリストは、次のエントリーを参照しています: 1分足の過去チャート(ヒストリカルデータ)を全自動で収集するアプリ - AutoForexite -:

» バックテスト用1分足データの取得 from ワンさんのFX個人取引記録日記
2001年からの1分足データを一括ダウンロードできる、ニッチでナイスなツールです。 途中で回線切れしても、続きをダウンロードして、整合性チェックをしてくれ... [続きを読む]

トラックバック時刻: 2008年04月13日 19:03

コメント

投稿者 ┌|∵|┘ : 2006年09月26日 11:22

おぉぉ、なんてニッチでナイスなツールを!!!!!

有難うございます m(__)m

投稿者 otk : 2006年09月27日 06:47

> ニッチでナイスなツール
このツールの全てを1行で表現しきったナイスなコメント!
こちらこそ、ありがとうございます ノ

気に入ってもらえて何よりです
是非、ガシガシAutoForexiteを使い倒してやってください

投稿者 むむ! : 2006年09月27日 16:11

はじめまして むむ!です

感動しました。使い倒させて頂いてます。
ありがとうございます

投稿者 otk : 2006年09月28日 02:50

はじめまして
こちらこそDLありがとうございます
いやーがんばった甲斐があります

好評頂けて一安心です (´ー`)

投稿者 ダメおやじ : 2006年09月28日 15:03

突然の書き込みで申し訳ございません。
私、ダメおやじと申しまして、この度「第1回デモトレード・グランプリ」を開催予定でございます。
賞品としまして、1位 70本分のビール券 2位 どんべえ1箱 3位 世界時計 など、参加者全員にももれなく参加賞を予定しています。
ご参加はもちろん完全無料で、デモ登録もハンドルネームとメールアドレスだけで参加していただけます。
詳細は一度、ブログでご確認していただければ幸いです。重複になってしまった方は大変申し訳ございません。何卒宜しくお願いします。
http://damefx.blog48.fc2.com/blog-entry-172.html

投稿者 sono : 2006年09月30日 13:34

はじめまして。sonoです。
私も現在FXのシストレツールを作っています。

現在はバックテストツールを作っていまして、その際に過去データをどうやって手に入れるか悩んでいるところでした。

とってもいいツールをありがとうです。

投稿者 bobski : 2006年10月02日 00:36

otkさん。こんばんは。

これはすごい!
サイトは知っていましたが、ここまでやってくれるとは。Σ(゚Д゚)
拙ブログで紹介してもよかですか?w

あと、OANDA APIを使わない自動シストレは、
UWSCか何か使うんでしょうか?
本業が忙しい自分にとっても興味津々です。

投稿者 otk : 2006年10月02日 18:10

>> sonoさん

ありがとうございます
お役に立てられて嬉しいです
お互いシストレがんばりましょう!

>> bobskiさん

いつもお世話になっております

> 拙ブログで紹介してもよかですか?w

おお、そ、それは凄い嬉しいことです!
ぜひぜひお願いします

> OANDA APIを使わない自動シストレ

自分は、今はUWSCを使わず全部delpi(古い…)でプログラミングしてますが
UWSCだけでもできます。
自分も最初は、UWSCで一度簡単な発注スクリプト作って
そこにシステムを組み込んでやってました

ただ、やはり既存のMTとかTradeStationなんかと比べると
発注や各インディケーターなどの処理も自分で作らねばならないので、
その分が少々大変かな、、、とも思います

でもシストレはホント、一度作ったらあとが気楽で
いろいろ気持ちに余裕を持って他の事に取り組めるので
その点は、ホントにいいなーと実感してます

投稿者 FXPG : 2006年10月04日 21:04

こんばんは。
ブログ:プログラマーなFXを運営しているFXPGと申します。
すばらしいツールですね!!
前からForexiteのデータを取得するのが非常に面倒で、こんなツールがあればなぁーとは思ってました。早速ダウンロードして使わせて頂きましたw。これは重宝します。
また勝手ながら私のブログの紹介してしまいました。後付で申し訳ありませんw。
http://victor.cocolog-nifty.com/blog/2006/10/post_106e.html

今後ともよろしくお願いします。

投稿者 otk : 2006年10月05日 17:35

こんばんは
いつもブログ拝見しておりますよ 笑

ご紹介ありがとうございます!

投稿者 ichi : 2006年10月19日 13:07

はじめまして。
コンピュータにお詳しいようなので、ご質問させてください。
私はCMSというFX業者を利用していますが、ここのトレードシステムにはテクニカル分析による売買チャンスでアラートが鳴り、該当するローソク足に矢印が付いて自動発注が行えます。
ただ問題点は、実際にポジションが建つのは該当するローソク足ではなく、次のローソク足ができたときなのです。同方向の値動きが連続する場合はいいのですが、逆方向の値動きのときは損失を被ってしまいます。
私はコンピュータには無知なのですが、本来ベストである矢印が付いた時点でポジションが建つようにプログラムを変更することが可能かどうか検証していただけないでしょうか?
お力添えのほどよろしくお願いします。
CMS http://www.cmsfx-japan.com/

投稿者 otk : 2006年10月19日 23:01

CMSはちゃんとした企業ですから
わからない所は、そちらのサポートに問い合わせてみるのはどうでしょうか?

…と、お困りなのにキツイ事を言ってしまいましたけど
私もコンピューターに詳しい方とはいえ、
CMSで自動トレードする予定は特にないので
使う予定のないツールの使い方を一つ一つ覚えて記事を書くというのは
ちょっといたしかねます。

…と、いう背景を踏まえていただいた上で、勘でお答えします(苦笑)が

> ただ問題点は、実際にポジションが建つのは該当するローソク足ではなく、次のローソク足ができたときなのです。

それは、その仕様が正しいです。

逆に考えてみるとわかるんですが、
例えば移動平均(以下MAと書く)のクロスで、短期のMAが長期のMAを上回ったとします。
いわゆる「ここで買い」とよく投資の本で書かれる状態ですね。
でもそれはその本が、さも儲かるように見せかけるため、わざと手抜きして書いてるだけで
真実はもうちょっと複雑です。

どういうことかというと、そもそもMAを含め大半のテクニカルは基本的に終値ベース(終値を計算に使う)ですよね。
そこが問題です。
だから、例えば1時間足でMAを表示させ、一時的に「上回った!」という瞬間があったとしても
それは上回ったように見えても、まだ確定じゃないんです。

わかりにくいと思うので、具体的に書きますね。

まず、例えば1時間足でMAを表示してて10時12分に「短期のMAが長期のMAを上回った」とします。
でもこれ、もしそのあと突然大暴落したら、「さっき上回った」ことは「なかったこと」になります。
…チャートには最初から一度も接触してないように表示されているはずです。
さっき、たしかに10時12分の時点では上回ったのに…です。

これは、MAなり何なり、大抵のテクニカルが終値ベースだからです。
終値が基準という事は、終値が変動している間は未確定なんです。
終値というのは、次のローソク足に移った時、初めて確定するわけです。
だから、そのCMSのシステム(VTですね)は、次のローソク足に移った時(終値が確定した時)に
売買を実際にするという仕様になっているんだと思います。
もし、これがそういう仕様じゃなかったとすると、ヘタすると
1時間足で運用してるのに、
ローソク足が確定するまでの1時間の間に、「買ったり売ったり買ったり売ったりが6回も入って大損。なのにチャートでは接触してないことになってる」なんてことだってありえます。

だから、次の足でポジションを建てるので正しいんです。
というかそうじゃないと終値ベースは使えません。
(※まぁ実際はその辺り、「なるべくリアルタイムにトレードするようにする」ための仕組みはいろいろありますが、その辺りはシステムトレードの専門書を読んだり、自分で考えてみたりする、ということで。)

あと、そもそもの質問にお答えしますが

> 本来ベストである矢印が付いた時点でポジションが建つようにプログラムを変更することが可能かどうか

たしか、可能です。
VTのデフォルトのシステムって要は、
Long := Cross(MA1, MA2);
みたいになってる部分で矢印を表示して、
OpenBuy := ~~
ってなってる部分で実際の発注を行うような感じだったと思いますが(うろおぼえ)
その、OpenBuyの方の計算式を、Longと一緒にしちゃえば、
リアルタイムにポジを建てる感じに変更できた気がします(うろおぼえ)
…まぁ細かいコードの内容は覚えてませんが、要は矢印を出す計算式部分と、発注の部分の計算式を一緒にしてしまえばいいんです。

ただまぁ、そう変更して運用すると、たぶんすごく悲惨な事になると思いますが……。。

投稿者 ichi : 2006年10月21日 11:39

すごく丁寧に回答いただき有難うございました。
質問した当日にお答え下さっていて、本日読ませていただき恐縮しております。参考にさせていただき、自分でもいろいろ勉強したいと思います。

投稿者 otk : 2006年10月22日 03:20

そうですね、いろいろいじってみるのが一番早い気がします

ちなみに補足ですが、CMSが採用してるVTについては
このブログからもリンク貼っている、「プログラマーなFX」さんのところでよく話題になるので
そちらも見てみると良いですよ
(ChartTraderというのはVTと一緒です)

記事の中では特に
http://victor.cocolog-nifty.com/blog/vttradercharttrader/index.html
ここのページの下の方には、システムを動かす段階から順に追って説明がなされてるので
順番に読んでいくといいんではないかと

あと、VTはCMSのところにもマニュアルあるので
http://www.cms-forex.com/ja/platform/manual/
これをチェックしつつ、
あとはデフォルトでついてくるシステムのうち、移動平均のクロスみたいな分かりやすいシステムを、
バックアップを自分で取って置いて、あとはもう「動かなくなってもいいや」と
とにかくいじりまくってみると、感じ掴むのが早まると思います

投稿者 mighty : 2006年11月11日 19:56

はじめまして、mightyと言います。

Autoforexite は大変便利ですね。最近その存在を知って早速活用させて戴いています。これで一分足まで完璧! Modelling Quality も上がりました。

ところで最近、MT4にEveryTickデータを導入した人の報告が下記のフォーラムに載っていました。そんなことが出来るんですね! FXTフォーマットへの変換プログラムなどが必要なようなので、私にはお手上げです。otk さんが興味を持って下さると嬉しいのですが...。

http://www.forexfactory.com/forexforum/showthread.php?t=9589&page=1&pp=15

投稿者 otk : 2006年11月12日 04:29

はじめましてmightyさん
ご活用いただけているようで、何よりです!

> MT4にEveryTickデータを導入した人の報告が下記のフォーラムに載っていました

ちらっと読んでみたんですが、実は自分はMTを全くといっていいほど使ったことがなく、さっぱり分からないので
リンク先の文章を読んでもよくわからなかったです、、、すみません、あと英語も苦手でして 苦笑

そのページやMTのヘルプに書いてあったFXTの仕様に沿ってファイルを書きだすというのは
出来そうな気もするんですが
そもそもFXTフォーマットが何なのか(いや、ヒストリカルというのは分かるんですが、普通のヒストリカルと何が違うのか)
何をどう使って、どういう風に便利で、MTではどういう扱いなのかがさっぱりでして
"fxt MetaTrader"でググッても日本語サイト 0件ということで
なんというか、可能か不可能かの判断もつかないです。。。
もう自分にとっては正体不明でして、FXTファイルって一体何なのだろう....という感じでして。

せめて、MetaTraderでのfxt-fileの書き出しと読み込みの仕方が分かって、実物のfxtファイルに触れられれば
やれるかどうか、判断つきそうなんですが...

投稿者 mighty : 2006年11月12日 12:35

とんだ勘違いですみません。AutoForexiteの説明文中にMT4への取り込みに関する記述があったので、てっきりotkさんもMT4ユーザーだと思い込んでしまいました。

とは言え、行き掛かり上補足しますと、fxtファイルはMT4フォルダの \tester\history に入っており、hstファイルのデータから(補完などして)算出・作成される中間ファイルとのことです。内部構造については分かりません。

先にご紹介したフォーラムの#13にEveryTickのfxtファイルがアップされています(解凍すると230Mあります)。これを先ほどのフォルダに入れ、M1のVisualモードでバックテストを行なうと一分足の中で値が動いているのが見え、実際にEvery Tickデータとして取り込まれているのが分かります。但し、テスターの「Recalculate」をチェックするとhstデータから再計算が行なわれ、fxtファイルは上書きされてしまうようです。

以上、取りあえずご参考まで。

投稿者 otk : 2006年11月14日 03:33

いえいえ、…これだけやっておいて、MTユーザーじゃないというのも、分かりにくいですよね
こちらこそ紛らわしくてすみません
なにぶん、何でもかんでも自分で作るのが好きなタイプなので、バックテストツールも自作なんです。

補足説明ありがとうございます
実は前回の時MTのヘルプを見て \tester\history もチェックしていたものの
.fxt ファイルがなく、「??」という感じだったんですが
説明聞いて納得しました
.fxt が中間ファイルのようなもの、となると
MTでバックテストを一度も実行したことない自分のPCには何も痕跡がなく、
ヘルプの説明読んでも意味がわかりにくかったのも納得です…、なるほど。。

…で、fxt形式ですが、
正直、そこまで対応する事になるかどうかは分かりません(すみません)が、
機能として、その機能があるとMTユーザーがかなり便利である事は知ることができたので
今後の開発の時、検討事項に入れてみようと思います

情報と説明どうもです

投稿者 moto : 2006年11月19日 22:04

こんばんは!

システムトレードのホームページをやっているMOTOといいます。

今回はすばらしいアプリを開発されて凄いですね!

かってながらうちのホームページでも紹介させていただきました。(事後報告ですいません)

これらもがんばってください!

PS プログラムの言語は何を利用しているのですか?
  私も以前C言語はやったのですが忘れてしまいました。
  また挑戦しようと思うので良かったら参考までにお願いします。

投稿者 otk : 2006年11月21日 11:53

motoさん
コメント & ご紹介ありがとうございます!
これからも地道にがんばっていきます

> プログラムの言語

Delphi 6 Personal で頑張ってます
…無料というのに惹かれまして。笑。
ただ、去年 VS 2005のExpress Editionがフリーで出たことですし
そちらでC#というのも楽な気がします。

自分が始めた時はまだVS 2005が出てなかったんですが
そろそろ、Delphiで何でもやろうとするのに疲れてきた(笑)ので
実は最近、ちょっとずつC#に移行してる所だったりします。

お互いがんばりましょう!

投稿者 moto : 2006年11月23日 10:02

返事ありがとうございます。

VS2005のC#ですか・・・・

VBAなら少しはわかるのでVBに行こうかと思ってましたがやっぱりC#の方が良いですかね?

ともかく頑張ってみます!

投稿者 otk : 2006年11月23日 10:46

あ、VBでも良いとおもいますよ
というか、その2択は本当に難しいと思うので
最後は、記法の好みとかで決めてもよいくらいだと思います (^^;

投稿者 tez : 2006年12月03日 19:40

こんばんは。
AutoForexite、使わせていただきました。
本当にすばらしいツールですね!

ただ1点気になったことがありまして、
取得したデータを「GMT+1:00」より「-6」時間ずらすと
NYTimeになるのだと思いますが、これを日本時間にしたい場合、
夏時間の期間中と、それ以外の期間はずらす時間を
1時間変えればよろしいのでしょうか?

夏時間:NYtime + 13:00
それ以外:NYtime + 14:00

基本的なことで申し訳ありません。

投稿者 otk : 2006年12月04日 14:02

tezさん
ご使用ありがとうございます

> これを日本時間にしたい場合、
> 夏時間:NYtime + 13:00
> それ以外:NYtime + 14:00

一応、今簡単にチェックしてみましたが
たぶん、それで大丈夫だと思います

投稿者 una : 2006年12月23日 19:22

便利なツールありがとうございます。
ACCESS-VBAで作成しようかと思ったのですが、こちらがあったので助かりました。ちなみにMT4へのファイル取り込みはツール>ヒストリーセンターから希望の通貨、時間窓を選んで、エクスポート/インポートでOKです。
バックテスト時の大負けのチェック等に便利です。

データはカンマ区切り(CSV)並びは日付、時刻・・・と同じ並びで、日付はピリオド区切りで、時刻は6:00<こんな感じです。まぁ、適当にデータ選んでエクスポートすればわかりますが。よかったら使ってみてください。

投稿者 otk : 2006年12月25日 17:01

unaさん、コメントどうもです
お役に立てているようで何よりです

詳細な使い方と説明も、ありがとうございます
そのうち試してみようと思います

投稿者 una : 2007年01月16日 10:48

たびたびすいません。
AutoF...のエラーについて質問です。
「リネームでエラーになりました」というエラーが発生しました。具体的には2006年なのですが、フォルダを丸ごと消して再実行しても同じエラーが出ます。処理を見ていると、

060723.zip->060723.txt
230706.zip->060723.txt

と2回解凍リネーム処理を行っており、2行目のリネームで、すでに1行目のTXTファイルがあるのでエラーとなっているようです。

オリジナルのZIPファイルが2個あるみたいなので、片方削除すればいいと思うんですが、

1.ZIPファイルはPCのどこかに保存されているのでしょうか。再処理の速度から想像するにどこかにありそうな感じですよね。

2.それとも、他にもいろいろ修正が必要なので、フォルダごと消して最初からやり直したほうがいいのでしょうか。

投稿者 otk : 2007年01月16日 12:22

> unaさん

先にひとつ確認なんですが、お使いのAutoForexiteのverは0.02でしょうか?
現在Forexiteのサイト自体が妙な事(トップページに2006年と2007年のファイルが混在してる)になっているので
ver 0.01だと上手く行きません。
あと、その問題をVer 0.02で解決する時に件のリネーム周りの処理も変更したので
たぶんver 0.02なら大丈夫だと思うんですが...どうでしょうか

http://kasege.net/forex/archives/2007/01/autoforexite_ve.html

もし0.02を使っても同様のエラーが起きるという事でしたら
またその旨、ご報告おねがいします

ちなみに、ZipファイルはIEのキャッシュに残っているようで、そのおかげでDLの手間が省け
再処理が速く済むみたいです

投稿者 una : 2007年01月16日 22:40

早速のレス、ありがとうございます。
なんと!ヴァージョンアップしてたんですね。
どうもありがとうございます!
早速新Verを試してみます。
どうもありがとうございました。

投稿者 jojo : 2007年01月17日 08:04

すいません

「GMT +1:00」というところはデフォルトの「-6」のままでいいのですか?

GMTとはグリニッジ標準時のことでしょうか?

とすると日本は9時間早いので「+8」としたほうがいいのでしょうか?

投稿者 jojo : 2007年01月17日 21:33

すいません。コメントを読み直して理解しました。
-6だとニューヨークのじかんなんですね。

投稿者 ポンドル : 2007年03月19日 00:44

はじめまして。

このような有用な各種のアプリを提供してくれる、作者の太っ腹さに敬意を表します。

さて、1分足データを読み込んで、適当な論理により、暴騰、暴落を検出しアラームを出すアプリを造れないものかと思っています。
厚かましいお願いですが、1分データの読み込み方法の概略をお教え下さい。プログラム言語はVBが使えます。

投稿者 otk : 2007年03月25日 17:12

>> ポンドルさん

お返事遅れましてホントすみません。。

> 1分データの読み込み方法の概略をお教え下さい。
> プログラム言語はVBが使えます。

実は自分はVB触った事がなく、DelphiとC#しか分からないものでして、あまり具体的にはお答えできませんが
為替のデータは大抵、CSV形式で
『Date, Time, Open, High, Low, Close』
というのが1行単位でずらーっと並んでいると思いますので
まず1行ずつ文字列として読み込んで
カンマ区切りで分解し、6番目のCloseの値を文字列からDouble型に変換して
1行ずつ進めていけばいいと思います。
その過程で、Closeの値から移動平均なりRSIなどを計算して
各行ごとに算出していき、交差を判定すればMACDなどのトレードシステムになります。

たぶん、トレードシステムの判定をするだけならそんなに難しい関数は使わないと思うので、
ネット上のVB関連のサイトで、文字列情報の操作に関する解説を読んで回ると
大体出来るんじゃないかな、と思います。

投稿者 ポンドル : 2007年03月25日 19:37

otkさん

レス有り難うございます。
レートの暴騰、暴落を検知しアラーム発生を考えています。
このためにリアルタイムで1分毎に為替データを取り込みたいと思います。
このようなことは経験がなく、どこにログインし、どのように為替データファイルを取り込んだらよいのかさっぱり判りません。
ログイン先や為替データファイルを読み込む方法の手順概略をお示しいただければ幸いです。
なお、VBでの文字操作については問題ありません。

投稿者 otk : 2007年03月26日 14:20

あ、"リアルタイムのデータをどこからか引っ張って来たい"という話だったんですね
それなら、MetaTraderのDDE経由でリアルタイムのTickを得るのが一番簡単で確実だと思います
SUFXさんのサイトで丁寧に解説されていますので、そちらが参考になると思います

■ MetaTrader 4からリアルタイムレートを取得。
http://sufx.core.t3-ism.net/item_155.html

こちらを参考にしつつ、VBでDDEのコンポ乗せて設定すれば
自作のアプリで、リアルタイムのTickを得ることが出来ると思います
ただここ、自分も少しハマったポイントなので、以下DelphiですがDDEのどの項目に何を入れたかだけ
参考までに書いておきます

DdeClientConv1.ServiceApplication := 'C:\Program Files\MetaTrader 4\terminal';
DdeClientConv1.SetLink('MT4', 'BID');
DdeClientItem1.DdeItem :='EURUSD';
DdeClientItem2.DdeItem :='GBPUSD';
// ...以下、同様にDdeClientItemに通貨名を入れる処理...

投稿者 ポンドル : 2007年03月26日 15:55

otkさん

>あ、"リアルタイムのデータをどこからか引っ張って来たい"という話だったんですね

速い話がそうなんです。
よく分かっていないものですから、適切な言い回しが出来なくて申し訳けありません。

早速トライしてみます。
この件でまた、しょうもない質問すると思いますが、よろしくお願いします。

先ずはお礼まで。

投稿者 ポンドル : 2007年03月27日 09:54

otkさん

お陰様で、VBの配列に一定間隔でリアルタイムデータを格納するところまで出来ました。
此処までくれば、後は何とかなります。

どうも有り難うございました。
先ずはその後のご報告とお礼まで。

投稿者 ichikawa : 2007年04月01日 12:23

はじめまして。こんにちわ。昨日、 たいへん便利なAutoForexite利用させていただきました。
時刻のことで質問いたします。1分値を2007年3月30日までダウンロードしました。時間をずらす量の指定は-6としました。USDJPYのデータの2007年3月分について、金曜日の最終データの時刻を調べると、すべて16:00でした。さらに2007年1月の金曜日の最終データの時刻をみたら同じく16:00でした。他の月は調べていません。週の取り引き終了時刻は、ニューヨークの冬時間で17時と理解しています。ダウンロードしたデータの金曜日の最終時刻が16時となっているのは、どのような理由でしょうか。
(-6と指定したつもりが誤っていたのでしょうか)
初歩的な質問で恐縮ですが、ご教示いただければ幸甚でございます。

投稿者 otk : 2007年04月02日 07:54

>> ポンドルさん

上手く行ったとのこと、何よりです
後は何とかなりそうですね、がんばってください
ちなみに完全自動化する際は、MTの起動時にたまにUpDateが促され接続出来ない事があるのでそこだけご注意を...

>> ichikawaさん

はじめまして。
時刻の件ですが、結論から先に言うと、
「週の取り引き終了時刻は、ニューヨークの冬時間で17時」というのは
間違ってはいないのですが、全てがそうとも限りません。
為替は平日、24時間どこかの市場が空いているので
週の始めがマーケットオープン、週の終わりがマーケットクローズとなりますが
そのどちらのタイミングも、業者に依ります。

例えば、CMS系などは、マーケットクローズが一律 EST 16:00です。
日本だと独自サーバー建てたFXA証券もそうですね。
逆に昔のFXCMなどはマーケットオープンが他業者よりかなり早かったので、その意味で使ってる人も居ました(今はどうだか分かりませんが)
他の業者でも、金曜の最後は
『もう殆ど動かないし、動いたとしても商いが少なすぎてカバーするのに不利』などの理由で
早めに切り上げる業者も幾つかあります。
そう詳しく調べて覚えているわけではないのですぐ列挙はできませんが、調べてみると幾つかあると思います。
Forexiteも、そういった「金曜はEST 16:00で切り上げる形態を取っている所」の一つという事だと思うので
特にそれほど特別なことではないです。

ちなみにForexiteのデータソースについては、これまたSUFXさんのサイトにて解説されているので、そちらも目を通して見ると良いかも知れません。
ちょっと変則的ですが、ESTに直すなら 常に時差は-6でOKのようです。
http://sufx.core.t3-ism.net/item_264.html

そちらのエントリのコメント欄まで読むと、Forexiteのデータ形態の背景が良く分かります。

あと、そういったマーケットクローズのタイミング差を揃えたい場合は、拙作CandleSteickEditorをお使い頂ければ
ダミーデータですがタイミングは自分の使用する業者のマーケットクローズのタイミングに合わせる事が出来ると思います。

投稿者 ichikawa : 2007年04月02日 21:38

otkさん
ご説明ありがとうございます。
FXは、今年から勉強し始めたばかりなので、今回のような疑問が生じました。
紹介いただいたサイトも取り急ぎ見ました。たいへん参考になりそうです。
今後も、どうかよろしくお願いいたします。

投稿者 otk : 2007年04月03日 16:47

ichikawaさん
いえいえ、参考になったようで何よりです。
今後また疑問点などありましたら、こちらのソフトのバグの可能性もありますので
遠慮なくまたコメントお願いします。

投稿者 cut : 2007年04月29日 22:24

otkさま。

すばらしいツール、ありがとうございます。
質問させていただきたいのですが、
時間の設定等、設定を変更して新しいデータをダウンロードしたいときは設定を変えて実行すると自動で過去のデータは新しい設定のデータに上書きされますでしょうか?

それとも一度削除して、設定を変更してダウンロードしなおす必要がありますでしょうか?

よろしくお願いいたします。

投稿者 otk : 2007年04月30日 12:22

> 時間の設定等、設定を変更して新しいデータをダウンロードしたいときは
> 設定を変えて実行すると自動で過去のデータは新しい設定のデータに上書きされますでしょうか?

すみません、説明不足でした
ご指摘感謝です

件の問題ですが基本的に
『設定は最初に一度行い、あとは実行ボタンを押す』
という流れしか考えられてないので
設定を途中で変更された場合は、
『HistoricalDataフォルダを削除』
『OriginalArchiveフォルダの2001~現在の年(2007)の、complete.atfxというファイルを削除』
この2つを手動で行ってからプログラムを起動し、実行ボタンを押してください。
そうすると、新しい設定の反映されたファイルがHistoricalDataに全て書き出されます。
次からは実行ボタンを押すだけでOKです。

ただちょっと面倒ですね、、次回ver.はもうちょっとその辺り簡単にしてみます。

ちなみに、もし複数の設定でファイルを取得したい場合は、
DLしたzipを別フォルダに解凍して
別々の設定をして実行する感じでお願いします

投稿者 Alchemist : 2007年05月05日 21:58

はじめまして
本日ソフトをダウンロードしました。GOODですね、いま早速日足に変換するソフトをつくっています^^

投稿者 Alchemist : 2007年05月06日 00:12

すいません、ちゃんと
”分足から色んな時間足を作るアプリ ver 0.05”というのがありましたね、これも活用させていだだきます。ありがとうございます。

投稿者 otk : 2007年05月06日 13:07

どうもです! ぜひご活用ください

投稿者 BT : 2007年05月24日 14:00

はじめまして、素晴らしいソフト使わせていただいております。
ありがとうございます。

上の
引数って何?という方はここの「引数の与え方 (初心者さんのために)」を参照してください
を拝見させていただきたいのですが、リンクが切れているようです。
勝手なお願いですが、再アップをお願いできないでしょうか?

よろしくお願いいたします。

投稿者 otk : 2007年05月24日 22:50

コメントありがとうございます&ご指摘感謝です。
早速修正しましたので、ご確認ください

ちなみに文中では別のアプリで説明してますが、最後にAutoForexite用の文もありますので
最下部の「番外編」も参考に設定してみて下さい。

投稿者 mudita : 2007年09月15日 23:11

こっちにコメントすればよかったですね。ごめんなさい。
とにかく素晴らしいソフトに感謝しております。

投稿者 kyojee : 2007年10月06日 13:59

お世話になります。質問です。

「最新の年が取得できないので、マージ処理を中断します」と出てマージが出来ません。
なぜでしょうか?
各ファイルはDL出来ているようです。

投稿者 otk : 2007年10月07日 06:18

>> muditaさん

いえいえ、ありがとうございます
ぜひご活用ください!

>> kyojeeさん

> 「最新の年が取得できないので、マージ処理を中断します」と出てマージが出来ません。

そのエラーは、ちょっと原因が複数考えられるので
確実な対策という事で、まずプログラムを終了させた状態で
『HistoricalDataフォルダを削除』
『OriginalArchiveフォルダの2001~現在の年(2007)の、complete.atfxというファイルを削除(もしくは、OriginalArchiveフォルダを丸ごと削除)』
この2つを手動で行ってから
プログラムを起動し、実行ボタンを押してみて下さい

もし問題が解決しない場合は「ファイル名の前に付けたい文字などがあれば指定」の項目が怪しいので
その欄を初期状態「1min_」に戻して試してみてください。

投稿者 kyojee : 2007年10月08日 12:15

ども、フォローありがとうございます。
「1min_」を付けたら、うまく行きました。

ところで、
MySQLへ常に更新をかけるには、どうすれば便利でしょうか?

投稿者 otk : 2007年10月08日 13:01

うまく行って何よりです
MySQLは…、あまり触れた事が無いものでして、ちょっとわかりかねます
すみません

投稿者 masa : 2007年11月02日 11:52

いつも、AutoForexite.exeにはお世話になっているmasaと申します。
本ソフトのご提供大変ありがとうございます。

今週になって、AutoForexiteのデフォルト設定(GMT +1:00からずらす量 -6)で
取得したデータとNY時間にずれが発生しているようでしたので報告いたします。

原因としましては下記の理由ではないかと考えております。
Forexiteのデータは下記【参照】のようになっているようですが、
2007年よりニューヨーク時間(EST)のサマータイムの時間が変更
※(WikePedia:「サマータイム」より )され
「夏時間あり(3月第2日曜日~11月の第1日曜日)」となっているため
今週、Forexiteは冬時間になり、ニューヨーク時間は夏時間のままのため
本現象が発生しているのではないかと思っております。
※今後純粋に【参照】③の方針で対応すことは難しいかも知れません。
 2006年まではニューヨーク時間も【参照】①であったため問題は無かったと思われます。

【参照】
http://sufx.core.t3-ism.net/item_264.html
①夏時間あり(4月第1日曜日~10月最終日曜日)
②タイムゾーンはGMT+1(夏時間はGMT+2)
③ニューヨーク時間との時差は常に+6時間

投稿者 otk : 2007年11月03日 10:40

ご報告ありがとうございます。
こちらでも確認しました。

Forexite、アメリカの夏時間拡大に追随するかな、、、と思って楽観視してたんですがしなかったようで。。
これは何とかVer.Upで「2001-2006」と「2007以降」を分けて対応していこうと思いますが
ただForexiteは年末年始の処理を含め、いろいろ対応がのんびりだという前科があるので
『ホントは米国夏時間の拡大に対応するつもりがうっかり忘れてた』とかかも知れず
とりあえず、ブログ上で注意を喚起しつつ、もう少しだけ様子を見てみようと思います。
(対応Ver.を作る時間が今ちょっと無いというのもありますが。ただ早期に対策はとりたいと思います)

でもご報告のおかげで状況をすぐ認識できました。迅速に対処できそうです。
丁寧で詳細なご報告ありがとうございました。多謝

投稿者 masa : 2007年11月03日 22:37

ご確認ありがとうございます。
本件了解いたしました。

Forexiteが対応にのんびりした会社ということも
あるようですので私も様子を見たいと思います。

今後もAutoForexiteにはお世話になるかと
思いますがよろしくお願いします。

投稿者 ぽんた : 2007年11月20日 10:30

はじめまして。
最近、MT4を使い始めたものです、AutoForexiteも活用させていただいています。
まずは、ありがとうございます。
さて、otkさんがMT4ユーザーではないということですし、こちらでお尋ねするのもどうかとも思ったのですが、もし、どなたかお分かりの方がいればご教授ください。
AutoForexiteを使わせていただして、これまでバックテストしてきたのですが、どうも、MT4の標準のデータを使った場合と、結果が(EAによって違いがありますが、たいていが極端に)異なるということことに気付きました。
それで、オフライン・チャートを開いてみたところ、以下のようにありました。

AutoForexiteのデータを使った場合。
EURUSD M1(EVERY TICK)
BARS:828272 2005.12.29 23:20----2006.12.29 16:00

MT4のデータを使った場合。
EURUSD M1(EVERY TICK)
BARS:1991285 2005.12.30 06:50---2006.12.29 221:59

TICKで作られる足の数が大きく異なるのですが、このような違いが出ることは、正常なのでしょうか。
あるいは、このような違いが出るのは私だけで、私が何か設定ミスを犯しているのでしょうか。
また、このことと、先のバックテストの結果とは、何か関連するものでしょうか。
もしかしたら、おかしなことを聞いているのかもしれませんが、正直ちょっと混乱しています。
ご意見いただけると、うれしいです。

投稿者 ぽんた : 2007年11月20日 21:50

色々とやってみたのですが、まだ解決していません。
すいませんが、MT4でのデータの利用方法を確認させてください。
以下、GBP/USD、4H足、2006年分、でのバックテストを例にとります。
※MT4の再起動が必要な場合は、適時再起動する。

インストール後、一度、口座申請をする。
HISTORYデータである、「*.hst」を全て削除する。
口座を削除する。
これ以降、ログインはキャンセルする。
オプション-ヒストリー内のバーの最大数を、9999999などに上げる。
CANDLE STICK EDITORを使って、1分足のデータを元に、5分足、15分足…4時間足を作る。
HISTORY CENTERで、1分足…4時間足までインポートする。
※4時間足でのバックテストに、5分足や15分足…などが必要かどうかは分かりませんが、一応インポートしました。
ファイル-オフラインチャートで、実際にインポートされているか確認。
バックテストを、2006年分を日付指定、EVERY TICK、4Hで行う。

このようにしてやっていたのですが、何か間違っていますでしょうか?
しかし、上記のようにやった後、オフラインチャートを見ると、以下のようになります。

M1 BARS:369744
M5 BARS:74869
M15 BARS:24957
M30 BARS:12478
H1 BARS:6240
H4 BARS:1560
H4(EVERY TICK) BARS:33907


今度は、海外のサイトで見た、別の方法を試してみます。
ただし、一分足のデータは、上と同じものを使います。
http://www.forexfactory.com/showpost.php?p=67706&postcount=2
……
オプション-ヒストリー内のバーの最大数を、9999999などに上げる。
までは同じです。その後、
HISTORY CENTERで、1分足のみインポートする。
ファイル-オフラインチャートで、実際にインポートされているか確認。
そして、オフラインチャートを開く。
ナビゲーター-SCRIPSの中の、「PERIOD_CONVERTER」を使って、コンバートする。
そこで、まず5を入れて、五分足を作成。
そして、同じように、15.....240とコンバートする。
ファイル-オフラインチャートで、実際にコンバートされているか確認。
バックテストをする。

すると、今度の結果は

M1 BARS:369744
M5 BARS:13010
M15 BARS:4343
M30 BARS:2176
H1 BARS:1093
H4 BARS:288
H4(EVERY TICK) BARS:84939

って、そもそも、これは足の数が合ってませんね。
ますます、分からなくなってきました…。
何か、間違っている点にお気付きでしたら、何卒ご指摘ください。
管理人様、長文失礼しました。

投稿者 otk : 2007年11月21日 10:17

>> ぽんたさん

一つ目のコメントを読んだところで一つ返信をのんびり書いてしまって
2つ目のコメントを読んでない返信なんですが、一応以下載せておきます

--

>> MT4

まず、Every Tickというのが分からなかったので検索して
以下の説明を見つけ読んでみたんですが

http://system-trading.jp/mkr/index.php?ID=126

>> Every tick
> 最も短い時間枠のデータまでを使います。
> 通常ですと1分足になると思います。

…こういう事なのだと解釈して以下考えていきますが
この説明通りだとすると、少なくともぽんたさんの挙げた
AutoForexiteのデータで1年バックテストした時のBARS=82万本も、MT4標準データのBARS=199万本も、
1年間の本数としては既におかしいですね

でもAutoForexiteの作るファイルそのものを見ると
EURUSDの1min_2006.txtは374340本と、大体想定通りの1分足の本数が作られてるようです。

…にも関らず、それをMTに読み込ませEvery Tickでバックテストすると
Forexiteのデータですら1年間で82万本になるという事は
たぶん、EVERY TICKというのは、1分足のデータ以外に
名前の通りTickのデータを持ってきて補っているんじゃないかと思えます(推測ですが)
で、「外部から読み込んだデータ」と「標準のデータ」では
その補い方に違いがあるのではないか、と。
MT4標準のデータをそのまま使った場合の方が、補うのに採用されるTickのデータが多い、という事であれば
なんとなくありそうな事だなぁとも思えます。

もしこの推測が当たりなら
MT4の標準データを一度エクスポートしてファイルに書き出し、それをそのままMT4にインポートするだけで
同じMT4の標準データの筈なのにBARSの本数が異なる…という状況が
ひょっとしたら発生するかも知れません(しないかも知れません。でも試す価値はあるかも)。

ただ、そもそも気になるのは、
そのEveryTickが「精度を上げる」ためだけに使われてるとしたら
MAやCCI,RSIなどの4本値を単純に用いる指標の値は変わらない筈だと思うんですが…その辺りはどうなんでしょうか。
その辺がTickの所為で変わってしまったら、EveryTick使う方が不正確という事になりかねないですが、、どうなってるんでしょう。。

普通に考えると、Tickを使う事で精度を上げるといったら、多分
何らかのブレイクアウトを含むストラテジーの処理をTickベースで行うって事なんだと思いますが
そうでない(ブレイクアウト系を含まない)ストラテジーなのに、結果が大きく変わるなら
ちょっと、EveryTickというのが内部的に何をしてるのか判断しかねます

--

以上、思った事を一通り書いてみました。
MT4は詳しくないので推測が大半ですが、お役に立てば幸いです。
もうちょっとMT4に詳しい人が見てくれているといいのですが。。

投稿者 otk : 2007年11月21日 12:25

以下、2つ目のコメントへの返信。
とりあえず思ったことを。

>> Forexite
>
>M1 BARS:369744
>M5 BARS:74869
>M15 BARS:24957
>M30 BARS:12478
>H1 BARS:6240
>H4 BARS:1560
>H4(EVERY TICK) BARS:33907

相変わらずEvery Tickは謎なんですが
その他はあるべき本数なので、特に問題ないように見受けられます..

>> 「PERIOD_CONVERTER」を使って、コンバートする
> って、そもそも、これは足の数が合ってませんね。

合ってないですねぇ…
これはちょっとMT4に詳しい人に「PERIOD_CONVERTER使うと足の数が随分減るけど、どうなってるのか」と聞いた方が早いかも知れません。
自分にはちょっと、内部的にどうなってるかは分かりかねます

まぁとりあえず試せる事と言ったら、そのPERIOD_CONVERTER使って作成された5分足をエクスポートして
CandleStickEditorで作った5分足と比較してみる…などでしょうか。
ひょっとしたら何か分かるかも知れません

--

ちなみに、実は最近自分もシグナル配信の為に
ヒストリカルデータはMT4上のスクリプトでバーの作成の度オートでエクスポートさせてるんですが
それをやってて気になったことをついでに書いておきますと

・稀に、規定の時間が経ってもバーが作成されない(レートに変更がない場合はバーが作られない?)
・マーケットOpenが1時間遅い(EST18:00)
・マーケットCloseが1時間早い(EST16:00)

まぁ、マーケットOpen, Closeに関してはよくあるタイミングではありますが
Candle Stick Editorのデフォルト設定とは異なるので、整形する際はそれぞれ1時間ずらせば
マーケットOpen~Closeのタイミングは揃うと思います。
(これがないと毎週2時間分狂いますね)

ただ、MT4は、確か夏時間ってなかったはず(今はどうなってるか知りませんが)なので、
CandleStickEditor ver 0.06に付けた夏時間機能を逆に使って
旧・米国夏時間のタイミングで、夏時間をキャンセルするように設定する必要があるかも知れません。

--

バックテストの結果が大きく異なるのは足の本数が根本的に違う時によくある事なので
本数が揃っていればまぁ違いも誤差程度に落ち着くと思います
そうでない場合は、、、MT4の内部的な事だろうと思うので
MT4に詳しい人に聞くのがいいかも知れません

投稿者 ぽんた : 2007年11月21日 14:20

otkさん
なんか、MT4ユーザーでもないotkさんに色々と考えさせてしまって恐縮です。
ヒントいただいた点もふくめ、確認してみたいと思います。
また、何か分かりましたらご報告します。

投稿者 かずき : 2008年02月09日 15:40

はじめまして。
最近このブログを拝見させて頂き素晴らしいツールを置いておりotk様のご努力の感銘を受けております。
さて、AutoForexiteを使用させて頂きましたが
「最新の年が取得できないので、マージ処理を中断します」と出てマージが出来ません。
がどうしてもでます。
以前kyajeeさんの際のコメント通りやってみてましたがOriginalArchiveのフォルダにはデータが入っていますが
うまくいきません。
何か他に試すべき事がありますでしょうか?

投稿者 otk : 2008年03月15日 16:32

>> かずき様

本当に、返信が遅く申し訳ないです。。

> 何か他に試すべき事がありますでしょうか?

そうですね
元も子もないんですが、フォルダごと全部削除して
AutoForexiteをDLし直して、改めて挑戦すること…でしょうか。
少し手間ですが、できれば起動時の初期設定の状態で一度動かしてみて
上手く動くかどうか試してみるのが確実です。

投稿者 kenji : 2008年04月29日 15:32

このファイルが404のため2007年のデータの取得が10/28以後失敗します。
http://www.forexite.com/free_forex_quotes/2007/10/281007.zip
404のときはエラーをログに記録して、続行するほうが良いと思います。現状では失敗したファイルからリトライのようですので。

投稿者 otk : 2008年04月29日 18:36

> このファイルが404のため2007年のデータの取得が10/28以後失敗します。

確認しました。

今までも、直近のファイルが404になる事はあったものの2~3日内には回復していたので
それほど問題視していなかった(直近ファイルだとその方が好都合)だったんですが
過去ファイルの途中でストップしてしまうとなると、問題ですね
早いうちに修正しようと思います

投稿者 otk : 2008年04月29日 18:42

…と思ったら、もう回復したようですね。

Forexiteはたまに過去のファイルをちょこっとだけ差し替える事があるので
その関係かな?と思います。

ただ、途中でストップするというのは今後も起きうる事態だと思うので
とりあえずまず記事の方に注意書きとして反映しておきます。
ご報告感謝。

投稿者 とめ : 2008年05月18日 14:46

初めまして、とめ と申します。素晴らしいソフトですね。ありがとうございます。
OSは、Windows 2000ですが、やはりXPでないと駄目なようです。

データの取り込みは、2007年から始まりました。そして次が2006年と過去に遡って行くのですね。
私は2008年のデータだけが欲しいのですが、2008年のものは何をどうやっても取り込めませんでした。

AutoForexiteのフォルダーごと削除して、もう一度ダウンロードから始めて
再インストールしたのですが、データの取り込みは前回の続き、すなわち2006年の途中から始まりました。
そして、もう一度フォルダ削除、再インストール、今度も前回の続きから始まりました。
フォルダー以外に記憶している領域があるのでしょうか。

競馬のソフトなどでは「過去20年分のデータを全て取り込んで作りました」などというソフトが
多いです。しかし、馬場の状態も、馬の血統も、調教の仕方も、騎手の乗馬姿勢も全て
違っているので、何も参考にならないどころか、古いデータは百害有って一利無しだと思うのです。
FXも同様だと思うのです。私はバックテストで将来を占えるのは過去半年ぐらいのデータだと思うので、
最新のデータだけ取り込む機能があったら良いなぁと思います。
時間もHDDの容量も節約できると思うのですがどうでしょうか。

投稿者 otk : 2008年05月19日 00:57

ソフトの件なので、早めにサポート。。

>> とめさん
> データの取得順

仰られている通り、普通に起動すると「Forexiteの過去リンクを順番にDLしてから、最後に現在の年をダウンロードする」という順序になるので

・2007年 → 2006年 → … → 2001年 → 2008年

と取得していく事になっており
…2008年のみが欲しい場合はまどろっこしいですね
ただ、2008年のファイルのみ取得するような事も可能です。

その場合は

1.本体を起動すると作られるOriginalArchiveフォルダの中に2001~2007のフォルダを作る
2.その各年のフォルダの中に「complete.atfx」というファイルを作って入れておく

これでOKです。
complete.atfxのあるフォルダは新規にDLしに行かなくなるので
こうしとけば、あとは普通に使えば2008年以降だけチェックし、更新処理をします。

(complete.atfx のファイルの中身は空で良いです。ファイル名だけで判定してるダミーファイルなので)
(2008年にもcomplete.atfxは自動で作られますけど、現在の年の場合は必ずForexiteにチェックしに行く仕様なので問題ありません)

この方法を使えば、今後、たとえば2009年になった場合にも
OriginalArchiveフォルダの中の2008フォルダの中身を全部消去した上でcomplete.atfxファイルを置いておけば
2009年だけ自動的に処理するようになります。
ご活用ください

投稿者 otk : 2008年05月19日 01:03

上記の

> 1.本体を起動すると作られるOriginalArchiveフォルダの中に2001~2007のフォルダを作る
> 2.その各年のフォルダの中に「complete.atfx」というファイルを作って入れておく

を施したzipファイルをUpしておきました。
こちらをDLすれば、普通に使用するだけで2008年のみ処理します

http://kasege.net/forex/download.cgi?name=AutoForexite_2001-2007disable.zip

一応、こちらではこれで上手く動いたのですが
何分、イレギュラーな使い方になるので
最初のうちは作成されるデータなど少し確認した方が良いかも知れません事を付記しておきます。
ではでは

投稿者 ポルト : 2008年06月09日 19:44

はじめまして。
1分足データを手に入れようと探していたら偶然に目に留まりました。
さっそくデータを取得しました。本当にありがとうございました。
このデータを元にバックテストをしたいのですが、エクセルに入力する方法はあるのでしょうか?
メモ帳からデータをコピーしてエクセルに貼り付けたらすべてのデータがひとつのセルに入ってしまい悩んでいます。
ご教示頂ければ幸いです。

投稿者 kiai : 2008年06月22日 22:00

はじめまして。

こんなアプリがすでに開発されたいたのか!!
と感動し、早速DLLさせていただきました。

自身が使用したい特定の通貨のみがほしい場合は
CurrencyList.txtの通貨を不要なものを削除すれば
よいとの内容が記載されていましたが、うまくいかない
ようですので、もし他に設定等が必要でしたらご教授をお願いいたします。

投稿者 otk : 2008年06月23日 13:36

kiaiさん、お使いいただきありがとうございます。

>> 特定通貨のみの処理

こちらでは上手く行っているのですが
そうですね、そこでの注意点としては記事中にありますとおり

・文字の大文字小文字、全角半角に気をつける
・空の行を入れない

辺りでして、もしその辺りすでにその通りにされているのに上手くいかない場合は
他の部分で問題があるのかも知れません。
一度、DLしたままの初期状態で、設定を特にいじらず動かしてみて
ちゃんと起動するか確認して頂くのが近道かも分かりません。
時間のかかる確認方法になってしまいますが、よろしければご検討ください。

もし「初期状態では上手くいくが、通貨を絞るとどうにも上手く行かない」という事でしたら
「何の通貨ペアを抜き出そうとしているか」と
AutoForexite.log ファイルの最後の方の20行くらいをコピペでここにご提示いただけると
何か、お答えできるかと思います。

ではでは

投稿者 otk : 2008年06月23日 15:28

>> ポルトさん

コメント反映&返信が大変おくれまして申し訳ありません!

Excelは滅多に使わないので、あまり詳しくないのですが
このソフトで書き出されるデータはカンマ区切りのテキストファイルですので、
csvデータとして読み込めば、そのまま読み込めると思います。

投稿者 めろん : 2008年08月25日 08:20

お世話になります。
こちらのツール、重宝させていただいております。
日本時間への調整方法をご教示いただけないでしょうか。

今、行っているのは、日本時間で表示される、FXCM Japanから以下のようなデータを取得しています。
しかし、AutoForexiteで作成時でGMTを調整していますが、どうしても同じ時間になりません。
いくつか試したのですが、そもそも2日のデータが作成されないようなのですが、何が間違っているのでしょうか。

大変お手数でございますが、よろしくお願いいたします。

日時 開始(買い) 高値(買い) 安値(買い) 終了(買い)
2008/08/02 05:00:00 212.67 212.72 212.67 212.71
2008/08/02 04:00:00 212.53 212.70 212.50 212.67
2008/08/02 03:00:00 212.58 212.58 212.46 212.53
2008/08/02 02:00:00 212.38 212.58 212.37 212.58
2008/08/02 01:00:00 212.45 212.45 212.23 212.38
2008/08/02 00:00:00 212.28 212.45 212.14 212.45
2008/08/01 23:00:00 212.57 212.57 212.10 212.28
2008/08/01 22:00:00 212.66 212.66 212.26 212.57
2008/08/01 21:00:00 212.50 212.66 212.20 212.66
2008/08/01 20:00:00 212.56 212.56 212.36 212.50
2008/08/01 19:00:00 212.63 212.63 212.31 212.56
2008/08/01 18:00:00 212.78 212.78 212.62 212.63

投稿者 otk : 2008年08月25日 11:57

>> めろんさん

お使いいただきありがとうございます。

ご質問の件にお答えしますと
AutoForexiteがデータ取得しているForexiteという業者は
「旧・米国夏時間」に従ってサマータイムが反映されていますが
AutoForexite自体は、単純にプラスマイナスで前後に時間をずらすだけなので
日本時間に正確に直すには、拙作 CandleStickEditor ver.0.06を使って
夏時間を一度なかった事にしてから日本標準時にズラす、という手順になるかと思います。

今ちょっと時間があるので、細かい設定などは追って調べて詳述しようと思いますので、もうしばらくお待ちください。
取り急ぎ、概略の説明まで。

--

しかし、どちらにしろソフト2つ使うのはちょっと面倒ですよね。。
AutoForexiteの次verでは、ボタン一発で日本時間にしてくれるような設定を搭載しようと思います。

投稿者 めろん : 2008年08月25日 16:20

早速、ありがとうございます。

ご連絡お待ちしております。

>しかし、どちらにしろソフト2つ使うのはちょっと面倒ですよね。。
>AutoForexiteの次verでは、ボタン一発で日本時間にしてくれるような設定を搭載しようと思います。

もし、出来れば最高です。
楽しみにしております。

投稿者 もみもみ : 2008年09月13日 18:36

こんにちは、AutoForexiteを使わせていただいています。

現時点で日本時間にするためにはダウンロード後、
こちらのCandleStickEditor ver.0.06beta2を併用し、
データを修正する。

CandleStickEditor Ver.0.06!(のbeta版)
http://kasege.net/forex/archives/2007/11/candlestickeditor_ver006beta.html

ということでよいのでしょうか?

投稿者 もみもみ : 2008年09月14日 03:31

重複してすいません。こちらの方で質問させていただきました。

1分足から色んな時間足を作るアプリ ver 0.05 !
http://kasege.net/forex/archives/2007/02/1_ver_005.html

投稿者 yoi : 2008年09月26日 19:08

はじめまして。
「1時間足でのヒストリカルデータを無料で手に入らないかな」と検索かけて、ここにたどり着きました。有るものですねぇ。
早速利用させていただきました。ありがとうございます。

で、2008年05月18日の「とめ」さんの書き込みでは、Win2000では駄目だったようですが、私のところでは、Win2000Proで何のことなく動きました。
動かしたまま寝て、起きてみたら何だか2007年の一部のデータが取れないというメッセージダイアログに対する人間の応答を待ったまま止まってましたが、これが注意書きにある「Forexite側のデータが時々…」という奴なんでしょうね。また週末にでも試してみようと思います。

>ポルトさん
すでにotkさんが回答されてますが、もうちょっと補足すると、

AutoForexiteのフォルダの中に
  HistoricalData\通貨ペア名\1min
というフォルダがあり、その下に
  1min_2001.txt
みたいな感じの名前のファイルがあります。
これのコピーを適当なフォルダに作って、そのコピーしたファイルの拡張子(.txt)を、.csvに変えます。(このとき警告が出ますが気にせず拡張子を変更しちゃってOKです)
その後、この"1min_2001.csv"をダブルクリックすれば、エクセルが起動して読み込んでくれます。
ただ、一年分まとめたファイルだと行数が多すぎて、エクセルでは全部は読めないみたいです。一か月分なら何とかいけますが。

投稿者 buta : 2008年10月01日 04:48

すごいです!早速使ってみました。

2007/10/28 not found... orz
気長に待ちます。

投稿者 kuro : 2008年11月01日 23:46

はじめまして。使わせていただきます。

と思ったら
http://www.forexite.com/free_forex_quotes/2007/10/281007.zip DL error !

うーん、もしかして10月中ずっとでしょうか・・・

投稿者 kuro : 2008年11月02日 03:15

とりあえず10月28日のダミーファイルを作って回避しました
後で差分だけ更新すればいいんで便利ですね

投稿者 MT : 2008年11月09日 14:52

米ドル/円の過去1分足データがないかなあと思って、探してみたら、autoforexciteにたどり着きました。
すごいソフトですね。感謝・感激・雨霰です。
なお、データは「買い」「売り」のデータのどちらに
なるのでしょうか?教えてください。

yoiさんへ
エクセルは2003バージョンまで、65536行までしか
扱うことができません。これはエクセル2003までの機能
上の制限でした。
しかし、2007ではこの制約が撤廃され、事実上制限が
なくなりました。
ですので、2007のファイル形式なら扱うことができます。
ただし、この場合、2003以下では開くことができません。

なお、アクセスをお持ちの方であれば従来のバージョンでも
取り込めますので、お試しください。

投稿者 へびた : 2010年02月15日 08:57

はじめまして。
autoforexiteダウンロードして使わせていただきました。
ヒストリカルデータの収集はずっと苦労しっぱなしでしてこのようなツールは非常にありがたいです。
まだデータ自体は検証していませんが、とりあえずダウンロード成功しました。2001~2010まで。
お礼申し上げます。

投稿者 ntt : 2010年03月27日 10:23

はじめまして。
DLして使ってみました。
すばらしいですね、私の探していたものです。
ありがたく使わせていただきます。

追伸:私の環境だとすべてのデータ処理が一時間足らずで終わります。これも時代の進歩でしょうね(笑)

投稿者 rally : 2010年03月31日 18:19

ありがたく使わせて頂いて居ます。
ここ数日困ったことになって、
最新年のファイルが見つからないと言うことで
Mergeのところで動作しなくなってしまったんです。
他のPCでやっても同じなので何か環境が変わってしまったのかと悩んでいます。
多分こんな事じゃないの?みたいなヒントをお持ちの方がいらっしゃいましたら
助言を頂けないでしょうか?

投稿者 とめ : 2010年11月03日 08:15

とめ (: 2008年05月18日 14:46)です。
管理人さん、レスありがとうございました・・・のカキコをしたはずなのですが、
前回久しぶりに来てみたら消えていたので、前回改めて書き込みました。
しかし、今見直してみたら、またまた消えてます。

これでは、まるで私が恩知らずみたいな(^^;)。
これは困るので、またまたまたカキコしちゃいます。
レス、ありがとうございました。

今、私はVistaでMT4を使っていますが、History Centerからダウンロードしたデータは、
今一かも知れないので、中身を消してから洗濯バサミを使ってチャートを過去に巻き戻してデータを取ってみました。
「とある・・・」の管理人さんが、「バーチャル洗濯バサミ」を作ってくれたのでMT4使いの方は、それも良いかもですね。