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