1分足のバックテストはどのようにされていますか?

saru999 2010/02/21 20:00
faiさんは 
1分足のバックテストはどのようにされていますか?


もちろん、
MT4>表示>StrategyTester>EA;通貨ペア;モデル>スタート
なのでしょうが、、、

先日、このような質問を頂きました。


FXで生き残る為に必要なモノの1つが売買手法で、上手い手法を見つけるのには効率的なバックテストは不可欠です。リアル運用で、損を出しながら手法を編み出すより、テストで損した方がずっとマシですからね^^;
個人的には、手計算でのバックテスト(例..??)や、Excel を使った方法、ForexTester(フォレックステスター)でのテストも有りだと思いますし、単一通貨で動作する EA なら、MT4 の StrategyTester が使えます。
ちなみに、私のメインのEA は少しだけ他通貨の動きを気にするEAなので、そのままでは StrategyTester に掛けられません。(><;
無理やりテストするには、http://articles.mql4.com/445 に相当する手法が必要になります..。


今回の質問は、StrategyTester を使った普通のバックテストのことだと思いますので、その中で差し支えない範囲で回答します。




質問は
1、
4本値データはMT4のものをそのままお使いですか?
それとも、別のURLのものをダウンロードされていますか?

実は、いろいろです。^^;


(1)ブローカーのサーバ内のデータを使う場合。
1分足のデータは、サーバに約2.2ヶ月分程度は保存されているので、それをバックスクロールで取得します。
その1分足データから、period_converter All.mq4 を使って他の時間足のデータを一括作成します。
ご参考:Metatrader 混沌の館


デイトレスタイルのEAなのに、直近2ヶ月の成績がまるで駄目だったらそもそも興味を持てないので、これを除外する目的で、こういうテストはよくやります。時々サーバに5000本程度しかなくて、泣きたくなることがありますが、Datacenter を切替えたら、取得できたことがありました。



(2)ブローカー提供の外部データを使う場合。
EA をより詳しく評価したり、開発目的の場合は、2ヶ月程度のバックテストでは頼りないので、出来る限り長期に渡って調べます。
そこで役に立つのがHistorical data のダウンロードで、私は FXDD に口座を持っているので、専ら FXDD のデータを使うことが多いです。
FXDD
GAIN Capital
昔は、Aplari も提供されていたのですが、今は有りません。
ダウンロードできると言う意味では、JadeFX もありますが、ここは通貨名の接尾辞が違うだけで、MT4 のHistory Center と同じのようです。History Center は、データの入手が楽にできますが、その素性(何処の業者が提示したデータ?)が不明で、時期によっては精度が怪しそうです。なので、日足の古いデータを参照したい時以外には滅多に使いません。


AutoForexiteを試していた時期もありましたが、面倒なので今は使わなくなりました..。


MT4 では、1分足未満の短いTickデータは仮想的なデータになってしまうので、真のTickデータを全て収集してテストする手法(http://eareview.net/tick-data)が知られていますが、これも面倒なのでやっていません。



2、よくわからないのですが、
たとえば、MT4の1分足でロウソクがないところ(?)
データが欠落しているところがあるかもしれない(?)
ときに、その間のデータはどのようにしていられますか?

MT4 では、例えば2分間値動きが無かった(=Tick の更新が無かった )場合に、その間の1分足は生成されない仕組みになっているので、相場の閑散期に発生した欠落は無視して良いと考えています。実運用の時も、その部分は抜けてくるはずです。


ちなみに公式サイトの記事「"Free-of-Holes" Charts」には、1分足の欠落を無理やり埋める方法が載っていますので、試したい人は参考にどうぞ。




ただ、、、FXDD社のヒストリカルデータの下ヒゲという記事では、異常に多い下ヒゲが疑問視されていますし、ガマウシさんの所では、相場の動かない土曜日に足が見つかっているので、欠落以外にもっと気にしないといけない点がありそうです。^^;




3、
デモとリアルの違うと聞いたことがあるのですが、
faiさんはどのようにされていますか?
たとえば、デモでフォワードテストをした後、
リアルで最小枚数でどれくらいためすなど。
どれくらいリアルテストをためしたら、
普通の枚数に変えるなど。
faiさんのやり方がありましたら、おしえてください。

バックテストとデモとリアルの違いは、大雑把にまとめると以下のイメージです。

形態 Tick単位の動き ネットワーク的遅延 約定トラブル
バックテスト 仮想的 無し 無し
デモ なめらか?? 有り ほぼ無し
リアル 激しい(サーバ依存) 有り 有り


4時間足以上の長いスパンでの判断なら、気にしなくて済むと思いますが、5分足以下で参入タイミングを計るデイトレEA では、この違いが大きく効いてきます。いろんなブログを見てまわれば、同じEAでも業者毎に成績がまるで違う話を知ることができます。


…で、ここからは個人的な話になるので参考にして欲しくないのですが、EAの売買戦略が明白でプログラム的な動き方も全て熟知していたら、デモで1ヶ月フォワードテストするのと、1ヵ月後に、一ヶ月分バックテストするのは大差ないのです。なので、作ったばかりのEAの動作テストをするためにデモ口座を使い、ある程度動作確認できれば、0.01〜0.1ロットでリアル口座でテストを始めて、調子が良ければロット数を上げて、違和感を感じたらすぐに止めるようにしています。


実際は、EA自体を低リスク低リターンで設計して、高リスクなイグジットやエントリーを裁量で入れてしまうので、完全自動売買を前提とするシストレ正統派な人から見たら、有り得ない使い方をしていると思います。
こんなので回答になったかしらん^^;