В данной ветке
http://www.smartquant.com/forums/viewtopic.php?f=60&t=6635&hilit=OnOrderRejected+Position отыскал такой код:
Code:
BrokerAccountList Accounts = DataManager.GetBrokerInfo("IB").Accounts;
foreach (BrokerAccount A in Accounts)
if(A.Name==Account)
{
Console.WriteLine(A.Name + " BuyingPower=" + A.BuyingPower);
foreach(BrokerPosition P in A.Positions)
{
Console.WriteLine(A.Name + "\tSymbol= " + P.Symbol + "\tLongQty=" + P.LongQty +
"\tShortQty=" + P.ShortQty);
if(P.LongQty>0) {
Portfolio.Add(Clock.Now,TransactionSide.Buy,P.LongQty,Instruments[P.Symbol],0);
}
if(P.ShortQty>0) {
Portfolio.Add(Clock.Now,TransactionSide.Sell,P.ShortQty,Instruments[P.Symbol],0);
}
}
}
Полагаю он делает ровно то что мне нужно.
И ключевые строки которые синхронизируют Strategy.Position c тем что реально обранужено на моем счете
Portfolio.Add(Clock.Now,TransactionSide.Buy,P.LongQty,Instruments[P.Symbol],0)
Portfolio.Add(Clock.Now,TransactionSide.Sell,P.ShortQty,Instruments[P.Symbol],0)
Я прав ?
Единственное совершенно не понятно что за свойство BuyingPower ?