Ten typ służy do przechowywania informacji o kolorze i zajmuje w pamięci 4 bajty (32 bity). Zmienne tego typu mogą być opisane na 3 sposoby.
Mieszanie koloru czerwonego (Red), zielonego (Green) i niebieskiego (Blue), tzw. system RGB. Kolor uzyskuje się podając intensywność każdego z tych trzech podstawowych kolorów w zakresie od 0 do 255.
Rys. 1. Tworzenie kolorów w RGB.
W MQL4 w celu określenia koloru tym sposobem najpierw należy zapisać symbol C, a następnie w apostrofach trzy liczby rozdzielone przecinkami, odpowiednio dla R, dla G i dla B. Na przykład:
color c1 = C'238,130,238'; // fioletowy
Możliwe jest tylko dla kolorów, które mają swoje nazwy w zestawie Web-kolorów.
Tabela 1. Identyfikacja kolorów po nazwie.
clrBlack |
clrDarkGreen |
clrDarkSlateGray |
clrOlive |
clrGreen |
clrTeal |
clrNavy |
clrPurple |
clrMaroon |
clrIndigo |
clrMidnightBlue |
clrDarkBlue |
clrDarkOliveGreen |
clrSaddleBrown |
clrForestGreen |
clrOliveDrab |
clrSeaGreen |
clrDarkGoldenrod |
clrDarkSlateBlue |
clrSienna |
clrMediumBlue |
clrBrown |
clrDarkTurquoise |
clrDimGray |
clrLightSeaGreen |
clrDarkViolet |
clrFireBrick |
clrMediumVioletRed |
clrMediumSeaGreen |
clrChocolate |
clrCrimson |
clrSteelBlue |
clrGoldenrod |
clrMediumSpringGreen |
clrLawnGreen |
clrCadetBlue |
clrDarkOrchid |
clrYellowGreen |
clrLimeGreen |
clrOrangeRed |
clrDarkOrange |
clrOrange |
clrGold |
clrYellow |
clrChartreuse |
clrLime |
clrSpringGreen |
clrAqua |
clrDeepSkyBlue |
clrBlue |
clrMagenta |
clrRed |
clrGray |
clrSlateGray |
clrPeru |
clrBlueViolet |
clrLightSlateGray |
clrDeepPink |
clrMediumTurquoise |
clrDodgerBlue |
clrTurquoise |
clrRoyalBlue |
clrSlateBlue |
clrDarkKhaki |
clrIndianRed |
clrMediumOrchid |
clrGreenYellow |
clrMediumAquamarine |
clrDarkSeaGreen |
clrTomato |
clrRosyBrown |
clrOrchid |
clrMediumPurple |
clrPaleVioletRed |
clrCoral |
clrCornflowerBlue |
clrDarkGray |
clrSandyBrown |
clrMediumSlateBlue |
clrTan |
clrDarkSalmon |
clrBurlyWood |
clrHotPink |
clrSalmon |
clrViolet |
clrLightCoral |
clrSkyBlue |
clrLightSalmon |
clrPlum |
clrKhaki |
clrLightGreen |
clrAquamarine |
clrSilver |
clrLightSkyBlue |
clrLightSteelBlue |
clrLightBlue |
clrPaleGreen |
clrThistle |
clrPowderBlue |
clrPaleGoldenrod |
clrPaleTurquoise |
clrLightGray |
clrWheat |
clrNavajoWhite |
clrMoccasin |
clrLightPink |
clrGainsboro |
clrPeachPuff |
clrPink |
clrBisque |
clrLightGoldenrod |
clrBlanchedAlmond |
clrLemonChiffon |
clrBeige |
clrAntiqueWhite |
clrPapayaWhip |
clrCornsilk |
clrLightYellow |
clrLightCyan |
clrLinen |
clrLavender |
clrMistyRose |
clrOldLace |
clrWhiteSmoke |
clrSeashell |
clrIvory |
clrHoneydew |
clrAliceBlue |
clrLavenderBlush |
clrMintCream |
clrSnow |
clrWhite |
|
|
|
|
Na przykład:
color c2 = clrViolet; // fioletowy
Prezentacja w postaci liczby szesnastkowej lub dziesiętnej. Liczba szesnastkowa, mówiąc inaczej system heksadecymalny (ang. hexadecimal) zapisu koloru, w MQL4 ma wygląd 0xBBGGRR, gdzie BB to intensywność koloru niebieskiego, GG - zielonego, RR - czerwonego. Na przykład:
color c3 = 0xee82ee; // fioletowy
color c4 = 0xEE82EE; // fioletowy
Istnieje też możliwość zapisu koloru stosując system heksadecymalny w sposób podobny do zapisu opisanego przy RGB. Tu też na początku należy zapisać symbol C, a następnie w pojedynczych cudzysłowach intensywność trzech kolorów rozdzielone przecinkami, zgodnie ze schematem C'0xRR,0xGG,0xBB'. W tym przypadku kolejność kolorów jest identyczna jak w HTML.
color c5 = C'0xee,0x82,0xee'; // fioletowy
color c6 = C'0xEE,0x82,0xEE'; // fioletowy
W przypadku liczb dziesiętnych, tzw. systemu decymalnego (ang. decimal), należy zapisać liczbę, której odpowiada kolor. Tu nie ma bezpośredniego przełożenia na RGB. Na przykład, fioletowy to 15631086.
color c7 = 15631086; // fioletowy
Jeśli interesuje cię jak można określić kolor za pomocą tych i innych systemów, polecam stronę colorhexa.com, gdzie podając identyfikator koloru w jednym systemie, zobaczysz jego identyfikatory w innych.
Rys. 2. Identyfikacja kolorów.
Zobaczmy jeszcze kilka przykładów identyfikacji kolorów w MQL4.
Tabela 2. Przykłady identyfikacji kolorów.
Identyfikator koloru w MQL4 | Kolor | ||||
RGB | Nazwa | System heksadecymalny | System heksadecymalny | System decymalny | |
C'238,130,238' | clrViolet | 0xEE82EE | C'0xEE,0x82,0xEE' | 15631086 | fioletowy |
C'255,0,0' | clrRed | 0x0000FF | C'0xFF,0x00,0x00' | 255 | czerwony |
C'0,255,0' | clrLime | 0x00FF00 | C'0x00,0xFF,0x00' | 65280 | zielony |
C'0,0,255' | clrBlue | 0xFF0000 | C'0x00,0x00,0xFF' | 16711680 | niebieski |
C'108,130,160' | 0xA0826C | C'0x6C,0x82,0xA0' | 10519148 |
W mojej opinii najbardziej przyjazny sposób definicji koloru to RGB i nazwa Web-koloru. Typ color stosuje się w graficznych objektach, np. wskaźnikach lub własnych programach, które tworzą obiekty na wykresie notowań.