A modification of Days of the week – now every day of the week is marked with a separate color:
The DRAW_COLOR_HISTOGRAM style requires two buffers (a buffer of values HistogramBuffer and a color buffer HistogramColors):
//+------------------------------------------------------------------+ //| Days of the week color.mq5 | //| Copyright © 2018, Vladimir Karputov | //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2018, Vladimir Karputov" #property link "" #property version "1.000" #property indicator_separate_window #property description "Days of the week in the form of a color histogram" #property indicator_separate_window #property indicator_buffers 2 #property indicator_plots 1 //--- plot Histogram #property indicator_label1 "Day colors" #property indicator_type1 DRAW_COLOR_HISTOGRAM //--- define 8 colors for coloring sections #property indicator_color1 clrCyan,clrRed,clrYellowGreen,clrBlue,clrYellow,clrNavy,clrGold,clrMediumSeaGreen #property indicator_style1 STYLE_SOLID #property indicator_width1 2 //--- indicator buffers double HistogramBuffer[]; double HistogramColors[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+
Colors are set in the line
//--- define 8 colors for coloring sections #property indicator_color1 clrCyan,clrRed,clrYellowGreen,clrBlue,clrYellow,clrNavy,clrGold,clrMediumSeaGreen
Here, color clrCyan has index “0”, clrRed has index “1”, and so on.
Management of histogram colors is implemented by assigning an individual color index to each index of the HistogramColors buffer:
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; }