The POST handler calls runTrade() directly, bypassing the scheduler tick's position gate. If you stop and restart with open positions, other accounts could get new trades while existing ones haven't closed. Now runTrade itself checks for open positions before proceeding. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>