Drop order entry removals on modify

kraken_fill_bugs
Tyler Goodlet 2022-09-12 15:42:27 -04:00
parent 0aef762d9a
commit b9d5b904f4
1 changed files with 5 additions and 15 deletions

View File

@ -98,8 +98,6 @@ class PaperBoi(Struct):
Place an order and return integer request id provided by client. Place an order and return integer request id provided by client.
''' '''
is_modify: bool = False
if action == 'alert': if action == 'alert':
# bypass all fill simulation # bypass all fill simulation
return reqid return reqid
@ -108,7 +106,6 @@ class PaperBoi(Struct):
if entry: if entry:
# order is already existing, this is a modify # order is already existing, this is a modify
(oid, symbol, action, old_price) = entry (oid, symbol, action, old_price) = entry
is_modify = True
else: else:
# register order internally # register order internally
self._reqids[reqid] = (oid, symbol, action, price) self._reqids[reqid] = (oid, symbol, action, price)
@ -152,25 +149,18 @@ class PaperBoi(Struct):
oid, oid,
) )
else:
# register this submissions as a paper live order # register this submissions as a paper live order
else:
# submit order to book simulation fill loop # set the simulated order in the respective table for lookup
# and trigger by the simulated clearing task normally
# running ``simulate_fills()``.
if action == 'buy': if action == 'buy':
orders = self._buys orders = self._buys
elif action == 'sell': elif action == 'sell':
orders = self._sells orders = self._sells
# set the simulated order in the respective table for lookup # {symbol -> bidict[oid, (<price data>)]}
# and trigger by the simulated clearing task normally
# running ``simulate_fills()``.
if is_modify:
# remove any existing order for the old price
orders[symbol].pop(oid)
# buys/sells: {symbol -> bidict[oid, (<price data>)]}
orders[symbol][oid] = (price, size, reqid, action) orders[symbol][oid] = (price, size, reqid, action)
return reqid return reqid