Open data feed in ems main entrypoint
parent
14c5fc24ec
commit
7cc395b5bf
|
@ -181,6 +181,7 @@ async def maybe_open_emsd(
|
|||
|
||||
async with tractor.find_actor('pikerd') as portal:
|
||||
assert portal
|
||||
|
||||
name = await portal.run(
|
||||
spawn_emsd,
|
||||
brokername=brokername,
|
||||
|
|
|
@ -40,7 +40,11 @@ log = get_logger(__name__)
|
|||
|
||||
|
||||
# TODO: numba all of this
|
||||
def mk_check(trigger_price, known_last) -> Callable[[float, float], bool]:
|
||||
def mk_check(
|
||||
trigger_price: float,
|
||||
known_last: float,
|
||||
action: str,
|
||||
) -> Callable[[float, float], bool]:
|
||||
"""Create a predicate for given ``exec_price`` based on last known
|
||||
price, ``known_last``.
|
||||
|
||||
|
@ -230,6 +234,7 @@ async def execute_triggers(
|
|||
|
||||
async def exec_loop(
|
||||
ctx: tractor.Context,
|
||||
feed: 'Feed', # noqa
|
||||
broker: str,
|
||||
symbol: str,
|
||||
_exec_mode: str,
|
||||
|
@ -239,11 +244,6 @@ async def exec_loop(
|
|||
to brokers.
|
||||
|
||||
"""
|
||||
async with data.open_feed(
|
||||
broker,
|
||||
[symbol],
|
||||
loglevel='info',
|
||||
) as feed:
|
||||
|
||||
# TODO: get initial price quote from target broker
|
||||
first_quote = await feed.receive()
|
||||
|
@ -556,7 +556,7 @@ async def process_order_cmds(
|
|||
# price received from the feed, instead of being
|
||||
# like every other shitty tina platform that makes
|
||||
# the user choose the predicate operator.
|
||||
pred = mk_check(trigger_price, last)
|
||||
pred = mk_check(trigger_price, last, action)
|
||||
|
||||
tick_slap: float = 5
|
||||
min_tick = feed.symbols[sym].tick_size
|
||||
|
@ -646,11 +646,17 @@ async def _emsd_main(
|
|||
async with trio.open_nursery() as n:
|
||||
|
||||
# TODO: eventually support N-brokers
|
||||
async with data.open_feed(
|
||||
broker,
|
||||
[symbol],
|
||||
loglevel='info',
|
||||
) as feed:
|
||||
|
||||
# start the condition scan loop
|
||||
quote, feed, client = await n.start(
|
||||
exec_loop,
|
||||
ctx,
|
||||
feed,
|
||||
broker,
|
||||
symbol,
|
||||
_mode,
|
||||
|
|
Loading…
Reference in New Issue