← Zurück

Ошибка Strategy.PositionChanged

В новой версии Strategy.PositionChanged вызывается постоянно при изменении ордера, даже если по нему не было сделок. Одна из причина - в случае ByOrders PositionManager.ProcessMessage возвращается decimal, которое потом сравнивается с null, что всегда не верно. Плюс странная конструкция там же

isNew = _positions.TryGetValue(key, out prev). 
```, что вроде означает, если позиция существует, то она новая, если ее нет, то она старая, что не есть правильно, плюс конструкция

if (isNew) NewPosition?.Invoke(key, Position); else PositionChanged?.Invoke(key, Position);

return position;

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (0)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Noch keine Kommentare. Seien Sie der Erste!