画面上の水平線やトレンドラインを一気に消す方法(MT4)

MT4で複数のインジケータ使っている場合や分析のため水平線やトレンドライン、フィボナッチラインを使用して画面が見にくくなった経験は、みなさんあると思います。

MT4上の画面を右クリック、”表示中のライン等のリスト”を確認すると大量のライン等が確認できます。
ちなみに表示中のライン等の画面を表示するにはCtrl+Bでも表示できます。

画面上の水平線やトレンドラインを一気に消す方法(MT4) many object

ここに表示されているのはライン、トレンドライン、ラベル、テキストなどでプログラミングの世界ではこれらはオブジェクトと言われています。特にラウンドナンバーで自動で線が引かれるインジケーター、自動で水平線やトレントラインを引くインジケータや時間で線が引かれるインジケータを使用している場合には大量に作成されていることになります。さらにこのオブジェクトはプログラミングでは表示を無効にすることができ、作成したオブジェクを削除しない、あまりよろしくないインジケータを使用したりするとオブジェクトが削除されないのでどんどんオブジェクトが増えるということになります。プログラミング的にはオブジェクトは2 147 483 647個まで作成可能になりますがMT4が遅くなっている原因の1つかもしれません。

Type Size in Bytes Minimum Value Maximum Value
int 4 - 2 147 483 648 2 147 483 647

 

試しに”表示中のライン等のリスト”のすべてのボタンを押してみてください。

obkect lists1画面上の水平線やトレンドラインを一気に消す方法(MT4)
一気に数字が増えませんか?大量のオブジェクトが作成されてませんか?
例では435個のオブジェクトが3525個まで増えました。

これらのオブジェクトは”表示中のライン等のリスト”の画面でも”すべて”のボタンを押してCtrl+A(すべてを選択)で”削除”ボタンを押すことで削除は可能になります。

こちらではほかの方法としてスクリプトを1から作成して今後スクリプトをダブルクリックすることにより実行できるようにしたいと思います。

MT4の画面にF4キーを押してMeta Editorを起動します。左上の”新規作成”をクリックします。
Meta Editor screen1
上記の画面が表示されますのでスクリプトを選んで”次へ”のボタンを押します。
Meta Editor screen2
名前の箇所にスクリプトの名前を入力します。なんでもいいのですがここではDeleteAllと入力しています。
”完了”ボタンを押します。

Meta Editor screen3
上記の画面が表示されるのですべての内容を消して(Ctrl+Aを押してBackSpaceキー)
以下を以下を貼り付けてください。
貼り付けたら画面中央のコンパイルを押してください。

DeleteAll.mql:

#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property script_show_confirm
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---
int err = ObjectsDeleteAll();
if(err<0)
Print("ObjectsDeleteAll with error #",GetLastError());
}
//+------------------------------------------------------------------+

 

Meta Editor screen4

下の画面で0 errors, 0 warningsになっていることを確認してください。
もしコンパイルボタンを押してエラーが出た場合には上にスペース等がないか等確認してください。
Meta Editor screen5 Meta Editor screen6
MT4の画面に戻ると作成したスクリプトがあるのが確認できます。
Meta Editor screen7
オブジェクトが大量にあるチャート表示されているのであればスクリプトをダブルクリックまたは、
チャートにドラッグ&ドロップします。以下の画面が表示されますので"はい"を押します。
チャート上のすべてのオブジェクトが削除されます。
もちろん”表示中のライン等のリスト”に何もないときは実行されないのでご注意ください。
あと実行後、スクリプトを実行したい通貨になっていることを確認お願いします。
Meta Editor screen8

 

この記事が気に入ったら
フォローしよう

最新情報をお届けします

Twitterでフォローしよう

おすすめの記事