A Binance Futures bot can have the right signal and still place the wrong order.
I found this in the logs: 3 websocket reconnects in 41 minutes. Price data came back, but the bot’s position state was stale.
That is where duplicate orders begin.
My rule for Futures bots now:
1. Rebuild account state after every reconnect
2. Check current position before every new order
3. Track pending orders separately from filled positions
4. Block new entries if websocket timestamp is stale by more than 2 seconds
5. Log rejected signals, not only executed trades
Boring fix, real edge.
On Binance Futures, your signal is only half the system. The other half is knowing whether your bot is actually flat, partially filled, pending, stopped, or already exposed.
Most builders optimize entries first.
I’d rather fix state recovery before adding one more indicator.
Do you log reconnects and rejected signals, or only fills?