A losing streak cannot be diagnosed from profit and loss alone. A transparent trading record must separate the strategy’s signal quality from execution costs and the market conditions present when each order was sent and filled.
In September 1999, NASA’s Mars Climate Orbiter approached Mars after a nine-month journey. The spacecraft was expected to enter orbit, then communicate back. It did not. Investigators later found that one ground system had produced impulse data in pound-seconds while another expected newton-seconds, sending the spacecraft too close to Mars.
The point was not that one team lacked data. The mission had data that failed to line up in a usable way. Arthur G. Stephenson’s Mars Climate Orbiter Mishap Investigation Board documented how an interface assumption went uncorrected until the spacecraft was lost.
A bot’s losing streak creates a smaller version of that problem. If the record only shows that seven trades lost money, you cannot tell whether the strategy was wrong, the fills were worse than expected, or the market changed before the orders reached the exchange.
Educational content. Not financial advice.
Separate the signal from the fill
Start with the decision the system made before an order entered the market. For every trade, the record should preserve the instrument, direction, timestamp, entry thesis, intended entry price, stop, target or exit condition, position size, and the risk amount planned at the moment of the signal.
Then record what actually happened. The submitted order type matters. So do the accepted timestamp, fill timestamp, fill price, partial fills, commissions, exchange or broker fees, and the bid-ask spread at the time of entry and exit.
A strategy can correctly identify a move and still lose after costs. For example, a system may signal a short entry at $42.00, but fill at $41.72 after a spread widens and price moves. That difference changes the distance to the stop, the expected reward, and the amount of loss the trade can produce. Without both prices in the record, “the setup failed” is only a guess.
The same applies to stops. A record needs the planned stop and the actual exit price. What Happens When Your $42 Stop Fills at $38? addresses the practical risk: a stop defines an intention, while a fill records the price the market actually gave you.
Preserve the market conditions around each order
Execution data explains the gap between plan and fill. Market context explains whether the original assumptions still held.
Keep the available information that could materially affect the decision: spread, volume or liquidity measures you use, volatility, time of day, whether the market was open or in an extended session, and any rule that caused the bot to enter, exit, or stand down. A chart snapshot can help a human reviewer reconstruct the setup, but it should not replace the actual recorded values and timestamps.
This matters most when a bot trades through conditions it was never tested to handle. A model backtested on liquid periods may perform differently during a thin Friday session, a sudden volatility expansion, or a price gap. The record should identify those conditions rather than bury them inside a weekly equity curve.
A useful review question is simple: did the trade lose because the market invalidated the setup, or because the system paid more to enter and exit than its assumptions allowed? Those are different failures. They call for different changes.
If spreads expanded after the bot generated the signal, the answer may be an execution guardrail. If the setup repeatedly fails under a defined volatility regime, the answer may be a strategy rule, smaller sizing, or a no-trade condition. What Happens When a Wide Spread Raises Your Trade Risk? shows why spread belongs in the risk calculation before approval.
Make every approval and override reviewable
For an approval-gated system, the human decision belongs in the same record as the bot’s signal. Show when the signal was generated, when it was queued, what risk details were visible, who approved or rejected it, and whether the order changed after approval.
That record protects the trader from a common review error: blaming the model for a discretionary change that occurred later. If the bot proposed a 1% risk position and the approved order carried materially more exposure, those are separate decisions and should be evaluated separately.
Rejections matter too. A rejected signal can reveal that the bot is producing entries a trader consistently considers too late, too concentrated, or too dependent on uncertain conditions. Over time, that evidence can improve rules. It can also establish that some market environments do not deserve an order.
Review the streak trade by trade before changing the strategy
A weekend review should begin with a small table, not a broad conclusion. For each losing trade, compare expected entry with actual fill, planned loss with realized loss, spread at signal with spread at fill, and the market regime against the conditions used in testing.
Then group the trades by cause. A cluster of poor fills points toward execution costs. A cluster of valid fills that break the same setup points toward strategy weakness. Losses concentrated in one liquidity or volatility condition point toward a missing market filter.
Mars Climate Orbiter was lost because the systems involved did not share a clear, compatible account of what the numbers meant. A trading record serves the same purpose at a different scale: it gives you enough evidence to decide what changed before you alter rules, increase risk, or let another order proceed.
Comments
No comments yet.