1分足を効率よくDLするHistoryDownloaderEA / 洗濯ばさみ再考。

MT4 業者のサーバにある1分足のデータをダウンロードする為の補助ツールとして、バーチャル洗濯ばさみ という Home キーを押しっぱなしにするスクリプトを公開して6ヶ月が経ちました。キーを1秒毎に押すだけ..という安直な発想で作ってあるだけなのに、必需品として手放せない日が続いているのですが…


script で作られていると Profile に記録・再現ができないので不便に感じることがあります。そこで、EA(HstDownloader_EA)として作り直してみました。ダウンロードはこちらからどうぞ。


従来の HomeKeyRepeater でも、1枚のチャートだけで動かすのであれば、Sleep(1000)の部分をSleep(300) に書き換えるだけで今回のEAと同じ速さでダウンロードできます。チャート4枚ぐらいまでは、 HomeKeyRepeater で十分です。
今回のEAが役に立つのは、大量のチャート(例えば10枚)から同時にダウンロードする場合です。

上図は2枚のチャートで動かしていますが、片方のチャートがダウンロード中はもう一方は waiting.. と表示されて一時停止しています。チャートが何枚あっても1枚ずつダウンロードしてゆくので、人間の感覚的に進捗状況が分かりやすいようになっているのです。


コメント部分の意味は、

Bars ダウンロードされたバーの総数
Key キーを押した回数
[0/120]>5000 [カウント/停止カウント]>発動Bar数
Lap 経過時間
Period 時間足

となっていて、ダウンロードしたBarの数が5000を超えたら、自動停止モードになり、120秒間ダウンロードが無かったら自動停止します。自動停止後5〜15秒で次のチャートでのダウンロードが始まります。Lap は、120秒間の待ち時間も含むので、実際のDL時間はそれを引いた時間と考えてください。


EAの設定項目は、

IntervalSec キーを押す間隔(秒)
AutoStopMinimumBars 自動停止を始めるBarの数
AutoStopCount 何秒更新が無ければ止めるか?
UseSingleDownload 1枚ずつ順にダウンロードするなら true
EA_ID SingleDownloadする時は同一IDにする

です。
IntervalSec は、0.3秒より減らしてもDL時間はあまり改善しません。
AutoStopCount の120は多すぎる気もするので適宜調整してください。