【MQL4定数】カラー定数(clrXXX)

【辞書】MQLリファレンス

カラー定数

カラー定数は、オブジェクトなどの色を設定するときに使われます。

16進数カラーコード(例:#e6e6fa)でも色を決めることはできますが、clrXXXという感じで、カラー定数が用意されております。

色を設定できる全てのものに対して、カラー定数を利用することができます。

そのため、好きな色はカラー定数を覚えておくと良いでしょう。

 

カラー定数(clrXXX)

 

カラー定数の使い方

カラー定数は非常に多くの場面で使われます。

自動売買・インジケータ問わず使える定数です。

例えば、以下のような場面で使用します。

  //インジケータの設定値
  //マゼンタを設定
   #property indicator_color1 clrMagenta


  //オブジェクトの色を設定する
  //マゼンタを設定
  ObjectSetInteger(ChartID(), "自動売買を作ろう!", OBJPROP_COLOR, clrMagenta);

 

プログラム例

カラー定数を使って、チャート上にラベルオブジェクトを作成し、色を変更する簡単なサンプルプログラムです。

//+------------------------------------------------------------------+
//| カラー定数サンプルプログラム                                      |
//+------------------------------------------------------------------+
#property strict

void OnStart()
{
   string objName = "ColorSample_Label";

   //--- ラベルオブジェクトを作成
   ObjectCreate(0, objName, OBJ_LABEL, 0, 0, 0);
   ObjectSetInteger(0, objName, OBJPROP_XDISTANCE, 50);
   ObjectSetInteger(0, objName, OBJPROP_YDISTANCE, 50);
   ObjectSetString(0, objName, OBJPROP_TEXT, "カラー定数テスト");
   ObjectSetInteger(0, objName, OBJPROP_FONTSIZE, 16);

   //--- カラー定数で色を設定(赤色)
   ObjectSetInteger(0, objName, OBJPROP_COLOR, clrRed);
   Print("clrRed を設定しました。値: ", clrRed);

   Sleep(2000);

   //--- カラー定数で色を変更(青色)
   ObjectSetInteger(0, objName, OBJPROP_COLOR, clrBlue);
   Print("clrBlue を設定しました。値: ", clrBlue);

   Sleep(2000);

   //--- カラー定数で色を変更(ゴールド)
   ObjectSetInteger(0, objName, OBJPROP_COLOR, clrGold);
   Print("clrGold を設定しました。値: ", clrGold);

   Sleep(2000);

   //--- 16進数カラーコードでも同様に設定可能
   //--- clrMagenta と同じ色を16進数で指定
   ObjectSetInteger(0, objName, OBJPROP_COLOR, C'255,0,255');
   Print("マゼンタ(RGB指定)を設定しました。");

   Sleep(2000);

   //--- オブジェクトを削除
   ObjectDelete(0, objName);
   Print("オブジェクトを削除しました。");
}

このプログラムでは、ラベルオブジェクトを作成し、clrRedclrBlueclrGoldと順番にカラー定数で色を変更しています。最後にRGB指定でマゼンタを設定し、カラー定数以外の方法でも色を指定できることを確認しています。