Originally Posted By: Nektodron
Как появляются отрицательные значения - нужно разбираться. Возможно есть двойные сделки?


Я, кажется, понял, почему это происходит. У меня одновременно работает два разных скрипта. Но название позиции у них одинаковое - "Long". Поэтому второй скрипт ошибочно полагает, что позиции уже открыта по:
IPosition le = source.Positions.GetLastActiveForSignal("Long");
и закрывает ее.
Может так быть?

Originally Posted By: Nektodron
Что касается API, то в текущем через позиции - это сделать нельзя. Можно выставлять заявки вручную через ISecurityRt, но и рассчитывать позиции в этом случае придется тоже вручную.


Можете привести пример кода, как это сделать через ISecurityRt?