В роботах сигнал по полностью сформированному бару будет как раз на открытии, на первом тике следующего бара после сигнального. Это и логично, т.к. управление OnUpdate() получает по полностью сформированному предыдущему бару, на первом тике следующего, и переместится в прошлое для исполнения сигналов на анализируемом баре не может. В OnUpdate() этот предыдущий бар обозначается индексом [0] в Input1 (если входящий ряд имеет такое имя).
В стратегиях при тестировании можно указать исполнение сигнала:
Ближе к реальности "на открытии", с роботом будет более похоже.
Есть конечно ещё "экзотика", т.н. живой бар, когда сигналы идут внутри формирующегося бара и не дожидаясь его полной отрисовки. Но там есть свои нюансы.