MetaTrader 5 用の曜日ごとのインジケーターが進化しました!今では、曜日ごとに異なる色でマーキングされています。これにより、トレードの視覚的な理解がより深まります。



DRAW_COLOR_HISTOGRAM スタイルでは、2つのバッファが必要です(値のバッファ HistogramBuffer と色のバッファ HistogramColors)。
//+------------------------------------------------------------------+ //| 曜日色分け.mq5 | //| Copyright © 2018, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2018, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.000" #property indicator_separate_window #property description "曜日を色分けしたヒストグラム形式のインジケーター" #property indicator_separate_window #property indicator_buffers 2 #property indicator_plots 1 //--- ヒストグラムをプロット #property indicator_label1 "曜日の色" #property indicator_type1 DRAW_COLOR_HISTOGRAM //--- セクションの色を定義 #property indicator_color1 clrCyan,clrRed,clrYellowGreen,clrBlue,clrYellow,clrNavy,clrGold,clrMediumSeaGreen #property indicator_style1 STYLE_SOLID #property indicator_width1 2 //--- インジケーターバッファ double HistogramBuffer[]; double HistogramColors[]; //+------------------------------------------------------------------+ //| カスタムインジケーター初期化関数 | //+------------------------------------------------------------------+
色は以下の行で設定されています。
//--- セクションの色を定義 #property indicator_color1 clrCyan,clrRed,clrYellowGreen,clrBlue,clrYellow,clrNavy,clrGold,clrMediumSeaGreen
ここで、clrCyan はインデックス「0」、clrRed はインデックス「1」となっています。
ヒストグラムの色管理は、個別の 色インデックス を HistogramColors バッファの各インデックスに割り当てることによって実装されています:
switch(STime.day_of_week) { case 0: HistogramBuffer[i]=0; HistogramColors[i]=0; break; case 1: HistogramBuffer[i]=1; HistogramColors[i]=1; break; case 2: HistogramBuffer[i]=2; HistogramColors[i]=2; break; case 3: HistogramBuffer[i]=3; HistogramColors[i]=3; break; case 4: HistogramBuffer[i]=4; HistogramColors[i]=4; break; case 5: HistogramBuffer[i]=5; HistogramColors[i]=5; break; case 6: HistogramBuffer[i]=6; HistogramColors[i]=6; break; case 7: HistogramBuffer[i]=7; HistogramColors[i]=7; break; }