Build In Public Trade Autopsy
Four Green Receipts, One Honest Autopsy
May 20 was not the perfect open-capture day. It was something more modest, but still important: the system found four live long trades, closed all four green, and ended flat with direct Schwab positions showing no open exposure. The honest part is that we still changed the system afterward, because a win can be real and still reveal where the next edge is hiding.
The Grade
Outcome grade: A-. System-intent grade: B. Overall grade: B+. The day made money and got flat, but it still did not prove the opening-lane speed standard.
The best way to judge today is to separate the scoreboard from the architecture.
The scoreboard was clean: four live long entries, four profitable closes, direct Schwab positions flat, and roughly +$13.87 realized. That matters. After several days of fighting old blockers, dashboard confusion, and route-contract drift, the system actually did the thing a trading system is supposed to do: find trades, take money, and remove risk.
The architecture was better, but not finished. The first entry did not happen until 7:07 PT. That means the bot was profitable today, but it was not yet the 6:30 PT opening-lane machine the system is being built to become. That is why the next change happened after a win, not after a disaster.
The Trades
NVDA
7:07 PT to 7:09 PT | 7 shares
+$0.48
Entry $222.9599 | Exit $223.1175 partial, then $222.961 stop
The first live proof that the bot was not frozen. It entered the proof band, took a small market partial, then flattened the rest after the protective stop fallback did its job.
AMZN
7:15 PT to 7:46 PT | 6 shares
+$7.74
Entry $261.41 | Exit $262.70
The best net capture of the day. It was not a giant win, but it was the cleanest example of letting a strong long work long enough to pay.
SOFI
7:16 PT to 7:23 PT | 113 shares
+$3.97
Entry $15.435 | Exit $15.4601 partial, then $15.48 stop
A fast small-money trade. The system took the first part quickly, then the raised stop finished the rest green.
XLB
7:16 PT to 7:22 PT | 30 shares
+$1.68
Entry $49.359 | Exit $49.4001 partial, then $49.43 stop
A sector ETF was allowed through as a lower-volatility capture. Not exciting, but controlled and green.
What Went Right
The system did not overtrade into garbage. It waited until names passed enough route and conviction evidence, then used small position sizes and quick exits. That is why a session with modest dollar gains still deserves respect. A bot that makes a small amount and gets flat is healthier than a bot that makes a dramatic promise and leaves the account exposed.
AMZN was the best clean capture. SOFI and XLB showed the partial-and-stop lifecycle. NVDA proved the system could recover when a stop replacement failed, because the fallback protective stop handled the remaining shares.
Why Change Anything After A Win?
Because the win answered one question but not the whole question. It proved the system could find needles in an intraday bear tape, enter live trades, manage partials, and finish green. It did not prove that the system was reading the early channel fast enough.
The specific issue was directional volume pressure, or DVP. DVP is supposed to tell the bot whether the live tape is supporting the direction of the trade. Before the refinement, the system treated too many neutral readings as one big category. That made the bot patient, which helped avoid junk, but it also meant a stock could be moving correctly through the early lane while the 8-bar DVP memory was still not ready to call it fully aligned.
That is a subtle but important distinction. Neutral-flat means the tape is not saying enough yet. Neutral-building means the tape is not fully confirmed, but short-horizon pressure is improving while the rest of the setup is already lined up. Those are not the same market condition, and the system should not treat them the same way.
The Post-Win DVP Change
What can pass now
DVP_NEUTRAL_BUILDING can be passable only inside the early/proof lane, only after trigger HIT, and only when room, flow, daily-open context, and winner/execution-quality confluence agree.
What still cannot pass
Flat neutral DVP, weak DVP, conflicting DVP, adverse DVP, no-room setups, stale misses, pullback waits, and broker/account safety blocks still remain real blockers.
What Still Was Not Good Enough
The first problem is timing. A system built around early winner DNA should prove that it can act closer to the opening lane, not only after the first half hour has passed. The DVP refinement was made for that reason: not to make the bot reckless, but to stop a still-building tape read from acting like a full veto.
The second problem is stop churn. The NVDA stop replacement hit a Schwab HTTP 400, then the fallback standalone stop solved it. That is good emergency behavior, but the cleaner version is fewer stop replacement fights in the first place.
The third problem is observability. The end-of-day dashboard surface did not show the full trade story cleanly, so the real autopsy had to come from direct Schwab orders plus the trading database. For an operator, that matters. Trust comes from seeing the same truth everywhere.
Scorecard
Trade selection
A-Four entries, four green outcomes, and no direct broker positions left open. That is the scoreboard part, and the scoreboard was good.
Entry timing
C+The first fill came 37 minutes after the open. That is not the 6:30 PT launch behavior the system is ultimately meant to master.
Exit behavior
B+The system took partials, used market exits, raised stops, and finished flat. The exits were not dramatic, but they did the job.
Protection
B-Stops were present and the fallback stop protected the remaining NVDA shares. The weak spot is stop churn: Schwab rejected one replacement, so the fallback had to rescue the position.
Observability
CThe broker and database had the truth, but the dashboard trade list was not telling the whole story cleanly at the end of the day. That is not a trading loss, but it is an operator-confidence problem.
The Lessons
- The bot was not blocked from trading. It found, entered, managed, and closed live positions.
- The system made money by being selective, not by spraying trades everywhere.
- The biggest miss against the vision was timing. This was a profitable first-hour system today, not a perfect opening-lane system.
- A profitable day can still expose a timing flaw. Winning late is good; seeing the same setup earlier is better.
- Neutral DVP needed to be split into neutral-flat and neutral-building so the system stops treating all uncertainty as the same thing.
- Market partials and raised stops behaved closer to the intended money-fast model.
- Broker truth still matters more than dashboard truth. The autopsy had to use Schwab orders and DB rows to reconstruct the day accurately.
The Point Of The Day
Today was not a moonshot day. It was a control day. The system made money, managed exits, proved the broker loop still worked, and ended flat. The next level is not removing safety or chasing every green candle. It is teaching the system to notice when neutral is actually building, so the same clean behavior can happen earlier without opening the front door to weak tape.
Open Ticker GraderEducational note: this article is for general trading education only. It is not financial advice, a performance guarantee, or a recommendation to buy or sell any security. Trade figures reflect the May 20 live broker and database records reviewed during the autopsy. The DVP refinement described here is a system-design note, not a claim that future trades will be profitable.