Use step size to determine last datum bar gap

epoch_indexing_and_dataviz_layer
Tyler Goodlet 2022-12-02 21:04:44 -05:00
parent a33f58a61a
commit 58b36db2e5
1 changed files with 8 additions and 5 deletions

View File

@ -51,7 +51,7 @@ log = get_logger(__name__)
def bar_from_ohlc_row( def bar_from_ohlc_row(
row: np.ndarray, row: np.ndarray,
# 0.5 is no overlap between arms, 1.0 is full overlap # 0.5 is no overlap between arms, 1.0 is full overlap
w: float = 0.43 bar_gap: float = 0.43
) -> tuple[QLineF]: ) -> tuple[QLineF]:
''' '''
@ -59,8 +59,7 @@ def bar_from_ohlc_row(
OHLC "bar" for use in the "last datum" of a series. OHLC "bar" for use in the "last datum" of a series.
''' '''
open, high, low, close, index = row #[fields] open, high, low, close, index = row
# ['open', 'high', 'low', 'close', 'index']]
# TODO: maybe consider using `QGraphicsLineItem` ?? # TODO: maybe consider using `QGraphicsLineItem` ??
# gives us a ``.boundingRect()`` on the objects which may make # gives us a ``.boundingRect()`` on the objects which may make
@ -81,10 +80,10 @@ def bar_from_ohlc_row(
# the index's range according to the view mapping coordinates. # the index's range according to the view mapping coordinates.
# open line # open line
o = QLineF(index - w, open, index, open) o = QLineF(index - bar_gap, open, index, open)
# close line # close line
c = QLineF(index, close, index + w, close) c = QLineF(index, close, index + bar_gap, close)
return [hl, o, c] return [hl, o, c]
@ -239,9 +238,13 @@ class BarItems(pg.GraphicsObject):
# if times[-1] - times[-2]: # if times[-1] - times[-2]:
# breakpoint() # breakpoint()
index = src_data[index_field]
step_size = index[-1] - index[-2]
# generate new lines objects for updatable "current bar" # generate new lines objects for updatable "current bar"
self._last_bar_lines = bar_from_ohlc_row( self._last_bar_lines = bar_from_ohlc_row(
last_row, last_row,
bar_gap=step_size * 0.43
# fields, # fields,
) )