Ради того что бы не плодить темы и вроде как немного пересекаются вопросы:
Почему не набираются позиции в таком коде? Один раз выполняется каждый из ордеров и все.
Code:
namespace TSLab.ClassLibrary1
{
    public class Class1 : IExternalScript
    {
        public virtual void Execute(IContext ctx, ISecurity source)
        {
            int barsCount = source.Bars.Count;
            for (int i = 2; (i < barsCount); i++)
            {
                source.Positions.SellIfLess(i + 1, 10, source.LowPrices[i - 1], "Sell");
                source.Positions.BuyIfGreater(i + 1, 10, source.HighPrices[i - 1], "Buy");
            }
        }
    }
}


Код такой т.к. только еще изучаю функционал