Обьясните пожалуйста...у меня такая ситуация: нужно в PnL менеджер стратегии сообщить информация по имеющимся позам...то есть например я запускаю стратегию, и у меня имеется 50 контрактов в Long ...мне нужно что бы со стартом моя стратегия приняла эти позиции в PnL менеджер, и в будущем правильно расчитала реализованную прибыль или убыток...При старте стратегии, Pnl менеджер у меня пустой, но инфа о сделках при которых у меня была набранна данная поза у меня есть, я ее сохраняю,пытаюсь передать ее в Pnl менеджер через фабрику сущностей, создавая сделки по имеющейся информации и помещая их в Pnl менеджер, но все равно считает он потом не правильно...как сделать это правильно?подскажите пожалуйста...
コメント (3)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
PnL Manager отвечает за отображения суммарного дохода или убытка по вашим позициям. Вам нужен PositionManager. Скиньте пожалуйста ваш код по запуску и остановке стратегии, так будет проще вам помочь.
else if (_LinePos != null) { decimal minElem; decimal maxElem;
public void ChangeManBuyPnL(decimal vol, decimal price) {
var tr = new Trade(); var ord = new Order(); tr.Volume = vol; tr.Price = price; tr.Security = this.Security; ord.Portfolio = this.Portfolio; ord.Security = this.Security; ord.Direction = OrderDirections.Buy; ord.Volume = vol; ord.Price = price; var mytr = _mW._trader.EntityFactory.CreateMyTrade(ord, tr);
mytr.Trade.IsSystem = true; this.PnLManager.ProcessMyTrade(mytr);
}
_LinePos - лист с инфой по сделкам по которым была набрана позиция, там есть инфа по цене сделки на покупку и обьему который по этой цене прошел...
в PositionMenedger инфу по позициям сообщая так:
if (this.PositionManager.Position == 0) {
this.PositionManager.Positions = this.Trader.Positions.Where(p => p.Security == this.Security); flagSyncPnlMan = true; }