Обьясните пожалуйста...у меня такая ситуация: нужно в PnL менеджер стратегии сообщить информация по имеющимся позам...то есть например я запускаю стратегию, и у меня имеется 50 контрактов в Long ...мне нужно что бы со стартом моя стратегия приняла эти позиции в PnL менеджер, и в будущем правильно расчитала реализованную прибыль или убыток...При старте стратегии, Pnl менеджер у меня пустой, но инфа о сделках при которых у меня была набранна данная поза у меня есть, я ее сохраняю,пытаюсь передать ее в Pnl менеджер через фабрику сущностей, создавая сделки по имеющейся информации и помещая их в Pnl менеджер, но все равно считает он потом не правильно...как сделать это правильно?подскажите пожалуйста...
Kommentare (3)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
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; }