Symbol: schwab_bars_agent.py currently only collects 1-min bars for VOO β
a bot on another symbol will save, but won't fire until that symbol's bars are collected too.
Safeguard buffer: how far past the active safeguard fence price is required (in dollars) before a BUY/SELL is allowed to fire.
Cross window: the histogram's 0-cross and %b's 0.5-cross must land within this many seconds of each other to count as one confirmed signal.
No short selling (a SELL only ever closes an open long) and every BUY is checked against available cash before it fires.