Cooldown after a loss in the EA, and why signals clustered right after stops
looking at my EA's trade log, I noticed something. After a stop loss, the next signal often came within a few minutes, and those trades did noticeably worse than the average. The conditions that stopped me out were still there, and the EA just fired again.
I added a cooldown. After a loss, the EA waits a set time before it can open another trade on that symbol. Not a long time, about as long as a typical setup takes to develop. I also required that price make a new structural development, like a new swing or a close beyond a level, before the same type of signal could trigger again.
Results in the tester improved a bit, with a lower drawdown, and the average trade quality went up. The number of trades went down, which I was happy about because costs are a big deal for scalping.
I tuned the cooldown a little, but I didn't search for the best number. I picked something that matched what I'd do manually, and checked that nearby values behaved the same way.
Cooldown after a loss in the EA, and why signals clustered right after stops
Re: Cooldown after a loss in the EA, and why signals clustered right after stops
Requiring a new structural development before the next signal was the bigger improvement for me, more than the time delay alone. With only a timer, the EA would wait, then fire again into exactly the same messy conditions. Once I made it wait for fresh structure, like a fresh swing point or a candle closing past a level, the repeat signals mostly disappeared. The timer is still there as a floor, but the structure rule is what actually filters the junk. It also made the logic easier to explain to myself, which helps when I am reviewing the trade log.
It’s Fairman 
Re: Cooldown after a loss in the EA, and why signals clustered right after stops
Worth checking if the cooldown should be per symbol or for the whole account. I started per symbol, then realised that on a dollar news spike several pairs stopped me out at the same time and then all fired again together. Now I also have an account level pause after two losses in a short window. It reduces the clustering a lot. Make sure the cooldown timer survives a restart too, otherwise a restart right after a loss quietly removes the cooldown.
It’s Fairman 
-
Shadow Trader
- Posts: 4032
- Joined: Wed Sep 09, 2026 5:19 pm
Re: Cooldown after a loss in the EA, and why signals clustered right after stops
One detail worth pinning down in the code is what counts as a loss. A trade that was trailed and stopped out 1 pip in profit still closes on the stop order, and some EAs read any stop hit as a loss and start the cooldown when nothing went wrong.
The restart problem above is easy to solve by writing the time of the last losing close to a terminal global variable instead of keeping it in memory. The EA reads it back when it initialises, so a crash or a weekend restart keeps the pause in place.
There is also a clean way to check the filter is doing real work. Run the tester once without it and tag every trade that would have been blocked, so that group can be compared with the rest.
Say the run has 400 trades and 60 of them open within 15 minutes of a stop. If those 60 average minus 0.3R while the full set averages plus 0.1R, the cooldown is removing genuinely bad trades rather than just thinning the sample.
Does the structure rule reset after a win as well, or only after a stop? A fast second signal after a target hit can come from the same exhausted move.
The restart problem above is easy to solve by writing the time of the last losing close to a terminal global variable instead of keeping it in memory. The EA reads it back when it initialises, so a crash or a weekend restart keeps the pause in place.
There is also a clean way to check the filter is doing real work. Run the tester once without it and tag every trade that would have been blocked, so that group can be compared with the rest.
Say the run has 400 trades and 60 of them open within 15 minutes of a stop. If those 60 average minus 0.3R while the full set averages plus 0.1R, the cooldown is removing genuinely bad trades rather than just thinning the sample.
Does the structure rule reset after a win as well, or only after a stop? A fast second signal after a target hit can come from the same exhausted move.
-
Shadow Trader
- Posts: 4032
- Joined: Wed Sep 09, 2026 5:19 pm
Re: Cooldown after a loss in the EA, and why signals clustered right after stops
Counting the cooldown in bars rather than minutes avoids an odd case at the weekend. A 30 minute timer started by a stop at 23:50 server time on Friday has expired long before the market reopens, so the first signal on Monday is allowed straight into the opening gap.
Counted as six M5 bars instead, the pause carries over and still blocks the first few bars of the new week, which are often the thinnest part of it. The same thing happens at the daily break, when a timer can run out while nothing is trading.
The account level pause after two losses needs its window pinned down just as tightly. Say three dollar pairs all stop out within 90 seconds of a release, then two losses inside ten minutes trips the pause, while the same rule over a whole session would also catch unrelated losses hours apart.
The tester's modelling mode decides whether the cooldown is measured honestly. With open prices only, everything happens at bar opens, so the gap between a stop and the next entry comes out in whole bars and looks cleaner than it will live.
Is the pause written to the log each time it blocks a signal? A single line per block makes it easy to count how often it actually fires.
Counted as six M5 bars instead, the pause carries over and still blocks the first few bars of the new week, which are often the thinnest part of it. The same thing happens at the daily break, when a timer can run out while nothing is trading.
The account level pause after two losses needs its window pinned down just as tightly. Say three dollar pairs all stop out within 90 seconds of a release, then two losses inside ten minutes trips the pause, while the same rule over a whole session would also catch unrelated losses hours apart.
The tester's modelling mode decides whether the cooldown is measured honestly. With open prices only, everything happens at bar opens, so the gap between a stop and the next entry comes out in whole bars and looks cleaner than it will live.
Is the pause written to the log each time it blocks a signal? A single line per block makes it easy to count how often it actually fires.
-
FXS Prop Desk
- Posts: 1370
- Joined: Wed Oct 07, 2026 9:52 am
Re: Cooldown after a loss in the EA, and why signals clustered right after stops
Did you check whether the weak trades right after a stop were mostly in the same direction as the losing trade? If most of them were same-side re-entries, a cooldown that only blocks that direction would still let a reversal signal through, and after a failed move those are sometimes the better trades.
I would also log every signal the EA skipped during the cooldown, with its hypothetical result. After a few hundred of them you can tell whether the filter is cutting losers or simply cutting trade count.
I would also log every signal the EA skipped during the cooldown, with its hypothetical result. After a few hundred of them you can tell whether the filter is cutting losers or simply cutting trade count.
FXS Official Team | The Idea Lab & Strategy
-
Shadow Trader
- Posts: 4032
- Joined: Wed Sep 09, 2026 5:19 pm
Re: Cooldown after a loss in the EA, and why signals clustered right after stops
Trading sessions don't have natural endpoints, so rules must supply them. Stops can be triggered by loss, by time, by trade count, or by state of mind.
A loss trigger is the classic one. A time trigger ends the session at a set hour regardless of results. A trade count trigger stops after a fixed number of entries. A state trigger ends the day when emotional signals show up, such as irritation, rushing or fatigue.
Good days deserve a rule too. Continuing after a strong morning can turn a profitable day into a flat one as focus fades. Some traders stop after reaching a profit target, others reduce size to a fraction.
The decision to stop works best when it isn't a decision. Written triggers, reviewed weekly, remove the need to argue with an impulsive mind in the moment.
Which trigger has ended the most sessions recently, and was the stop usually the right call in hindsight?
A loss trigger is the classic one. A time trigger ends the session at a set hour regardless of results. A trade count trigger stops after a fixed number of entries. A state trigger ends the day when emotional signals show up, such as irritation, rushing or fatigue.
Good days deserve a rule too. Continuing after a strong morning can turn a profitable day into a flat one as focus fades. Some traders stop after reaching a profit target, others reduce size to a fraction.
The decision to stop works best when it isn't a decision. Written triggers, reviewed weekly, remove the need to argue with an impulsive mind in the moment.
Which trigger has ended the most sessions recently, and was the stop usually the right call in hindsight?