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は多すぎる気もするので適宜調整してください。