The solution I am able to provide within the time limit I allocate to free solutions in the Q&A Forum has limitations you need to understand before attempting to use this on your charts.
This solution makes use of a function named "HighestAll()". So you will need to set your chart to include only the current day's trading session. If you include data from other trading sessions on your chart this will not work:
def highestHigh = HighestAll(high);
def hodCandle = high == highestHigh;
AssignPriceColor(if hodCandle then Color.Current else Color.BLACK);
And... this solution assumes the background color of your chart is black.