Thank you. Yes I read that, but I did not see or understand the answer here.
I guess in this way (BarPeriod = 15, TimeFrame = 4) Zorro is always making the last H1 candle by the last 4 pieces of M15 candles, wihout considering the way of making the higher bars as it would normally do. (Normally: I mean like BarPariod = 60 and TimeFrame = 1.) But instead it's making the H1 bar by counting 4 pieces of M15 from the very last one, independently from time.
So if I want to force the hour-turning point, I need to check manually the full-hour, like this:
TimeFrame = 4;
if (frame(0)){
...now its really a new bar data...
} else {
...nothing to do, it's garbage...
}
Anyways, I see a simple solution by using series instead of the price itself.
The result of this looks fine:
BarPeriod = 15;
TimeFrame = 1;
vars PriceM15 = series(priceClose(0));
TimeFrame = 4;
vars PriceH1 = series(priceClose(0));
printf("== %s:\n\n", strdate("%Y-%m-%d %H:%M"));
printf("%.5f - %.5f", PriceM15[0], PriceH1[0]);