【開発の裏側95】インジケーターの中では、待つ命令が効かなかった。空回りで画面を止めていた待ち方と、起動に失敗しても片付けていた話

【開発の裏側95】インジケーターの中では、待つ命令が効かなかった。空回りで画面を止めていた待ち方と、起動に失敗しても片付けていた話

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

開発の裏側の95回目です。前回は、MACDの線が足の始まりの値で止まっていた話でした。
今回も同じMACDのインジケーターで、待ち方と、片付け方と、背景色の聞き方を直した3つの話です。まだ出していないインジケーターです。



1つ目は、データがそろっていないときの待ち方です。

チャートを開いた直後などは、MACDや移動平均線の値が、まだ全部そろっていないことがあります。
前の版は、そろっていないと、30ミリ秒待って取り直す、を最大30回くり返していました。

ところが、MT5のインジケーターの中では、待つ命令が効きません。待たずにすぐ次へ進みます。
待っているつもりの間は、ただ空回りして、画面を止めていました。

直した版では、待たずにその場はあきらめて、タイマーで少しあとに取り直すようにしました。



2つ目は、起動に失敗したときの片付けです。

インジケーターは、起動のときにいくつか確かめをして、通らなければ止まります。
前の版は、止まったあとの外す処理で、チャートの線や文字を消していました。起動していないので、自分で描いたものはありません。

同じ名前の頭を持つ表示がチャートにあれば、それまで消してしまいます。

直した版では、起動に成功したかを覚えておき、失敗したときは、外す処理でチャートに触らないようにしました。



3つ目は、背景色です。

サインを点滅させるとき、線や文字を背景と同じ色にして見えなくしています。この色を知るために、チャートの背景色を聞いています。
前の版は、値動きのたびに、何度も背景色を聞いていました。背景色は、ふだんは変わりません。

直した版では、起動したときと、チャートの設定が変わったときだけ聞くようにしました。



3つとも、画面の表からは見えないところで、余計なことをしていたものでした。

インジケーターを作るときは、その命令が、インジケーターの中で本当に効くのかと、何回呼ばれているのかを、一度数えてみてください。

インジケーターの見直しや作り直しも、ご依頼をお受けしています。


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