I was wondering why price() does not return precisely the same result when using different timeframes?

For example:

BarPeriod = 10;
TimeFrame = 6;
if(!minute())printf("\n%s %.7f",strdate("%d.%m %H:%M",0), price());

does sometimes, but not always, print out slightly different prices than on BarPeriod 60 TimeFrame 1.