どうも、FXトレーダー兼システムエンジニアのナオトです。
開発の裏側の61回目は、トレンドラインの傾きを秒で持っていたので、週末をまたぐと線が山と谷を外れた話でした。
今回も、同じ日に製品として作り直した、もう1つのインジケーターの点検の話です。
製品紹介の2回目で書いた e-BoxRangeSnap は、高値と安値が何度も止められた価格帯を見つけて、ボックスで描くインジケーターです。
価格が上限や下限に届いたとき、抜けたとき、ボックスの中のフィボナッチの位置に来たときに、お知らせを出せます。
もとの版を製品にするにあたって、お知らせの流れを1つずつ追いました。
見つかった問題のうち、3つを書きます。
1つ目は、お知らせの間隔です。
同じお知らせが続けて鳴らないように、一度知らせたら、決めた秒数のあいだは知らせない、という決まりが入っていました。
ところが、その秒数の数え方が、全部の場面で1つだけでした。
フィボナッチの位置に来たことを知らせた直後に、価格がボックスを抜けても、抜けたことは知らされません。間隔の内側だからです。
抜けたお知らせは、黙って捨てられていました。
直し方は、間隔を場面ごとに分けることです。お知らせの場面ごとに、それぞれが自分の時計を持つようにしました。
2つ目は、判定に使う価格です。
ボックスの上限と下限は、チャートの足の高値と安値から作っています。MTのチャートの足は、売りの価格(Bid)で描かれます。
ところが、お知らせの判定は、買いの価格(Ask)で行っていました。
AskはBidより、スプレッドの分だけ高い価格です。
上限には実際より早く届いたと知らせ、下限には遅れて知らせていました。
判定もパネルの距離の表示も、Bidにそろえました。
3つ目は、ボックスが入れ替わった瞬間です。
新しい足ができると、ボックスを見つけ直します。そこでボックスが新しいものに入れ替わっても、前のボックスのときの状態のまま比べていました。
たとえば、前のボックスでは中にいたのに、新しいボックスでは外にいる。その違いを、新しい動きと取り違えて、入れ替わった瞬間に誤って知らせることがありました。
ボックスが入れ替わったら、まず状態を取り直してから比べるようにしました。
もう1つ、ポップアップのお知らせが、インジケーターでは使えない命令で書かれていて、何も出ていなかったことも見つかり、直しています。
お知らせの不具合は、画面を見ているだけでは気づきにくいものです。
鳴るべきときに鳴らなかったことは、鳴らないので目に入りません。
お知らせを作るときは、間隔を場面ごとに持つか、判定の価格が描いた線と同じか、見るものが入れ替わった瞬間にどうなるか。この3つを確かめておくと、取りこぼしと誤報が減ります。
上限と下限への到達とブレイクを知らせ、ボックスを保存もできるインジケーターです。
最後までお読みいただき、ありがとうございました。