カラー定数
カラー定数は、オブジェクトなどの色を設定するときに使われます。
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("オブジェクトを削除しました。");
}このプログラムでは、ラベルオブジェクトを作成し、clrRed、clrBlue、clrGoldと順番にカラー定数で色を変更しています。最後にRGB指定でマゼンタを設定し、カラー定数以外の方法でも色を指定できることを確認しています。




