diff --git a/piker/brokers/ib/broker.py b/piker/brokers/ib/broker.py index 93a5b9b8..012975ac 100644 --- a/piker/brokers/ib/broker.py +++ b/piker/brokers/ib/broker.py @@ -533,8 +533,6 @@ async def trades_dialogue( ): trans = norm_trade_records(ledger) updated = table.update_from_trans(trans) - pp = updated[bsuid] - # update trades ledgers for all accounts from connected # api clients which report trades for **this session**. trades = await proxy.trades() @@ -562,6 +560,12 @@ async def trades_dialogue( table.update_from_trans(trans) updated = table.update_from_trans(trans) + # XXX: not sure exactly why it wouldn't be in + # the updated output (maybe this is a bug?) but + # if you create a pos from TWS and then load it + # from the api trades it seems we get a key + # error from ``update[bsuid]`` ? + pp = table.pps[bsuid] if msg.size != pp.size: log.error( 'Position mismatch {pp.symbol.front_fqsn()}:\n'