チャートのトレンドラインまたはオブジェクトすべてを一括で削除する方法

clear-objects
  • URLをコピーしました!

チャートにたまったトレンドラインなどのオブジェクトを一括で消したいのですが。

かんたんな方法はありますか?

ホシノ

FXの不労所得だけで年収2000万を達成しました。
このお悩みに誠意をもって回答します。

BBF_MQL5-20240501
リアルトレード公開|EA BBF

この記事でわかること・できること

〇オブジェクトを一括で削除する方法

〇トレンドラインだけを一括で削除する方法

〇スクリプトのダウンロード

〇スクリプトを活用した効率的なトレーディング

目次

チャートのオブジェクトはスクリプトで一括削除

Line-on
オブジェクトがたまっているチャート
Line-off
スクリプトを使えば一括で削除が可能

チャートにたまった描画オブジェクトはスクリプトの「DeleteAll-or-Trendline」を使用すればかんたんに一括削除できる。
スクリプトのダウンロードはこちら。

このスクリプトはトレンドラインだけの削除、またはすべてのオブジェクトの削除を選択可能です

スクリプトの使い方もかんたんで、オブジェクトを一括削除したいチャートにドラッグアンドドロップする、またはダブルクリックでアクティブウィンドウのチャートに確認ダイアログが表示される。

どのオブジェクトを削除しますか?

はい:すべてのオブジェクトを削除
いいえ:トレンドラインを削除
キャンセル:何も削除しない

スクリプトの実行前には確認ダイアログが表示されるため、誤った削除は未然に防げる。

「はい」を選択するとチャートのオブジェクトすべてを一括で削除する。
「いいえ」を選択するとチャートのトレンドラインのみを一括で削除する。
「キャンセル」を選択すると何も削除せずスクリプトは終了する。

スクリプトをMT4へセットするには

ダウンロードしたスクリプト「DeleteAll-or-Trendline」はMT4の「Scripts」フォルダへ移動すればインストールできる。

MT4>ファイル>データフォルダを開く>MQL4>Scripts

インストール後はMT4の再起動で適用される。
MT4にセットされたスクリプトは「ナビゲーター>スクリプト」内から呼び出しが可能となる。

詳しくは以下の記事を参照

ショートカットキーと一括削除スクリプトで効率的なトレードをする

MT4でのチャート分析において水平ラインやトレンドラインを引くことは、意識されるプライスやブレイクのポイントを把握できるため裁量トレードには有効となる。
ラインを引く手順が若干面倒だが、以下で紹介しているショートカットキーを利用すると、ひとつのキーで好きなラインを引けるためおすすめだ。
日々のトレーディングでラインを多用する場合には是非ともお試しいただきたい。

ショートカットキーを使って引かれた大量のラインも、一括削除ができるスクリプトを併用すれば管理が簡単になる。
DeleteAll-or-Trendlineはトレンドラインだけの削除を選択できるため、分析はより効率的になるはずだ。

MT4チャートでのライン一括削除の重要性とは?

トレンドラインを大量に蓄積させた場合には以下のようなデメリットが生じてしまう。
ラインを引きなおす過程で古いラインを削除し、チャートをリフレッシュさせることで分析にも良い効果が得られる。

  1. 情報の過多化: 大量のトレンドラインがあると、どれが本当に重要なラインなのか見極めるのが難しくなる。効いているラインとそうでないものを区別することが重要。
  2. 判断の混乱: 過剰なトレンドラインがあると、どのラインに焦点を当てるべきか混乱する可能性がある。
  3. 偽のサポート/レジスタンスレベルの形成: 多くのトレンドラインがあると、一部はランダムな価格動向に基づいて引かれたものかもしれない。これにより、偽のサポートやレジスタンスレベルが形成され、取引の精度を損なう可能性がある。
  4. チャートの過度の複雑化: 大量のトレンドラインがあると、チャートが複雑化し過ぎ、本質的なパターンや動向を見逃す可能性がある。シンプルで明確なチャートが分析の正確性を高める場合もある。
  5. トレードシグナルの誤解釈: 過剰なトレンドラインがあると、誤ったトレードシグナルを読み取る可能性がある。

スクリプトのプログラム詳細


void OnStart()
{
    int choice = MessageBox("どのオブジェクトを削除しますか?\nはい: すべてのオブジェクトを削除\nいいえ: トレンドラインを削除\nキャンセル: 何も削除しない", "オブジェクト削除", MB_ICONQUESTION | MB_YESNOCANCEL);

    if (choice == IDYES) // ユーザーがはいを選択した場合
    {
        DeleteAllObjects(); // すべてのオブジェクトを削除
    }
    else if (choice == IDNO) // ユーザーがいいえを選択した場合
    {
        DeleteTrendLines(); // トレンドラインを削除
    }
    // キャンセルの場合は何もしない
}

//+------------------------------------------------------------------+
//| トレンドラインを削除する関数                                        |
//+------------------------------------------------------------------+
void DeleteTrendLines()
{
    int totalObjects = ObjectsTotal();
    for (int i = totalObjects - 1; i >= 0; i--)
    {
        string objName = ObjectName(0, i); // オブジェクト名を取得
        if (StringFind(objName, "Trend line", 0) >= 0)
        {
            ObjectDelete(0, objName); // トレンドラインを削除
        }
    }
}

