September 22, 2026
Paper Trading That Behaves Like an Exchange: How HookTrader Simulates Your Fills
Most paper trading tools work the same way. An alert fires, the tool writes down the price on the chart, and later it writes down another price when you exit. The difference between the two is your "profit". Every order fills, at exactly the price you asked for, for free.
That isn't a simulation of trading. It's a price chart with a calculator attached, and it flatters every strategy you run through it. The costs it leaves out are the ones that decide whether a strategy with a thin edge makes money. Spread, fees, stops that fill past their level, positions the exchange closes for you: all of them are missing.
HookTrader's Paper Account takes a different approach. Your orders go to a simulated exchange, which prices and fills them the way Binance USDⓈ-M Futures would. It's the same execution engine your live trades use, the same stop, take-profit and trailing-stop logic, and the same trade history. The only change is that the venue on the other end is a simulator and the balance is practice money. Here's what that simulator actually does.
Real prices, from the real market
The Paper Account runs on Binance mainnet market data, the same live price feed a real account trades against. It does not use Binance's testnet. Testnet's order books are thin and often drift a long way from the real market, especially when things get volatile. A fill there tells you about testnet, not about your strategy.
So when your strategy is watching ETHUSDT on paper, it sees the price every live trader on Binance sees at that moment.
Market orders pay the spread
When your entry alert arrives, the simulator doesn't fill at the price printed on your TradingView chart. It fills at the live best bid or ask on Binance's order book at the moment the order executes. Buys lift the ask and sells hit the bid, just like a real market order.
Two real costs show up because of this:
- The spread. On a deep book like BTCUSDT it's a rounding error. On a thin altcoin it can be the biggest cost your strategy pays, and paper trading that ignores it will tell you a losing strategy is profitable.
- Alert latency. The fill price is the market when your order reaches the exchange, not the close of the bar that triggered the alert. If price moves in the seconds between the alert and the fill, you see that, the same way you would live.
Every fill pays the exchange fee
Every simulated fill is charged Binance's standard USDⓈ-M taker fee of 0.05% of notional. That includes the entry, each partial take-profit, a trailing-stop exit and the final close. The fee is taken out of your practice balance as the fill happens, your trade history shows the fees on every trade, and P&L is reported net of them, the same as a live trade.
This matters more than it sounds. A round trip costs about 0.1% of your position before the market has moved at all. A strategy whose first take-profit sits inside that distance loses money on every "winning" trade, and paper trading without fees would never show you that.
The simulator charges the standard (VIP 0) rate. If your real account pays less, through a BNB discount or a VIP tier, your paper results will be slightly worse than your live ones, not better.
Stops trigger on the mark price, then fill against the book
HookTrader places stops on Binance to trigger off the mark price, Binance's default for USDⓈ-M futures, and the simulator does the same. A stop-loss, take-profit or trailing stop triggers when the mark price crosses its level.
What happens next is what separates a simulated exchange from a guaranteed fill. On a real exchange, a triggered stop becomes a market order, and a market order fills wherever the book is. The simulator does the same: once a trigger fires, the fill is priced against the live best bid or ask at that moment, not at the stop price you set. In a calm market that's a hair away from your level. In a fast drop the book can already be well past your stop when it triggers, and your fill reflects that.
Here's the same stop-out recorded two ways:
Worked example
Long 1 ETH · entry alert at 2,500.00 · stop-loss at 2,450.00 · stopped out in a sharp drop
Guaranteed-fill paper tool
- Entry
- 2,500.00
- Exit
- 2,450.00
- Fees
- none
- Result
- −50.00 USDT
HookTrader Paper Account
- Entry
- 2,500.01 (live ask)
- Exit
- 2,449.20 (live bid)
- Fees
- 2.47 (0.05% × 2)
- Result
- −53.28 USDT
Illustrative prices. The Paper Account's exit is the best bid on Binance at the moment the mark crossed the stop — in a calm market that is close to the stop itself; in a fast one it is wherever the book already is.
Three dollars is small on one trade. Across a few hundred trades it decides whether the strategy works.
The exchange's contract rules still apply
Every symbol on Binance Futures has its own rules: the smallest price step, the smallest quantity step, a minimum order size and a minimum order value. The Paper Account loads the real values for each symbol from Binance and rounds your orders to them. HookTrader's sizing checks read the same values, so an entry below a symbol's minimum is refused on paper exactly as it would be live, and a position size that's valid live is valid on paper.
The account also behaves like a Binance account in one-way mode. There is one position per symbol, a reduce-only order that arrives after the position is already closed is rejected, and a stop and take-profit written against a position are retired as soon as that position is gone.
Leverage, margin and liquidation are enforced
The leverage and margin mode you set on your Paper Account (see Cross vs. Isolated Margin) aren't cosmetic. The simulator holds every position to a maintenance margin and liquidates it if the account can no longer carry it:
- An isolated position stands on its own margin. When its losses eat through that margin down to the maintenance level, it's closed, and the rest of the account is untouched.
- Cross positions share the wallet. When the wallet plus all their unrealised P&L falls to the maintenance level, they go together.
A liquidation closes the position at the mark price, as an order you never sent, which is exactly what it is on a real exchange. If a gap takes the account below zero, the balance stops at zero, the way a real exchange's insurance fund absorbs the rest.
HookTrader's pre-entry checks run on paper too. If your risk-based position size needs more leverage than the symbol is set to, the entry is refused with a message saying so. It's better to find that out on paper than to have a live exchange reject the order.
It doesn't look away when the feed does
A real exchange holds your stop-loss itself. If HookTrader restarts, or a price feed goes quiet for a minute, Binance still fires your stop at the right moment. A simulator only knows the prices it has seen, so a naive one has a blind spot: price can cut through your stop, bounce back, and the next price it sees is safe again. The stop never fires, and the paper trade lives on in a state the real market would have closed.
The Paper Account closes that gap. After any blind window of a minute or more, whether a restart or a quiet feed, it pulls Binance's 1-minute candles for the missing period and checks every resting stop and take-profit against each candle's high and low. It resolves the ambiguous cases pessimistically on purpose:
- If a single candle touched both your stop and your take-profit, it assumes the stop hit first. The candle can't say which came first, and a simulator that guesses in your favour is worse than none.
- Liquidation is checked at the candle's worst price for your position, not its close.
Your open paper positions, resting orders and balance are also saved as they change, so a restart picks up where it left off instead of wiping the book.
What the Paper Account doesn't model (yet)
No simulator is the real thing. These are the places this one simplifies, and which way each one leans:
- Order book depth. Fills are priced at the top of the book whatever your size. A large order on a thin symbol would walk the book and fill worse live than it does here. For typical retail sizes on liquid pairs the difference is small. If you trade size on illiquid pairs, treat paper fills as a best case.
- Funding payments. Funding charges and credits on perpetuals aren't applied to paper positions yet. For trades held across several funding windows, live results will differ by the funding you would have paid or received.
- Maintenance margin tiers. Binance's maintenance rate steps up as a position grows. The simulator uses one rate, 0.5%, which is the first-tier rate for most of the board (BTCUSDT's is 0.4%, some thin altcoins' are 1%). Liquidation prices land close to where Binance would put them for normal position sizes, but the simulator doesn't impose Binance's per-leverage position size caps.
- Exchange-side rejections. A real account can refuse an entry your free margin can't cover, a leverage setting above a symbol's cap, or a margin-mode change while a position is open. The simulator accepts all three, so it won't rehearse those refusals. An oversized entry on paper is caught by liquidation, not refused up front.
- Stops filled during a blind window are priced at the stop level, because the simulator has no record of the order book at that moment. It's still far more realistic than not filling them at all.
None of these make paper results look wildly better than live, and most of the fee and trigger choices lean the other way. The goal isn't a perfect replica of Binance. It's a simulation honest enough that when a strategy works on paper, you have a reason to believe it will work live, and when it doesn't, you find out before it costs you anything.
Trying it
The Paper Account is what HookTrader's free plan runs on: no card, no exchange keys, and the same engine and dashboard as live trading. Point a TradingView alert at a paper strategy, let it run through a few real market sessions, and judge it on net P&L, after the spread and fees. That's the number your live account will actually see.