ブログトップ 記事一覧 ログイン 無料ブログ開設

とあるMetaTraderの備忘秘録 RSSフィード Twitter

人の夢と書いて、儚い(はかない)と読みます。  【かねが為 尽くす努力は水の泡 消えにし後は 澄み渡る空】

2009-12-30

Excel トレーダー御用達?CSVファイル出力インジケータ

Excel は、多目的計算処理ソフト?として不動の地位にあり、これを相場の時系列分析に用いる人が少なからずいらっしゃるようです。

MetaTrader と Excel の連携といえば DDE が有名です。しかし、DDEでは、Tick更新毎の一時的なデータをリアルタイムに取得するのには便利なのですが、例えば、5分足のデータ過去100本分を Excel に渡したい場合には使えません。


その場合、CSVファイルでデータをやり取りする方が実用的で、5分足なら5分毎にCSVファイルを更新するのが良いようです..。

実のところ、私は Excel 使いではないので、これが本当に役に立つのか分からないのですが、violin さんから要望があったので作ってみました。

ダウンロードはこちらからどうぞ。


使い方はチャートに張り付けるだけですが、以下のパラメータを設定できます。

extern int OutputBars = 10;

extern bool UseOutput1 = false;

extern string OutputPair1 ="USDJPY";

extern bool UseOutput2 = false;

extern string OutputPair2 ="EURUSD";

OutputBars は、CSVファイルに出力する本数になります。

UseOutput1 は、true にすると、OutputPair1 に指定されたペアのCSVも同時に出力します。


出力は、experts\files フォルダ内に、CSV_Updater_AUDUSD5.csv のようなファイル名で保存されます。ファイルフォーマットは、History Center から Export する時と同じようにしたつもりです。

何か要望があれば、またコメントなどをください。

aririnaririn 2009/12/30 17:33 早速ダウンロードさせて頂きました
ローカルで複雑な計算処理をするのに向いていますね。

ところで、例えば4hチャートなどにドロップして6万件などと指定した場合、
データが存在しない期間は「1970.01.01,00:00,0,0,0,0,0」で埋められています。
CSVに出力するのはデータが存在する期間だけで、データが存在しない期間は何も出力しないように
してあると良いと思うのですが、何故このような措置になっているのでしょうか?

violinviolin 2009/12/30 22:43 faiさんこんばんは、violinです。
早速要望に応えていただきありがとうございます!
単にHistoryCenterからCSV出力をさせるだけのものかと思っていたのですが、出力する本数まで指定できるんですね…
ぜひ有効活用したいと思います。ありがとうございました!

fai > aririnfai > aririn 2009/12/31 00:07 何故そうなっているかというと…
そこまで考えていなかったからです。笑
以下のような修正でおそらく対応可能です。

for(int i=0;i<OutputBars;i++)
{
ret = FileWrite(handle,TimeToStr(iTime(symbol,Period(),i),TIME_DATE),

for(int i=0;i<OutputBars;i++)
{
if(iTime(symbol,Period(),i) == 0 ) break;
ret = FileWrite(handle,TimeToStr(iTime(symbol,Period(),i),TIME_DATE),

fai &gt; violinfai > violin 2009/12/31 00:08 正直言うと、
HistoryCenterからCSV出力をさせる 方が面倒です。^^;
なので、こんなカタチになりました。

今日が誕生日今日が誕生日 2010/01/05 01:01 おおー凄い!
年末から初心者VBA本を片手にぽちぽちと分析マクロを作っており、
MT4から送られてきた時間が変化したらPriceを書き換えるには・・・
などと思い、"Excel DDE"でぐぐってたらこちらのページに辿り
着きました。
余計なものを作らずに済みそうです。早速使わせていただきます!

今日が誕生日今日が誕生日 2010/01/05 01:21 よく推敲せずに送信してしまいました。
システムの時計を使わずに、MT4から送られてくる時間が表示されている
セルに変化が起きたら行を追加する、みたいなことをやれないかと妄想
しておりました。変テコマクロに時間をかけずに済みます。
どうもありがとうございます。

名無し名無し 2010/01/13 11:14 四本値は終値、始値、高値、安値の順なんですね。
最初小一時間悩みました。
でもこのインジケータのおかげで本当に楽チンです。
どうもありがとうございました。

munimuni 2010/05/07 10:33 ダウンロードさせていただいたのですが何度やってもexperts\filesフォルダが空のままです。
インジケーターにあるCSV_Updater_3Pairsを任意のチャートへドラッグして設定は変えずにokをクリック。とやっています。
他の方は上手く仕えているようなので僕が使い方を理解していないのだと思いますが

fai &gt;munifai >muni 2010/05/07 10:57 Vista以降 で Program Files に MT4 をインストールされているのでしたら、
experts\filesフォルダを開いて、エクスプローラの互換性ファイルボタンを押してください。

munimuni 2010/05/09 13:14 迅速な返事ありがとうございます。
完全におっしゃる通りで上手くいきました。
ありがとうございます。

名無しさん名無しさん 2010/06/06 20:35 自作のFileWriteが動作せず検索したところここにたどり着きました。
互換性ファイルで解決しました。
Metaさんのおかげで有意義な土日が送れました。

dabodabo 2010/12/21 18:31 素晴らしいです。CSVデータ保存のマクロを検索していて辿り着きました。
現在このようなデータになっていますが(2010.12.21|8:53|83.674|83.674|83.674|83.674|1
)日付と時間のみ(210853|83.674|83.674|83.674|83.674|1)に書き換えることは可能でしょうか?

dabodabo 2011/01/12 11:15 何度も書き込みいたしまして失礼します。
CSV_Updater3Pairsを昨年末よりとても重宝させて頂き助かっています。

あつかましいですが希望だけ書かせていただきます。
もしもお時間が空く時がございましたら(簡単に出来るものだけで結構ですので)よろしくお願いいたします。
? 時間の表示を日付と時間のみに一つのセルに (2011.01.12|1:31)〜(120131)
? データを昇順に表示
? 1分足データの場合に多いのですが(CFD出来高が少ないため)約定の無い時間が抜けているところに直前  の終値を4本値にして次の足書き込みのときに挿入したい。

突然あつかましく書き込みしてすみません。ご検討いただけましたら幸いでございます。

dabodabo 2011/01/13 09:19 おはようございます。
お忙しいところご無理ばかし申しまして失礼致します。
データを昇順に表示方法だけ教えていただけませんか。
ソースの修正は自分でしますので修正の式をお願いします。
どうかお助けくださいまし。

ohnetaohneta 2011/06/25 11:05 こんにちは いつもこっそり困ったときに活用させていただいてます。
今インジケーターのバックテストプログラムとして、
エントリーおよび利食いのポイントで↓やサウンドを出すタイプのインジにメールとアラートを
追加して実質レートを表示した上でチェックするという事をテストしているのですが、
(VQみたいなタイプでやじるしが出たタイミングにメールおよびアラートを出すというもの)
トレンド追従型のタイプですと確定する迄アラートが出っぱなしになるという状態なので
メール転送するととんでもないスパムメールになってしまい困っています、
こちらのCSV出力のコードはそういった検証用として使う事ができるのでしょうか?
なにか助言いただけたら幸いです。 よろしくお願いします。

moomoo 2011/08/23 15:17 有益な情報、ありがとうございます。MetaTrader5(Admiral marketsのJP225)のヒストリカルデータを何とかCSVファイルに出力できないかと、いろいろ検索し、こちらのBLOGにたどり着きました。こちらのファイルはMetaTrader5でも利用可能でしょうか?

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/fai_fx/20091230/1262099915