まず、前提として、バーの始値で発注するためには、始値そのものが存在しなければなりません。
この点、終値は原則として定刻の到来と同時に確定しますが、始値は定刻の到来と同時に確定するわけではなく、定刻の到来後最初のティック変動で初めて確定します(そのときはじめて新しいバーが誕生するわけで、それまでは、新しいバーは未存在で定刻前のバーがまだ最新のバーということになります)。
なので、定刻の到来とその後最初のティック変動との間にタイムラグがあれば、当然、定刻より遅れて約定します。ブローカー、通貨ペア、時間帯などにもよりますが、出来高の少ない場面では、数分間ずれ込むこともあります。
1分足データがときどき欠けていることがあるのもそのためです。
つまり、定刻が到来しても1分以上の間ティックの変動がないと、その間始値が確定せず、そのバーはついに存在しないまま次の定刻まで時が流れてしまうわけです。この場合には、バーそのものが存在しないので、始値だけでなく、高値・安値・終値も存在しないことになり、その結果、丸々データに欠損ができてしまうわけです。
ところで、定刻の到来とその後最初のティック変動との間のタイムラグのために、定刻より大幅に遅れて約定してしまう現象については、とくに気にする必要はないと私は考えています。なぜならば、そのような現象は、「定刻通りに約定しない」というだけで、「始値で約定している」ことに違いはなく、バックテストとの整合性はきちんと保たれているからです。
コメントをお書きください
かきぴー (土曜日, 27 10月 2012 14:52)
永年の謎が解けた~
easakuseidaiko (土曜日, 27 10月 2012 22:07)
>かきぴーさん
喜んでいただいて恐縮です。
from takechan