MessageBox関数について

共通関数
スポンサーリンク
スポンサーリンク

機能

MessageBox関数はメッセージボックスを作成、表示及び管理します。

メッセージボックスはこういつやつです↓

<書式>

int  MessageBox(
  string  text,            // メッセージテキスト
  string  caption=NULL,    // ボックスヘッダ
  int    flags=0          // ボックスにボタンのセットを定義する
  );

引数

string  text,            // メッセージテキスト→画像にあるように、ボックスの中側に表示されるテキストです

string  caption=NULL,    // ボックスヘッダ→画像にあるように、ボックスの上部に表示されるテキストです

int    flags=0          // どんなメッセージボックスを作るのか、カスタマイズする箇所です。

メッセージボックスダイアログウィンドウ定数という定数値に基づいて、設定します。

引数についてはコチラのリンクをご覧ください。

戻り値

メッセージボックスに対して、どのようなアクションがなされたのか、という結果がメッセージボックスダイアログウィンドウ定数に基づいて、返されます。

戻り値についてはコチラを下記の記事をご覧ください。

備考

MessageBox() を呼び出すと、ユーザーの応答を待っている間実行スレッドがずっと中断されるため、この関数をカスタム指標で使用することはできません。各銘柄のすべての指標は単一のスレッドで実行されるため、この銘柄のすべての時間枠のすべてのチャートが一時停止されます。

MessageBox() 関数はストラテジーテスター内では使用できません。

MQL5リファレンス

カスタムインジケ-タでは使用できない=OnCalculate関数では使えない

ストラテジーテスター内では使用できません。=バックテストモードではなく、リアルの相場に挿入して使ってくださいねー

という事を言っています。

サンプルコード

サンプルコードは以下のようになります。

#property copyright "MQL5ssei"
#property link      "https://mqlinvestmentlab.com/"
#property strict 
//+------------------



void OnTick()
  {
      //メッセージボックスの設定
      int button=MessageBox("第1引数に入力したメッセージ",
                            "第2引数に入力したメッセージ",
                            MB_OKCANCEL);
      
      //OKボタンが押されたのなら
      if(button==1)Comment("OKボタンが押されました");
      //キャンセルボタンが押されたのなら
      if(button==2)Comment("キャンセルボタンが押されました");
      
      //ログに戻り値である定数を出力
      Print("押されたボタンの種類: ",button);
      
  }//void OnTick()

Print関数についてはこちらをご覧ください

サンプルコードの挙動は以下のようになります。

———————————————————————————-

コメント

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