Вот мои представления об этом. Есть два разных подхода к разрабокте МТС. Т.е. Два разных этапа. Первый это создание и тестирование стратегии. Второй это уже реальная торговля.
На первом этапе у нас есть массив баров, а мы заполняем массив "открытия и закрытия позиций", о чем и говорит след кусок кода из примеров, на этом сайте. int barsCount = source.Bars.Count;
for (int bar = 0; (bar < barsCount); bar++)
{
// выполнение сигналов для длинной позиции
IPosition LongPos = source.Positions.GetLastActiveForSignal("LN");
if (LongPos == null)
{
// Если нет активной длинной позиции,
// выдаем условный ордер на открыте новой длинной позиции.
source.Positions.BuyIfGreater(bar + 1, 1, high1[bar], "LN");
А второй этап это уже реальная торговля. На этом этапе мне нужны только текущие сигналы, а что там было в прошлом - вообше не волнует