Обьясните пожалуйста...у меня такая ситуация: нужно в PnL менеджер стратегии сообщить информация по имеющимся позам...то есть например я запускаю стратегию, и у меня имеется 50 контрактов в Long ...мне нужно что бы со стартом моя стратегия приняла эти позиции в PnL менеджер, и в будущем правильно расчитала реализованную прибыль или убыток...При старте стратегии, Pnl менеджер у меня пустой, но инфа о сделках при которых у меня была набранна данная поза у меня есть, я ее сохраняю,пытаюсь передать ее в Pnl менеджер через фабрику сущностей, создавая сделки по имеющейся информации и помещая их в Pnl менеджер, но все равно считает он потом не правильно...как сделать это правильно?подскажите пожалуйста...
Comentarios (3)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
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; }