Capture `cons` in `Client.get_fute()`
That is to be able to (eventually) introspect "ambiguous" contract sets once we move to `ib_async` and its `returnAll: bool` now offered by `IB.qualifyContractsAsync()`, https://github.com/ib-api-reloaded/ib_async/blob/main/ib_async/ib.py#L2115 Also, tweak some type type annots to multline style in sibling mods.ib_async
parent
ff502b62bf
commit
a15a4ec8cd
|
|
@ -689,13 +689,14 @@ class Client:
|
|||
ContFuture(symbol, exchange=exchange)
|
||||
))[0]
|
||||
else:
|
||||
con = (await self.ib.qualifyContractsAsync(
|
||||
cons = (await self.ib.qualifyContractsAsync(
|
||||
Future(
|
||||
symbol,
|
||||
exchange=exchange,
|
||||
lastTradeDateOrContractMonth=expiry,
|
||||
)
|
||||
))[0]
|
||||
))
|
||||
con = cons[0]
|
||||
|
||||
return con
|
||||
|
||||
|
|
@ -895,7 +896,6 @@ class Client:
|
|||
async def get_sym_details(
|
||||
self,
|
||||
fqme: str,
|
||||
|
||||
) -> tuple[
|
||||
Contract,
|
||||
ContractDetails,
|
||||
|
|
@ -1534,6 +1534,7 @@ async def open_aio_client_method_relay(
|
|||
|
||||
) -> None:
|
||||
|
||||
# with tractor.devx.maybe_open_crash_handler() as _bxerr:
|
||||
# sync with `open_client_proxy()` caller
|
||||
chan.started_nowait(client)
|
||||
|
||||
|
|
@ -1543,7 +1544,11 @@ async def open_aio_client_method_relay(
|
|||
# relay all method requests to ``asyncio``-side client and deliver
|
||||
# back results
|
||||
while not chan._to_trio._closed: # <- TODO, better check like `._web_bs`?
|
||||
msg: tuple[str, dict]|dict|None = await chan.get()
|
||||
msg: (
|
||||
None
|
||||
|tuple[str, dict]
|
||||
|dict
|
||||
) = await chan.get()
|
||||
match msg:
|
||||
case None: # termination sentinel
|
||||
log.info('asyncio `Client` method-proxy SHUTDOWN!')
|
||||
|
|
|
|||
|
|
@ -522,7 +522,11 @@ async def get_mkt_info(
|
|||
if atype == 'commodity':
|
||||
venue: str = 'cmdty'
|
||||
else:
|
||||
venue = con.primaryExchange or con.exchange
|
||||
venue: str = (
|
||||
con.primaryExchange
|
||||
or
|
||||
con.exchange
|
||||
)
|
||||
|
||||
price_tick: Decimal = Decimal(str(details.minTick))
|
||||
ib_min_tick_gt_2: Decimal = Decimal('0.01')
|
||||
|
|
|
|||
Loading…
Reference in New Issue