Scroll a chart back and you can already see where price went. Fill at the printed close and your costs vanish. Re-enter a symbol you are already long and a naive simulator happily opens a second, imaginary position. Each shortcut makes the equity curve prettier and the practice worthless.
EdgeTest was built to remove those shortcuts one at a time. Bars are revealed in sequence. Fills pay a half-spread offset, slip by a configurable number of ticks or percent, and are charged commission, optionally per side. A second order on a symbol you already hold nets against the existing position — adding and re-averaging, or reducing, closing, or flipping it — with realized PnL booked only on the part you actually closed.
It grew incrementally over many sessions, one milestone at a time: the replay engine, then the order and position accounting, then drawings and indicators, then prop-firm rules, then the journal, then the deep analytics. Each pass left its reasoning in the code — the conventions chosen, the alternatives rejected, and the things deliberately not built.