Доброго времени!
Уважаемые форумчане, поясните мне, пожалуйста пару моментов:
1) Согласно документации периодически (по окончании бара, по тику, или еще по-разному) вызывается пересчёт. В этом пересчёте дёргается Execute() задействованных скриптов. Казалось-бы логично, но почему абсолютно во всех примерах кода я вижу, что в этих Execute-ах расположен цикл вида "for (int i = 0; (i < barsCount); i++)" ? На каждом тике (или баре и тд) выполняется обход всей имеющейся в распоряжении истории? Я бы понял, будь то однократный вызов Execute на обход файла истории - прочёсываем историю, анализируем, расставляем покупки/продажи. Но ведь этот же скрипт идёт и в бой? И там, в бою, он будет постоянно обходить все имеющиеся в памяти бары?
2) В продолжение предыдущего вопроса, в том же цикле, встречается строка вида "source.Positions.BuyIfGreater(i + 1, 1, high[i], "LE");"
Как это воспринимать? Мы пытаемся создать отложенную заявку... на i+1-ом баре? Но он ведь уже история? Из всех баров [0..barsCount-1] только один бар существует сейчас, остальные - история. Мы пытаемся создать отложенный ордер в истории? Постфактум?

3) Как подать отложенный ордер Сейчас? Не на каком-то i-ом баре, жизнь которого, может быть, три дня как закончилась,
а именно сейчас?

Спасибо.