Only update y-range from L1 mxmn when last index in view

We still have to always keep track of the last max and min
though.
m4_corrections
Tyler Goodlet 2022-04-12 11:40:48 -04:00
parent eab9127170
commit 885116ae46
1 changed files with 19 additions and 7 deletions

View File

@ -382,6 +382,7 @@ def graphics_update_cycle(
i_diff > 0 # no new sample step
and xpx < 4 # chart is zoomed out very far
and r >= i_step # the last datum isn't in view
and liv
)
or trigger_all
):
@ -399,7 +400,7 @@ def graphics_update_cycle(
if (
(xpx < update_uppx or i_diff > 0)
or trigger_all
and r >= i_step
and liv
):
# TODO: make it so this doesn't have to be called
# once the $vlm is up?
@ -549,7 +550,10 @@ def graphics_update_cycle(
l1.bid_label.fields['level']: l1.bid_label,
}.get(price)
if label is not None:
if (
label is not None
# and liv
):
label.update_fields(
{'level': price, 'size': size}
)
@ -558,19 +562,27 @@ def graphics_update_cycle(
# the relevant L1 queue?
# label.size -= size
# elif ticktype in ('ask', 'asize'):
elif typ in _tick_groups['asks']:
elif (
typ in _tick_groups['asks']
# TODO: instead we could check if the price is in the
# y-view-range?
# and liv
):
l1.ask_label.update_fields({'level': price, 'size': size})
# elif ticktype in ('bid', 'bsize'):
elif typ in _tick_groups['bids']:
elif (
typ in _tick_groups['bids']
# TODO: instead we could check if the price is in the
# y-view-range?
# and liv
):
l1.bid_label.update_fields({'level': price, 'size': size})
# check for y-range re-size
if (
(mx > vars['last_mx']) or (mn < vars['last_mn'])
and not chart._static_yrange == 'axis'
and r > i_step # the last datum is in view
and liv
):
main_vb = chart.view
if (