文字定数

MQL4の文字列要素はUnicodeです。それら1文字1文字は、加算や減算ができる整数にキャスト(型変換)できます。

シングルクォーテーションで囲った1文字、または¥x10のような16進数のASCIIコードは、ushort型の文字定数です。

サンプルコード

// スクリプトファイルのコード
void OnStart()
{
   ushort ji_1 = 'a';   // 引用符で整数化
   ushort ji_2 = '\x61';// ASCIIコード
   ushort ji_3 = 0x61;  // 16進数
   ushort ji_4 = 97;    // 10進数
   ushort ji_5 = 'a' + 1;  // 文字定数の加算
   
   string text = "";
   // 文字列に各文字を割り当てる
   StringSetCharacter(text, 0, ji_1);
   StringSetCharacter(text, 1, ji_2);
   StringSetCharacter(text, 2, ji_3);
   StringSetCharacter(text, 3, ji_4);
   StringSetCharacter(text, 4, ji_5);
   
   Alert(text);   // aaaab とアラートが出る
}

エスケープシーケンス

改行などの文字や記号で表現できないものについては、次の表のように円マーク¥と文字や記号の組み合わせで記述します。

文字名 コード
改行(ラインフィード) ¥n 10
水平タブ ¥t 9
キャリッジリターン ¥r 13
円マーク ¥¥ 92
シングルクォーテーション ¥’ 39
ダブルクォーテーション ¥” 34
16進コード ¥xhhhh(例:¥x1f9a) 1~4個の16進文字
10進コード ¥d(例:¥123) 0~65,535の10進数

サンプルコード

string text = "";
text += "損益額は¥n";
text += "+¥¥1,000です。";

Comment(text);
/* 表示結果
損益額は
+¥1,000です。
*/