今日のチャートでバックテストしたいなら終了日は明日を設定するべし
今日のチャートでEAをバックテストしたいことってありますよね。
それで、以下のように設定してバックテストを開始してみるわけです(今日は2019/12/3という前提)。
でも、これではバックテストしてくれません。
「あぁ、まだ今日は終わってないからバックテストできないのかな」なんて思っちゃう人もいるかもしれません。
そうではありません。上記の終了日の設定に問題があるのです。
今日が12/3ならば、終了日はその翌日の12/4にする必要があります。
そうすれば、12/3のチャートデータできちんとバックテストしてくれます。
カラクリを説明しますと、終了日というのはMT4内部では恐らく設定日の0:00という日時形式になっていると思われます。
従って、開始日が12/3、終了日が12/3の場合、MT4内部では12/3 0:00~12/3 0:00の期間でバックテストしろという解釈になり、バックテストが動かないわけです。
終了日を翌日の12/4にしてやれば、MT4内部では12/3 0:00~12/4 0:00の期間でバックテストしろという解釈になり、12/3の1日分をバックテストしてくれるわけですね。
その応用で、ある月(例えば4/1~4/30)をバックテストしたい場合は、開始日を4/1、終了日を5/1(4/30ではない点に注目)にする必要があります。
終了日を4/30にしちゃダメですよ?4/30にしてしまうと、実際は4/1~4/29までしかバックテストしてくれませんから。
知っているようで意外と知られていないバックテスト期間のお話でした。