Prices for an Item will be defined at Customer account, Customer price group and All customers level. Where a price is defined for a customer account, it must be used - even if the customer price group price or All customer price is lower. Where a customer account price is not defined, the customer price group price must be used - even if the All customer price is lower. If no customer account price or customer price group price is defined, the All customer price will always be used.
When breaking to traverse price group value, we also should break to traverse All.