Провильный путь я ощущаю. Ошибка возникает (как я понимаю)когда, допустим, цена поднимается выше половины диапазона Math.Truncate воспринимает значение приближенное к след уровню (коряво объяснил, поэтому преждевременные передвижения уровней.