Arrows misalignment

 
У меня какая-то непонятная байда в индикаторе со стрелками. Несмотря на то, что я их вывожу одной процедурой, стрелки вверх (синие) по горизонтали выравнены нормально, а стрелки вниз смещены влево относительно центра свечи. Параметр Time[i] в обоих случаях одинаковый.
ObjectCreate(onam, OBJ_ARROW, 0, Time[i], aPrice)



Второй вопрос относительно метрики текста (ширина-высота) я уже задавал, но никто не ответил. Как ТОЧНО позиционировать OBJ_TEXT/OBJ_ARROW? Для этого нужно знать размеры текста данного шрифта и стиля на битмэпе. Как их получить? Как пересчитать пикселы в параметры дата-цена, используемые OBJ_TEXT. Муторно все получается когда нет прямого доступа к битмэпу-канвасу.

P.S.
Причину неодинаковго выравнивания стрелок я нашел - так (несимметрично) они нарисованы в шрифте, а вот как компенсировать эту кривизну пока не придумал. Ну не добавлять же "трошечки времени" к параметру TIME !?
Разве что взять другие стрелки, например с кодами 225, 226.