1. Потому, что эта история меняется каждый новый пересчет. Создать скрипт без цикла возможно, но это будет очень специфическая вещь без работы с историческими данными.
2. i+1 это текущий бар, т.е. тот которые еще не закрыт.
3. Точно так же как написано. i+1 Все будет работать. Заявка на истории не выставиться. При первом запуске может возникнуть виртуальная позиция.