//+------------------------------------------------------------------+
//| 全てのオブジェクトを削除する関数                                    |
//+------------------------------------------------------------------+
void DeleteAllObjects()
{
    int totalObjects = ObjectsTotal(); // デフォルトのチャートIDでオブジェクト数を取得
    for (int i = totalObjects - 1; i >= 0; i--)
    {
        ObjectDelete(0, ObjectName(0, i)); // デフォルトのチャートIDでオブジェクトを削除
    }
}

このスクリプトはユーザーに対しオブジェクト削除を選択させるためのダイアログボックスを表示し、選択に応じて特定のオブジェクト削除を決定する。

  1. OnStart 関数:
    • void OnStart():スクリプトの初期化関数。スクリプトが実行されるときに最初に呼び出される。
    • int choice = MessageBox(...):ダイアログボックスを表示し、ユーザーに削除の選択肢を示す。MB_ICONQUESTION | MB_YESNOCANCEL は、ダイアログボックスにアイコンと「はい/いいえ/キャンセル」ボタンを表示するように指示する。
    • if (choice == IDYES):ユーザーが “はい” を選択した場合、DeleteAllObjects() 関数を呼び出してすべてのオブジェクトを削除する。
    • else if (choice == IDNO):ユーザーが “いいえ” を選択した場合、DeleteTrendLines() 関数を呼び出してトレンドラインのみを削除する。
    • // キャンセルの場合は何もしない:ユーザーが “キャンセル” を選択した場合は何も削除しない。
  2. DeleteTrendLines 関数:
    • void DeleteTrendLines():トレンドラインを削除する関数。
    • int totalObjects = ObjectsTotal();:チャート上の全てのオブジェクトの数を取得。
    • for (int i = totalObjects - 1; i >= 0; i--):オブジェクトを後ろから順に処理する。
    • string objName = ObjectName(0, i);:オブジェクトの名前を取得する。
    • if (StringFind(objName, "Trend line", 0) >= 0):オブジェクト名に “Trend line” という文字列が含まれているかどうかをチェックする。含まれていれば、そのオブジェクトを削除。
  3. DeleteAllObjects 関数:
    • void DeleteAllObjects():全てのオブジェクトを削除する関数。
    • int totalObjects = ObjectsTotal();:チャート上の全てのオブジェクトの数を取得する。
    • for (int i = totalObjects - 1; i >= 0; i--):オブジェクトを後ろから順に処理する。
    • ObjectDelete(0, ObjectName(0, i));:指定したチャートID(0はデフォルトチャート)とオブジェクト名を使ってオブジェクトを削除する。

その他の便利なMT4用スクリプト

まとめ

この記事は、MT4チャート上でトレンドラインなどのオブジェクトを一括削除するスクリプトについて解説している。トレンドラインが過剰に溜まるとチャート分析に支障をきたす可能性があるため、効果的な管理方法としてこのスクリプトを紹介している。

スクリプト「DeleteAll-or-Trendline」には以下の特徴がある

オブジェクトを一括で削除: チャート上に溜まったトレンドラインや他のオブジェクトを一度に消去できる。これにより、チャートの情報が複雑化しすぎる現象を防ぐ。
ダイアログボックスで選択可能: ユーザーがオブジェクトの削除方法を選択できるダイアログボックスが表示される。すべてのオブジェクトを削除するか、トレンドラインのみを削除するか選択が可能。
スクリプトの使い方が簡単: スクリプトをチャートにドラッグアンドドロップするか、ダブルクリックするだけで使る。操作も直感的で分かりやすい。
チャート分析の効率化: トレンドラインを適切に管理することで、情報過多や判断の混乱を防ぎ、正確な分析を支援する。
プログラムの詳細が解説されている: スクリプトのプログラム詳細を紹介している。
このスクリプトを使うことで、トレンドラインなどのオブジェクト管理が効率的に行えるため、チャート分析における精度や効率の向上が期待できる。

  • URLをコピーしました!
  • URLをコピーしました!

このEAを使って、将来の見通しが立ちました

収入を増やしたい、将来のための資産が欲しい、支払いに縛られない自由な生活がしたい

このEAを使うと将来が見通せます。

22年以上で無敗の安定取引。リスク0%運用も可能なロジック。年利100%越えの上級者向け取引も可能。

マネーマシンとして育て上げることで大きな不労所得を得られます。

BBF-Girl
ドリームEA_BBF 無料ダウンロード
BBF_MQL5-20240501
リアルトレード公開|EA BBF

ポジション監視の時間

集中力は続いてますか?


オートクローズツールを使ってポジション管理を自動化


自動ポジション管理だから万が一でも大丈夫

あなたは空いた時間を自由に、効率的に使えます

自動決済ルールは独自にカスタム可能

ストップ、リミット変更にも対応。

エントリー後のポジション管理をすべて自動化できるトレーディングサポートツール。

トレード中のちょっとした離席など、念のためセットといった使い方も可能。

MT4用自動決済ツール【AutoCloseTool】は無料で入手できます。

オートクローズツール

取引ごとにキャッシュバックが発生します

もらわないだけ損している
取引ごとに毎回発生する現金のキャッシュバック
海外FXのキャッシュバックはメリットしかないサービスです

取引ごとにキャッシュバック
目次