Journal
Every closed trade writes itself.
The last block of the chain, fully operational. It reads the trades that closed on the terminals, writes each one down and rewrites the dashboard. Nobody logs a single line by hand.
# one pass per closed minute while True: strategies = load_map() # where to read closed = read_closed_trades() if closed: write_local(closed) # on disk mirror_to_sheet(closed) # dashboard sleep_to_next_minute()
The pass, end to end
Four steps, in order, on every pass. The map says which terminal to read, the closed trades are pulled, the journal is written on disk, then the sheet and its dashboard are mirrored.
Map & strategieswhich terminal, which sheet
Read closeddeals shut since the last row
Write localthe journal on disk
Sheetrow appended, dashboard redrawn
It writes on a closed trade. On nothing else.
A pass with nothing new does no work: no row, no API call, no noise.
The journal, block by block
One rhythm: one pass per closed minute. The same steps, every time.
Journal Engine
→
Read Closed Trades
→
Local Journal Writer
→
Google Sheet