13分足でバックテストする?( うん、それ無理。

sh03b 2010/05/01 11:14
こんにちは。
いつも楽しみに拝見しています。
私もいっぱしのMQLプログラマーになろうと勉強中であります。

ネタと呼べる代物か判りませんが、MT4で13分足や3時間足などのバックテストはできるのでしょうか?
いろいろ調べてみますが、検索ワードが悪いのか?そもそもできないのか?なかなかヒットしません><
ご教授いただければ幸いです。
よろしくお願いしますm(_ _)m


うん、それ無理。」
「だって、MT4はカスタムタイムフレームに対応してないんだもの」





とは言うものの、せっかく質問頂いたので、今日は無理やり試してみたいと思います。
「やらなくて後悔するよりも、やって後悔したほうがいい」と言いますからねぃ。
方針は以下の通りです。

(1) ドル円の13分足を作成。
(2) そのデータを別の通貨(例えば、ユーロ円)の1分足にすり替える。
(3) ユーロ円1分足でバックテスト行う。

1分足であれば、バックテストできますし、その1分足のデータがテストしたい13分足の動きそのものであれば、間接的に13分足のバックテストを行ったことになる....はずです。
(今回のバックテスト対象はドル円で、ドル円の1分足データを上書きすることはできないので、別の通貨(ユーロ円)の1分足を上書き、すり替えます。ユーロ円もトレードされる人は、他のペアにしましょう。。

(1),(2)は、Period Converter Optを改造して、出力ファイル名とファイル内のヘッダをユーロ円1分足となるようにします。


この変則的な Period Converter を使えば、ドル円の13分足は、ユーロ円1分足として作成できます。(下図)

↑チャートタイトルは1分足ですが、中身は13分間隔になっています。
(時間軸が 21:27 21:40 21:53 22:06 ... になってます。


この状態で、ユーロ円1分足でバックテストを行います。

変則的なデータを使うので、テスト時はオフラインにした方がよいかも知れません。


テスト終了後に、オフラインチャートから テストに使われた Tick データを確認すると…


Tick の動きも先のチャートの13分足を1本ずつシミュレートした形になっています。


一応これで、13分足のバックテストが出来ると思うのですが…、満足のゆく結果が得られるかどうかは?分かりません。^^;