Zorro is inconsistent in how it treats "times": with EndMarket=1700 (and BR_MARKET) the last bar of the day will have a timestamp of 1700 - as expected and which is THE convention for most "closing times" out there.

BUT with EndWeek=51700, - behind the unsuspecting user's back - the last bar on Friday will have a timestamp of 1600 - which is the behavior above with WS/XAU. I can bet most users are not aware of this "nuance".


Ideally, "what you set is what you get", i.e. setting AssetMarketEnd=1658, would indeed only use prices until that moment AND prevent trades opening past that time.

The situation is common and real. There has to be an in-built mechanism of how to deal with it. This can most efficiently be done at the "engine" level; switching to tick processing on the user side isn't.

I tried but could not think of a case where sticking to what's specified by AssetMarketEnd would "cause incorrect candles behind user's back" (pls give an example).

So, please consider.