フィボはラインが多いですので

引きっぱなしだと邪魔くせー。

ということで

ボタンで描いたり消したりできるようにします。

 

ボタンを作るのは、もう何度もやってるので簡単。

 

これをDeleteボタンのコードの下に追加します。

 

今回もY座標が30ピクセル下がってます。

 

そして、

OnChartEventでの処理ですが

 

もし、すでにinner_fiboが描かれてる場合は消す

もし、まだinner_fiboが描かれてない場合は描画する

 

こう条件分岐したいわけです。

「inner_fiboが描かれてるかどうか」というのは

 

ObjectFind関数 で判定します。

 

また新たな関数が(笑)

この関数もけっこー使います。

 

ObjectFindはウインドウ番号を返します。

ウインドウ番号はメインチャートなら0.

つまり

「メインチャート上にinner_fiboがある場合は消す」

というのは

 

if(ObjectFind("inner_fibo") == 0)ObjectDelete("inner_fibo");

 

こうなります。

 

この条件以外の時は描画するので

else以下にはObjectFindは必要ありません。

 

else Inner_Fibo();

 

これだけ。

「ifの条件以外の時は全て」という時は、このようにelseを使います。

if以外の条件が何通りかに分かれて、その中のひとつの場合はelse if を使います。

 

ということで

 

 

見難いかな

 

 

これを

 

 

このDeleteボタンの処理の下に追加します。

Deleteボタンをクリックした時にも消したいので

このようにここにもObjectDelete("inner_fibo");

追加しておいてください。

 

 

だが、まだ終わりではない(笑)