python-api icon indicating copy to clipboard operation
python-api copied to clipboard

Bug - on_replace_order

Open florent1080 opened this issue 8 months ago • 0 comments

There's a bug in the on_replace_order function.

When a change is made to the same price, the size of the price is added instead of being updated.

Because the dict side_dicts is not update between thoses 2 lines

old_price_level_size = side_dicts[old_price] - old_size
new_price_level_size = (side_dicts[new_price] if new_price in side_dicts else 0) + new_size

Fix :

    old_price_level_size = side_dicts[old_price] - old_size
    new_price_level_size = (side_dicts[new_price] if new_price in side_dicts else 0) + new_size
    on_depth(mbp_book, is_order_bid, old_price, old_price_level_size)
    on_depth(mbp_book, is_order_bid, new_price, new_price_level_size)

to

    old_price_level_size = side_dicts[old_price] - old_size
    on_depth(mbp_book, is_order_bid, old_price, old_price_level_size)
    new_price_level_size = (side_dicts[new_price] if new_price in side_dicts else 0) + new_size
    on_depth(mbp_book, is_order_bid, new_price, new_price_level_size)

florent1080 avatar May 27 '25 07:05 florent1080