In a spread chart, the real-time bars are built on tick data, whereas historical bars are built based on minute data. The reason for this difference is that the tick data of price movements within a bar is not included in historical bars. This is the peculiarity of the way spread charts are computed. The sequence of price movements intra-bar plays a crucial part in building spread bars in real-time. An alert server processes data received in real-time, whereas your chart server can partially compute historical data as well. As a result, the bars built on both servers can mismatch. Thus, when opening a chart, you may see a range of bars that are different from that used by an alert. An alert will then fire and you may perceive it as incorrect.
At the moment, there is no solution to this behavior, therefore, we strongly advise not to set alerts on spread charts.