MT4(MQL4)/MT5(MQL5)のComment
チャート画面の左上にコメントを出す事ができます。
void Comment(
argument, // 初めの値
... // 次の値
);
MT4→MT5になっても、変わらず使えます。
改行するには「 \n 」または 「 \r \ n 」を使用します。
カンマ区切りで64個まで値をセットできます。(最大文字数は2045文字)
サンプルコード
今回はスプレッドを表示してみる事にしました。
void OnInit()
{
MqlTick last_tick;
SymbolInfoTick(_Symbol,last_tick);
double Ask=last_tick.ask;
double Bid=last_tick.bid;
double spread = Ask-Bid;
Comment
(
"現在のスプレッドを",
"表示します\n",
"Ask =", Ask ,"\n",
"Bid =", Bid ,"\n",
"Spread =", DoubleToString(spread,10) ,"\n",
"Spread(in pips) = ",NormalizeDouble((spread/Point()/10),Digits()),"\n"
);
return;
}
結果
USDJPY(小数点以下3桁)の場合
EURUSD(小数点以下5桁)の場合
おまけ(改行コードを画面に表示させたい場合)
「 \n 」を「\\n」にして\を2個重ねると、画面に表示させる事ができます。
void OnInit()
{
Comment
(
"現在のレート = ",SymbolInfoDouble(Symbol(),SYMBOL_BID),
"\n改行したい場合は\\nを入れる",
"\r\nもしくは\\r\\nを入れる"
);
return;
}
「 \n 」のように頭に「\」などをつけて文字を特殊操作に使用する事をエスケープシーケンスと言うのですが、これをさらにエスケープする事で画面に表示させています。(って説明難しいですね・・・。)
・「n」に「\」をつけて「\n」にしたら改行コードとして使える。
・さらに「\」をつけて「\\n」にしたら「\n」を画面表示させる事ができる。
・・・という風に憶えておけば、ひとまず大丈夫かと。
おまけ(結果)
【参考】MQL5公式ページ
コメント / Comments