MQL4(MT4) EventChartCustomの使い方

Event Functions
スポンサーリンク

EventChartCustom()の使い方

MQL4 (MT4)のEventChartCustom()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。

使用GPTs:EA Creator

MT4 MQL4のEventChartCustomの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。

使い方

EventChartCustom関数は、MetaTrader 4 (MT4) プラットフォームのMQL4言語で使用され、カスタムチャートイベントを発生させるために使用されます。この関数は特定のチャートに対してユーザー定義のイベントを送信し、それに応じた処理をOnChartEvent関数内で行うことができます。

EventChartCustom関数の使用法

bool EventChartCustom(
   long chart_id,          // イベントを受信するチャートの識別子
   ushort custom_event_id, // イベント識別子
   long lparam,            // long型のパラメータ
   double dparam,          // double型のパラメータ
   string sparam           // イベントのstringパラメータ
);
  • chart_id: イベントを受信するチャートの識別子。ChartID()関数で取得できます。
  • custom_event_id: カスタムイベント識別子。ユーザーが定義する値です。
  • lparam: イベントに関連するlong型のパラメータ。
  • dparam: イベントに関連するdouble型のパラメータ。
  • sparam: イベントに関連する文字列型のパラメータ。

パラメータに関する情報を以下の表にまとめます。

イベントカテゴリidパラメータの値lparamパラメータの値dparamパラメータの値sparamパラメータの値
キー押下イベントCHARTEVENT_KEYDOWN押されたキーのコードキーが押された回数キーボードボタンの状態を示すビットマスクの文字列値
マウスイベントCHARTEVENT_MOUSE_MOVEX座標Y座標マウスボタンの状態を示すビットマスクの文字列値
グラフィカルオブジェクト作成イベントCHARTEVENT_OBJECT_CREATE作成されたグラフィカルオブジェクトの名前
グラフィカルオブジェクト変更イベントCHARTEVENT_OBJECT_CHANGE変更されたグラフィカルオブジェクトの名前
グラフィカルオブジェクト削除イベントCHARTEVENT_OBJECT_DELETE削除されたグラフィカルオブジェクトの名前
チャート上でのマウスクリックイベントCHARTEVENT_CLICKX座標Y座標
グラフィカルオブジェクト上でのマウスクリックイベントCHARTEVENT_OBJECT_CLICKX座標Y座標イベントが発生したグラフィカルオブジェクトの名前
グラフィカルオブジェクトのドラッグイベントCHARTEVENT_OBJECT_DRAG移動されたグラフィカルオブジェクトの名前
チャート変更イベントCHARTEVENT_CHART_CHANGE
ユーザー定義イベントCHARTEVENT_CUSTOM+NEventChartCustom関数で設定された値EventChartCustom関数で設定された値EventChartCustom関数で設定された値

この表は、EventChartCustom関数で使用されるイベントと、それらのイベントに対応するパラメータの値に関する概要を示しています。より詳細な情報については、公式のMQL4ドキュメントを参照してください。

使用例: カスタムイベントを送信し、OnChartEventで処理する

以下の例では、カスタムイベントをチャートに送信し、OnChartEvent関数でそのイベントを処理します。

// カスタムイベント識別子を定義
#define CUSTOM_EVENT_ID 10001

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
    // カスタムイベントを設定するための何らかの条件や初期化処理
    // ...

    return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {
    // カスタムイベントを検出
    if(id == CUSTOM_EVENT_ID)
      {
        Print("カスタムイベントを受信しました: ", sparam);
        // イベントに応じた処理をここで行う
      }
  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
    // 何らかの条件が満たされたときにカスタムイベントを発生させる
    if( /* 条件 */ )
      {
        if(!EventChartCustom(ChartID(), CUSTOM_EVENT_ID, 0, 0.0, "Hello, World!"))
          {
            Print("カスタムイベントの送信に失敗しました。");
          }
      }
  }
//+------------------------------------------------------------------+

注意点

  • カスタムイベント識別子custom_event_idは、既存のMT4イベントと衝突しないようにユーザーが選ぶ必要があります。
  • EventChartCustom関数を使用してイベントを送信するときは、対象となるチャートが開いていることを確認してください。
  • EventChartCustom関数でイベントを送信すると、OnChartEvent関数が呼び出されます。この関数内でカスタムイベントを適切に処理するためのロジックを実装してください。
  • カスタムイベントを使用する際は、パフォーマンスに影響を与えないように適切なタイミングでイベントを送信することが重要です。また、イベントの処理中に重い処理を行うと、MT4の応答性が低下する可能性があるため注意が必要です。

MQL4リファレンス

正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/eventfunctions/eventchartcustom

他のイベント設定関数の利用方法

以下のそれぞれのリンク先で確認していますので、ご参照ください。

関数名概要
EventSetMillisecondTimerミリ秒単位でタイマーイベントを設定します。指定された時間間隔後にOnTimer()イベントを発生させるために使用します。
EventSetTimer秒単位でタイマーイベントを設定します。指定された時間間隔後にOnTimer()イベントを発生させるために使用します。
EventKillTimerタイマーイベントを削除します。EventSetTimerまたはEventSetMillisecondTimerによって設定されたタイマーを停止し、OnTimer()の呼び出しを停止します。
EventChartCustomカスタムチャートイベントを生成します。カスタムイベントを処理するためにOnChartEvent()関数内で使用されます。

関連記事

スポンサーリンク
海外FXキャッシュバック口座開設ならTariTali(タリタリ)

コメント

  1. Kliknij tutaj より:

    Outstanding feature

  2. Solid arguments

系列サイト

格安航空券を行き先から探す|国際線の料金比較 - 旅する女も男も綺麗さ! ~ 格安航空券を見つけて旅に出よう!!
海外旅行の格安航空券を行き先(都市)から探せます。行き先を選ぶと、航空会社別に料金を比較できるページへ移動します。料金は変動するため、最新の価格は各ページでご確認ください。
海外eSIM比較|国・地域から探す - 終わりなき旅を! ~ 世界中でeSIMを使って旅を便利に!!
海外旅行で使えるeSIMを国・地域から探せます。行き先を選ぶと、データ量と有効期間で比較できるプラン一覧ページへ移動します。料金やプランは変動するため、最新の内容は各ページでご確認ください。
ふるさと納税 返礼品ランキング|ジャンルから探す - ふるさと納税で故郷を感じる! ~ 狙い目が見つかるかも!!
ふるさと納税の返礼品をジャンル別・寄付額帯別にまとめています。気になるジャンルを選ぶと、レビューの多い人気順のランキングページへ移動します。寄付額やレビューは変動するため、最新の内容は各返礼品ページでご確認ください。
イモ野郎 焼酎に眠る - イモ好き野郎が芋焼酎に特化して紹介するサイトです
イモ好き野郎が芋焼酎に特化して紹介するサイトです
タイトルとURLをコピーしました