2009/01/23

後出しじゃんけん。

時々有能であろうと思われる指標(インジケーター)に出会う。
しかし、検証してみると、後出ジャンケンをしていることが多い。
代表的なのに【ZigZag.mq4】がある。
この指標は、確定した物を見ると確実に高値と安値を導き出している。
なぜか? それは、高値および安値が更新されるたびに、更新していくから。
少なからず【MODE_CLOSE(終値)shift=0(現在のバー)】を用いた指標は、その傾向がある。
指標のさきっぽが、値が動くたびに動く現象
これは、EAにとって致命的な現象を引き起こすことがある。
その現象とは、バックテストとリアルトレードとの成績のズレを作りだすもの。
ほとんどが、利益を削減させる原因となる。
なぜ? 原因は、終値位置の違いがあるため。
現在のバーの終値は、リアルでは、終値が確定するまで現在の値を意味する。
バックテストの場合、最少の値が利用できるとしても、1分足の初値・高値・安値・終値の計4つ。
5分足で考えるなら、【5×4=20個】リアルの平均ティック数を50としても2/5のクオリティー、 まして、急激な変動があればティック数は、200を超える。その時1/10以下のクオリティーとなる。
バックテストは、オーダーを取らなかったのに、リアルトレードでは、オーダーを取得することも考えられる。 現在よりもちょっと先のデータを利用してテストしていると考えた方がいい。
 (後出しジャンケンが発生する) では、どうすればいいか? 確定した、最も新しい値(OPEN[0]現在の初値)を利用するのがいいだろう。 しかし、チャンスが低減する可能もある。