結論:全ティックバックテスト上のみの現象です。
実運用において、当該現象が発生する可能性はございません。
理由については、釈迦に説教になるかもしれませんが、
順を追って説明させていただきます。
当該、2013/8/2 14:30の1分足ローソク足データは、
始99.933
高99.933
安99.086
終99.351
始値99.933→安値99.086まで、
1分の間に85pips以上の動きがありました。
これは当時、実際に85pipsの動きがあったのでしょう。
尚、BTRの順張りロジックの逆指値は80pipsです。
このため、バックテストを実施すると(実トレードでも)、
始値99.933でエントリーし、一瞬で安値99.086で逆指値決済にかかります。
一方ですが、MT4の全ティックバックテストでは、
値が絶えず変動するティックを疑似的に作成し、相場の動きを再現します。
具体的な疑似ティックの動き方メカニズムは分かりかねるのですが、
恐らくは、高値~安値の間を出来高に比例して行ったり来たり
するという相場の動きを疑似的に再現しているものと思います。
そして、2013/8/2 14:30に作成された疑似ティックによって、
下記のような現象がバックテスト上で発生したものと推定します。
2013/8/2 14:30にエントリー
↓
2013/8/2 14:30に逆指値にかかって決済(-80pips)
↓
2013/8/2 14:30にポジションを持っていないと判断しエントリー
↓
2013/8/2 14:30に逆指値にかかって決済
↓
2013/8/2 14:30にポジションを持っていないと判断しエントリー
↓
疑似ティック作成分の繰り返し・・・
ですが当時実際に、80pipsの間を1分足の間に何往復もしたとは
現実的に考え難いです(絶対に無いとは言えませんが…)
更にの再現テストとしては、順張systemのStoplossを
90pips以上にすれば当該現象は解消しますので、
stoplossに何度もかかることが当現象の起因と推定できます。
しかしですが、-80pipsの逆指値は最初の1回だけで、
2回目以降複数回の14:30のエントリーではその負け幅は1~2pips程度です。
その原因については今後の調査対象になりますが、
エントリーと同じ足で逆指値にかかる事で決済フラグが立ってしまい、
次のティック以降で毎回決済してしまったなどの理由かと想定しています。
尚、実際にEAを稼働させた場合なのですが、
当該EA(15分足)では、15分00秒の最初のティックだけ
プログラム(EA)を実行するようにif文を設けています。
2本目以降のティックでは、プログラム(EA)はスルーされ、
そのif文がリセットされるのは、16分になってからです。
当然、15分足のEAなので16分ではプログラムが実行されず、
次の実行は、30分00秒の最初のティックになります。
上記のようなif文があるにも関わらず、
14:30の2本目以降のティックでもプログラムが実行された点ですが、
1本目のティックで逆指値にかかってしまうことで、
プログラムがEndに到達する前に2本目のティックに突入してしまった
などの仮説を現時点で立てています。
これについても、今後調査していきます。
原則として、相場で発生しうる状況に対してプログラミングしていたのですが、
バックテストの疑似ティックにまでは正直、目を向けれていませんでした。
申し訳ございません。
これについては真摯に受け止めさせていただき、
今後の開発・改正の対象とさせていただきます。
短時間で この対応感服しました。開発者の対応もAAAと最高ランクですね
この記事へのコメントはありません。