39 lines
1.0 KiB
Python
39 lines
1.0 KiB
Python
"""Interactive demo for the Visualizer; run manually, not as a test."""
|
|
|
|
import random
|
|
from datetime import datetime
|
|
|
|
from visualizer import Visualizer
|
|
from storage import Book, BookSnapshot, OrderbookLevel
|
|
|
|
|
|
def demo_visualizer_creates_single_bar_on_flush() -> None:
|
|
vis = Visualizer(window_seconds=60, max_bars=10)
|
|
|
|
book = Book()
|
|
ts = datetime.now().timestamp()
|
|
|
|
snapshot = BookSnapshot(timestamp=int(ts))
|
|
for r in range(100):
|
|
snapshot.bids[100000 + random.random() * 100] = OrderbookLevel(
|
|
price=100000 + random.random() * 100,
|
|
size=1.0,
|
|
liquidation_count=0,
|
|
order_count=1,
|
|
)
|
|
snapshot.asks[100000 + random.random() * 100] = OrderbookLevel(
|
|
price=100000 + random.random() * 100,
|
|
size=1.0,
|
|
liquidation_count=0,
|
|
order_count=1,
|
|
)
|
|
|
|
book.add_snapshot(snapshot)
|
|
|
|
vis.update_from_book(book)
|
|
vis.flush()
|
|
vis.show()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
demo_visualizer_creates_single_bar_on_flush() |