Ошибка Strategy.PositionChanged
Atom
01.03.2017
RomSunZ


В новой версии Strategy.PositionChanged вызывается постоянно при изменении ордера, даже если по нему не было сделок. Одна из причина - в случае ByOrders PositionManager.ProcessMessage возвращается decimal, которое потом сравнивается с null, что всегда не верно. Плюс странная конструкция там же [code]isNew = _positions.TryGetValue(key, out prev). [/code], что вроде означает, если позиция существует, то она новая, если ее нет, то она старая, что не есть правильно, плюс конструкция [code] if (isNew) NewPosition?.Invoke(key, Position); else PositionChanged?.Invoke(key, Position);

return position; [/code] таким образом вызывая сообщение или новая позиция или измененная при любом телодвижении заявки, даже если она частично не исполнена. Возможно есть еще где-то что-то, дальше пока не смотрел.




Спасибо:




Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy