【MQL5】ChartClose関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

ChartClose関数の働き・役割

ChartClose関数は、指定されたチャートを閉じるための関数です。チャートを閉じることでシステムリソースを解放し、プログラムのパフォーマンスを向上させることができます。

ChartClose関数の引数について

ChartClose関数は1つの引数を持ちます。

bool ChartClose(
  long chart_id    // チャートの識別子
);

第1引数はchart_idで、データ型long型です。閉じたいチャートの識別子(ID)を指定します。

ChartClose関数の戻り値について

ChartClose関数は、チャートを正常に閉じた場合にはtrueを返し、失敗した場合にはfalseを返します。この戻り値を使用して、チャートが正しく閉じられたかどうかを確認することができます。

ChartClose関数を使う際の注意点

ChartClose関数を使用する際には、指定されたチャートが既に閉じられている場合や、無効なチャート識別子を指定した場合には、関数はfalseを返します。また、チャートを閉じると、そのチャートに関連する全てのオブジェクトや設定が失われるため、必要なデータは事前に保存しておくことが重要です。さらに、チャートを閉じる操作は不可逆的であり、一度閉じたチャートは再度開く必要があります。

ChartClose関数を使ったサンプルコード

以下は、ChartClose関数を使用して特定のチャートを閉じるサンプルコードです。

// OnStart関数はスクリプトの実行が開始されたときに自動的に呼び出されます
void OnStart()
{
    // "EURUSD"の1時間足チャートを開く
    long chart_id = ChartOpen("EURUSD", PERIOD_H1);
    
    // チャートが正しく開けたか確認
    if(chart_id != 0)
    {
        // チャートが開けた場合の処理
        Print("チャートを開きました。チャートID: ", chart_id);
        
        // 開いたチャートを閉じる
        bool result = ChartClose(chart_id);
        
        // チャートが正しく閉じられたか確認
        if(result)
        {
            Print("チャートを閉じました。チャートID: ", chart_id);
        }
        else
        {
            Print("チャートを閉じるのに失敗しました。");
        }
    }
    else
    {
        // チャートを開けなかった場合の処理
        Print("チャートを開くのに失敗しました。");
    }
}

サンプルコードに使われた関数や文法要素の簡単な解説

OnStart関数は、スクリプトが実行されると自動的に呼び出される関数です。この関数内にプロパティ取得の処理を記述しています。

ChartOpen関数は新しいチャートを開くための関数です。戻り値としてチャートの識別子を返します。

ChartClose関数は、指定されたチャートを閉じるための関数です。chart_idで閉じたいチャートの識別子を指定します。戻り値として成功の場合はtrue、失敗の場合はfalseを返します。

if (chart_id != 0)は、チャートの識別子が0でないことを確認する条件文です。0でない場合はチャートのオープンに成功しています。

if (result)は、チャートが正しく閉じられたかどうかを確認する条件文です。

Print関数は、エキスパートログにメッセージを出力するための関数です。デバッグや情報の確認に使用します。

タイトルとURLをコピーしました