Цвет
MQL5 имеет специальный тип для работы с цветом. Это дает возможность раскрашивать графические объекты.
Для обозначения типа используется ключевое слово color. Под значение типа color выделяется 4 байта памяти. Внутреннее представление — это целое беззнаковое число, содержащее цвет в формате RGB (от Red, Green, Blue), то есть с раздельными уровнями интенсивности для красного, зеленого и синего цветов. Смешение этих трех компонент позволяет получить любой видимый оттенок. Зеленый с красным дадут желтый, красный с синим — фиолетовый, и так далее.
Под каждую компоненту выделен 1 байт, то есть она может принимать значения от 0 до 255. Например, три нуля во всех компонентах дают черный цвет, а три максимальных величины 255 смешиваются в белый.
Если представить color как uint в шестнадцатеричной системе, то распределение цветов выглядит следующим образом: 0x00BBGGRR, где RR, GG, BB — однобайтовые беззнаковые целые числа.
Для удобства пользователя MQL5 поддерживает особый вид литералов для записи цветовых констант. Литерал представляет собой тройку чисел, разделенных запятыми и заключенную в одинарные кавычки. Перед литералом ставится символ 'C'. Например, C'0,128,255' означает цвет с 0 для красной составляющей, 128 — для зеленой и 255 — для синей. Можно использовать и шестнадцатеричную запись чисел: C'0x00,0x80,0xFF'.
Помимо этого в MQL5 в виде служебных слов встроен длинный перечень предопределенных цветовых оттенков — все они начинаются с префикса clr. Например, clrMagenta, clrLightCyan, clrYellow. В нем, разумеется, есть и основные: clrRed, clrGreen, clrBlue. Полный перечень можно найти в Справке MetaEditor.
Вот несколько примеров задания цветов (доступны также в файле MQL5/Scripts/MQL5Book/p2/TypeColor.mq5):
void OnStart()
|