ツールを外したのにボタンや線が残る:描画オブジェクトの消し方
FX
MT4/MT5のインジケーターや便利ツールを作っているYohakuです。作るものは、ゴゴジャンのレビューや質問に出てくる不満から決めています。
その中に「ツールを外したのに、ボタンや線がチャートに残ってしまう」という声があります。ナビゲータから外したのに消えない、というものです。これはチャートの「オブジェクト」の話で、仕組みが分かれば自分で消せます。
先に結論
- インジやツールが描く線・ボタン・文字は「オブジェクト」で、ツール本体とは別物です。
- 作りによっては、本体を外してもオブジェクトだけが残ることがあります。
- 残ったオブジェクトは、オブジェクトリスト(Ctrl+B)で一覧から消せます。
「線」も「ボタン」もオブジェクトです
チャートに出ている水平線、トレンドライン、矢印、四角、文字、そして発注パネルのようなボタンや背景。これらはまとめて「オブジェクト」と呼ばれます。
大事なのは、オブジェクトは「ツール本体が描いた結果」であって、本体そのものではない、ということです。本体をナビゲータから外しても、描いた結果(オブジェクト)は自動では消えないことがあります。
なぜ外しても残ることがあるのか
ツールを外すとき、そのツールが「自分が描いたオブジェクトを片付ける」処理をきちんと持っていれば、外したときに全部消えます。
逆に、その片付けが足りないと、オブジェクトだけがチャートに取り残されます。本体はもういないので、動きもしませんが、見た目として残り続けます。これが「外したのにボタンや線が残る」の正体です。
ツールの良し悪しというより、作る側の後始末の問題です。自分のツールでは、外したときにオブジェクトが0個になることを毎回テストで確かめてから出しています。
外したときに部品が残らないかを自分のチャートで確かめるなら、ロット自動計算パネル(外したとき、ボタン・線・背景を1つも残さないことを、自動テストで確かめています)が使えます。