【開発の裏側70】ポップアップで知らせる設定にしても、何も出ていなかった。インジケーターでは使えない命令を、3本が使っていた話

【開発の裏側70】ポップアップで知らせる設定にしても、何も出ていなかった。インジケーターでは使えない命令を、3本が使っていた話

記事
IT・テクノロジー
どうも、FXトレーダー兼システムエンジニアのナオトです。

開発の裏側の70回目です。前回は、ボックスのインジケーターで、フィボナッチと見つけ直しを直した話でした。
今回は、同じ時期に作り直した3本のインジケーターに、共通して見つかった不具合の話です。



MT4とMT5には、小さな窓を出してボタンを押させる命令があります。MessageBoxという命令です。
はい、いいえ、を聞いたり、注意を出したりするのに使えます。

ただし、この命令は、EAやスクリプトでは使えますが、インジケーターの中からは呼べません。
呼んでも、窓は何も出ません。



作り直す前の3本は、この命令を使っていました。

トレンドラインのインジケーターと、ボックスのインジケーターは、お知らせの知らせ方に、ポップアップ、という選択肢がありました。
その中身がMessageBoxでした。ポップアップを選んでも、何も出ていなかったことになります。

しかも、音で知らせる選択肢のほうは、MT4やMT5の通知の窓を出す命令(Alert)で作られていました。
音だけのつもりで選んでも、窓も一緒に出ていたわけです。名前と中身が、入れ違いに近い形でした。

直した版では、音は音を鳴らすだけの命令(PlaySound)に、ポップアップは通知の窓(Alert)にしました。



ダウ理論のインジケーターは、入力の値が範囲の外だったとき、それを知らせるのにMessageBoxを使っていました。
こちらも、知らせは出ません。

直した版では、通知の窓で知らせるようにしました。



範囲の外の入力では、もう1つ見つかりました。

トレンドラインとボックスの2本は、範囲の外の値が入っていると、起動そのものを止めていました。
使う人から見ると、入れたのに動かない、になります。

直した版では、範囲の中に直して動かし、直したことを通知の窓で知らせます。



この不具合は、コンパイルも通り、エラーも出ず、チャートの表示も正しいままです。
知らせの経路だけが、黙って空振りしていました。

インジケーターに知らせる仕組みを足したときは、選択肢を1つずつ選んで、本当に音が鳴るか、窓が出るかを、実際に確かめてみてください。

高値と安値のトレンドラインを自動で引き、到達とブレイクを知らせるインジケーターです。


最後までお読みいただき、ありがとうございました。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す