Который день бьюсь, всё что мог перепробовал, BarEntry = 0 (вывел это значение на график в отдельную панель чтобы можно было следить за его изменением) при открытой позиции.
В чём может быть причина, по смыслу всё логично?

В целом этот кусок скрипта оформил так:
Code:
var BarEntry = 0;
foreach (IOrder order in secRt.Orders)
for(int k = 0; order.Date < sec.Bars[k].Date; k++)
{
   BarEntry = k;
}