読者です 読者をやめる 読者になる 読者になる

cTraderからティックデータを抜き出す方法

プログラミング

(こちらの記事は、開発者向けの掲示板に投稿した内容と同様です)

 

最近ティックデータをいろいろなところから集めています。

本日は、cTrader からティックデータを抜く方法を考えたので共有したいと思います。

 

まず、ティックデータの入手は、意外と手こずるもので信頼性あるデータを探すのは容易ではありません。場合によっては有料だったりもします。最もポピュラーなものは、Dukascopy / JForex のティックデータ か、Ture FX / Integral だと思います。どちらも無料で入手できるわりにはハイクオリティです。

ひとによってはFXCMのティックデータを所有している方もいるかもしれません。FXCMのティックデータは、有料(扱い)のようで、基本スタンスとして無料じゃないようです。ですが、FXCMのティックデータは期間も長い上に大手ブローカーという意味で、ここのデータがいちばん良さそうとは思っています。が、入手は困難です。

そこで、Dukascopy や TrueFX よりも簡単に!? ティックデータを入手する方法を考えました。もしかすると既にやってる人もいるかもしれません。この方法であれば、異なるプラットフォームからも同様に入手可能かもしれません。何かアイデアや情報をお持ちの方がいましたら共有いただけるとうれしいです。

 

 

【cTrader からティックデータを抜き出す方法】

 

cTrader は、もともとティックデータでバックテストができます。そこで CSVをファイルをローカルに書きだすcAlgo ロボットで、抜き出したい期間バックテストすれば任意のフォーマット、任意の期間自由にティックデータを抜き出すことができます。

 作成したロボットは、 シンボルとミリセカンドのタイムスタンプ付きでBidとAskを書きだすものです。書き出すフォーマットはいろんなバックテストの仕様に合わせて以下のフォーマットでやっています。

 

EURUSD,20160823 00:00:02.291,1.13167,1.1317

{Symbol},{Timestamp:yyyyMMdd HH:mm:ss.fff},{BidPrice},{AskPrice}

 

以下コード cAlgo で ビルドしてください。

(ビルド済みデータも添付しておきました→掲示板から落としてください)

書き出し形式やフォーマットを変更したい人は任意で変更してください。

また、最初から長い期間バックテストをすると途中で止まることがありますので、小刻みにやってください。長い期間取りたいひとは二回目からは早いので、小刻みやって全期間一度やったあとにもう一度通しでやると全部引っこ抜けます。

期間は、FxPro が最長で、2012年1月~現在まです。