//--- 色を使うためのマクロ #define XRGB(r,g,b) (0xFF000000|(uchar(r)<<16)|(uchar(g)<<8)|uchar(b)) #define GETRGB(clr) ((clr)&0xFFFFFF) //+------------------------------------------------------------------+ //| スクリプトプログラムを開始する関数 | //+------------------------------------------------------------------+ void OnStart() { //--- 下降ローソク足の色を設定する Comment("Set a downward candle color"); ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,GetRandomColor()); ChartRedraw(); // 新しいティックを待たずにチャートをすぐに更新する Sleep(1000); // すべての変更を表示するために1秒間一時停止する //--- 上昇ローソク足の色を設定する Comment("Set an upward candle color"); ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- 背景色を設定する Comment("Set the background color"); ChartSetInteger(0,CHART_COLOR_BACKGROUND,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- 買値線の色を設定する Comment("Set color of Ask line"); ChartSetInteger(0,CHART_COLOR_ASK,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- 売値線の色を設定する Comment("Set color of Bid line"); ChartSetInteger(0,CHART_COLOR_BID,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- 下向きバーと下向きローソク足フレームの色を設定する Comment("Set color of a downward bar and a downward candle frame"); ChartSetInteger(0,CHART_COLOR_CHART_DOWN,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- チャートの線と同時ローソク足の色を設定する Comment("Set color of a chart line and Doji candlesticks"); ChartSetInteger(0,CHART_COLOR_CHART_LINE,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- 上向きバーと上向きローソク足フレームの色を設定する Comment("Set color of an upward bar and an upward candle frame"); ChartSetInteger(0,CHART_COLOR_CHART_UP,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- 軸、スケール、OHLCラインの色を設定する Comment("Set color of axes, scale and OHLC line"); ChartSetInteger(0,CHART_COLOR_FOREGROUND,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- グリッドの色を設定する Comment("Set a grid color"); ChartSetInteger(0,CHART_COLOR_GRID,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- 直近値の色を設定する Comment("Set Last price color"); ChartSetInteger(0,CHART_COLOR_LAST,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- ストップロスおよびテイクプロフィット注文値の色を設定する Comment("Set color of Stop Loss and Take Profit order levels"); ChartSetInteger(0,CHART_COLOR_STOP_LEVEL,GetRandomColor()); ChartRedraw(); Sleep(1000); //--- ボリュームとマーケットエントリーレベルの色を設定する Comment("Set color of volumes and market entry levels"); ChartSetInteger(0,CHART_COLOR_VOLUME,GetRandomColor()); ChartRedraw(); } //+------------------------------------------------------------------+ //| ランダムに生成された色を返す | //+------------------------------------------------------------------+ color GetRandomColor() { color clr=(color)GETRGB(XRGB(rand()%255,rand()%255,rand()%255)); return clr; } |