Your daily reset can make an open loss vanish from the limit calculation while the position still loses money. Our saved EURUSD case carried a $176.82 loss after midnight. Under its frozen $500 daily loss limit, the correct floor was $10,256.64. Starting from account value including that loss would instead show $10,079.82. That lower floor overlooks money already lost. Check which value your program resets from.
One open position, two possible starting values
A trader's question was whether a new day erases an existing open loss. The useful software question follows directly: what does your program store when its day changes? A variable named start balance can hold closed balance, or it can accidentally hold account value including the open trade. The name alone cannot tell you which happened.
Our saved case used an EURUSD position still open across midnight Berlin on 19 May 2025. The closed balance was $10,756.64 before and after. Account value including that trade was $10,529.82 before midnight and $10,579.82 just after. The open loss became smaller between those readings, but the trade remained open and losing.
These are saved values from our own simulation under its stated costs. They let us compare the two starting values at the same reset, without changing the trade, adding a deposit or assuming that the market closed at midnight.
The mistake is hidden in the stored starting value
The frozen rule took its daily allowance from day-start balance. Its $500 allowance therefore left a $10,256.64 floor. The selected reading after midnight had $323.18 above that floor. There was no daily breach at this instant. The position's $176.82 loss was still part of the account value being checked.
Now compare the mistaken starting value. If the reset stores $10,579.82 instead of the $10,756.64 closed balance, its floor becomes $10,079.82. The saved comparison shows the difference: the lower starting value makes the remaining loss room look larger by the open loss already on the position.
That is why a daily counter returning to zero is a weak visual check. It can look tidy while the wrong amount feeds the new day's limit. Put the stored starting value, actual balance, open trade result and resulting floor beside one another. A reset needs the right value as well as the right clock.
Keep the price movement separate from the reset
Our chart shows the actual saved account path and daily floor around the reset in Berlin time. The before and after readings have different account values because the price changes. Treating that improvement as a gift from midnight would confuse the market move with the bookkeeping.
Use an existing open position when you check this in your own report. An empty account hides the difference because its balance and account value can agree. A loss on the open position exposes which one your reset actually uses. Keep fees and overnight charges inside the value required by the rule, rather than subtracting costs a second time.
The saved case has a clear boundary
This was a historical EURUSD simulation with generated price steps from one-minute candle opens, highs, lows and closes. Its selected summer clock mapping placed the server one hour ahead of Berlin. The full run had already breached a daily limit on 6 May; the later midnight example comes from a continued explanatory run. It explains the starting-value error, rather than showing a strategy that passed a challenge.
The full carried-loss case keeps the saved amounts, graph and public question together. Before paying for a challenge, compare your own rule with the value your program stores at the reset. Send your rule sheet or trading program for the free Challenge Pre-Check.

Top comments (1)
I checked the figures and they are consistent: 10,756.64 - 500 = 10,256.64, 10,756.64 - 176.82 = 10,579.82, and 10,579.82 - 10,256.64 = 323.18 of room.
One thing the numbers add: the size of the error depends on when the wrong value is stored. At the earlier reading the account value was 10,529.82, so the open loss was 226.82 and a reset from that value would put the floor at 10,029.82, about $50 lower than the 10,079.82 you show after midnight. A reset that reads account value instead of closed balance therefore makes the floor move with the mark price at the reset instant, not just sit one open loss too low.
That suggests a cheap regression test: perturb the open position's mark price by a few dollars at the reset timestamp and assert the day's floor does not change. With the correct closed-balance start it is invariant; with the account-value start it moves one-for-one with the perturbation. It would also catch the opposite error, where an open profit raises the starting value and the floor sits too high.