2026-08-15

Cooldowns and why overtrading fails

The fastest way to damage an account is not a wrong call. It is the same call repeated four times in twenty minutes because the price kept moving and each move felt like new information. It usually was not new information. It was the same information, louder.

BearBreaker applies direction-specific cooldowns. After an expansion in a construct, further expansions in that construct are blocked for a defined period. Contractions have their own separate timer. Separating the two directions matters: a system that has just bought should still be free to sell if conditions genuinely reverse, but it should not be free to buy again immediately just because the price ticked down another fraction of a percent.

On top of cooldowns, only one open order is permitted per construct. This removes an entire category of failure where a slow fill causes the system to submit a second order for the same intent, then a third, and ends the session with a position several times larger than the rules ever authorised. If an order is outstanding, the next cycle waits. Waiting is a valid action and it is logged as one.

Overtrading is expensive in ways that do not show up in a single trade. Spreads and slippage accumulate quietly. More importantly, frequent action trains you to watch the screen, and watching the screen is what produces the manual overrides that break the system in the first place. A quieter bot is easier to leave alone.

Cooldown lengths are configuration values. If you run on longer timeframes, lengthen them. The default settings favour patience, because in testing the version that acted less often kept more of what it made, and it was far easier to review at the end of the week.