見出し画像

【MQL】comment関数を使ってトレード情報を表示【EA】

本記事は、プログラミング学習の備忘録です。本記事のコード等をご利用になる際は、ご自身の責任においてご利用ください。

1.内容

comment関数を使ってチャート上にトレード情報を表示するEAを作成しました。今回は、①チャート上の通貨ペアの情報 と ②特定の通貨ペアの情報 を表示させました。具体的には、
・通貨ペア
・売値(BID)
・買値(ASK)
・通貨ペアの小数点以下桁数
・売値(BID)の100pipsの位の数
です。


2.コード

#property version   "1.00"          //バージョン
#property strict                    //コンパイルのモード

enum Currency_Pair {
  USDJPY,
  EURUSD,
  GBPUSD,
  USDCHF,
  AUDUSD,
  USDCAD,
  NZDUSD
};
input Currency_Pair Pair = USDJPY;  //通貨ペア

void OnDeinit(const int reason)
{
  Comment("");
}

void OnTick()
{
  int Chart_digit = (int)MarketInfo(Symbol(), MODE_DIGITS);
  int Sp_digit = (int)MarketInfo(EnumToString(Pair), MODE_DIGITS);

  Comment("------ チャート上の通貨ペアの情報 -----------------------------------------", "\n",
          "│ 通貨ペア=", Symbol(), "\n",
          "│ 売値(BID)=", NormalizeDouble(MarketInfo(Symbol(), MODE_BID), Chart_digit), "\n",
          "│ 買値(ASK)=", NormalizeDouble(MarketInfo(Symbol(), MODE_ASK), Chart_digit), "\n",
          "│ 通貨ペアの小数点以下桁数=", Chart_digit, "\n",
          "│ 売値(BID)の100pipsの位の数=", ((int)(MarketInfo(Symbol(), MODE_BID)*MathPow(10, Chart_digit)) / 1000) % 10, "\n",
          "------ 特定の通貨ペアの情報 -----------------------------------------------", "\n",
          "│ 通貨ペア=", EnumToString(Pair), "\n",
          "│ 売値(BID)=", NormalizeDouble(MarketInfo(EnumToString(Pair), MODE_BID), Sp_digit), "\n",
          "│ 買値(ASK)=", NormalizeDouble(MarketInfo(EnumToString(Pair), MODE_ASK), Sp_digit), "\n",
          "│ 通貨ペアの小数点以下桁数=", Sp_digit, "\n",
          "│ 売値(BID)の100pipsの位の数=", ((int)(MarketInfo(EnumToString(Pair), MODE_BID)*MathPow(10, Sp_digit)) / 1000) % 10, "\n",
          "-----------------------------------------------------------------------------------", "\n"
         );
}


3.コードのファイル



4.実行結果

画像1

左上に表示されました。また、「特定の通貨ペアの情報」については、外部からパラメータの変更ができるようにしています。

画像2

今回は、comment関数の練習でした。

この記事が気に入ったらサポートをしてみませんか?