文字定数
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です。 */