そのため、テストのやり方について調べてみます。
今までのテストでは、テスターウィンドウの「セッティング」タグにて、初期設定の状態でテストを実施していました。

各項目をみてみると
・Expert Advisor
テストしたい EA プログラムを選択する
・通貨ペア
テストしたい通貨ペアを選択する
・日付と時間を使用
テストしたい期間を指定する
項目のタイトルが合っていませんが、送信者に開始期間、宛先に終了期間を指定します。指定しない場合には、MetaTrader が保有する全てのテストデータ期間でテストされます。
・Visual Mode
ここにチェックを付けると、テスト時の取引状況を、チャート図に表しながら実行してくれます。
チャート図を作成しながらテストするため、結果が出るまで時間がかかりますが、ちょっと臨場感を味わえておもしろいです。またその横にあるボタンを押すとテストが一時停止されたり、指定した期日までスキップできたりします。
ここまでは、特にテストデータの精度にかかわる項目ではありませんが、次の「期間」と「タイプ」の2つをどのように指定するかで結果がだいぶ変わる様子です。
「期間」はテストで利用するローソク足を選択する項目で、ここで選択したローソク足の値(始値/終値/高値/安値)を使ってテストが実施されるみたいです。
試しに、期間を”Daily”と”H1”に切り替えて Test1 プログラムを実行してみると

”Daily”では、1日1回の注文しか実行されていない

”H1”では、1日に何回か注文はされているものの、1時間以内に2回以上の注文は実行されていない
となりました。
となると、MetaTrader は Tick の変動タイミングによってプログラムが実行されるため、一番短い周期のローソク足を利用してテストすれば、より精度の高い結果がでるものと思われます。
では、モデルは何のためにあるのでしょう?
モデルには、次の3つの選択肢があります。
・Open prices only
これは、期間で指定した周期のローソク足情報のみを使ってテストするタイプで、今までやってきたテストがこれになります。
#ちなみに、MetaTrader では、周期が短いほどテストデータの保有期間が短くなり、テストできる期間が短くなります。
・Control points
期間で指定したローソク足より一つ周期の短いローソク足を使ってテストする様子ですが、何のためにこのモデルがあるのかは、ちょっと解りません・・・
・Every tick
Tick(1分足?)を利用してテストをするみたいです。つまり、期間でどの周期を選択しても、Tickデータを利用してテストするみたいです。
試しに、テスト期間と周期設定(日足)を同じ状態で3つのモデルを実行してみました。

左から「Open Price Only」「Control Point」「Every Tick」になりますが、確かに、それっぽく注文をしているみたいです。
では、Every Tick でテストするのと、Open Price Only で1分足でテストするのでは、何が違うのでしょうか?
Open Price Only タイプでは、先にも書いたように、MetaTrader が保有しているローソク足の情報のみを使ってテストするため、テストできる期間が保有データに左右されます。
つまり1分足のデータは大量になるため、あまりデータが保持されておらず、最近のデータでしかテストできません。
Every Tick は、MetaTrader が保有している全てのローソク足情報を駆使して、指定されたテスト期間分の Tick データを擬似的に作成し、そのデータを使ってテストしているみたいです。
#どのようなルールで擬似データを作成しているかは、解りません・・・
そのため、長い期間で精度の高いテストを行うためには、Every Tick タイプでテストすれば良いみたいですが、擬似的なデータですので参考程度に考えていた方がよいのかもしれません。
#どうやら、1分足のデータを追加するやり方もある様子ですので、いつか調べてみます。