2. посмотрите в MSDN документацию по linq. Там есть много функций для выборки и сортировок.
3. Если у вас общая позиция, то достаточно просто иметь текущее значение в лотах, чтоб понять, что позиция закрыта. Если же хотите вести одновременно несколько разных, то придется писать целую систему, как в TSLab с разбором комментариев.