Trade Plan Check & Replay
research_trade_planCheck, review or replay a perp trade setup (entry, stop, optional target), before it is placed or after: the tool for 'check this setup', 'is this trade good' and 'how did my trade do'. Renders an interactive trade ticket. Give the coin, entry and stop; optionally target, leverage, order type, placed_at, and account size with risk percent. Returns reward:risk, the stop's distance in % and 4h ATR, the isolated liquidation price at the leverage (first-tier 0.5% maintenance margin, so the optimistic case), funding per day at the current rate (in % of notional, and in USD when sized), the perp levels around the setup (from flow_levels: volume nodes, value area, liquidation clusters, entries, walls), and named checks: liquidation before the stop, price already through the stop, a stop inside one ATR of noise, a stop just in front of a level a wick would reach for, a level between entry and target, reward:risk under 2:1, costs that pull a 2:1 plan under it, leverage over 10x, and an entry far from live. Costs: fees per fill (a venue's base tier, Binance by default; override with venue, fee_bps, maker_fee_bps), funding carry over hold_hours at the current rate with the rate's 1y percentile, and, when sized, the slippage of a market exit of the whole size at the stop against today's visible book; they give a net reward:risk, the break-even win rate, and the stop, target and liquidation outcomes in R (and USD and % of account when sized). Everything reads in R and % without an account; give account_size and risk_percent (both or neither) to add the fixed-fractional size, notional and margin. Pass placed_at (when the order was placed) to replay the setup since then from public candles, filling the entry by order_type: a limit fills when price comes to it (or at once if it was already marketable, e.g. a buy limit above the market), a stop entry when price comes through it, a market order at placement; R is measured from the actual fill. Statuses: PENDING, MISSED (target traded before the entry), OPEN with the result and best/worst so far in R, STOPPED, TARGET, or AMBIGUOUS when one candle reached both; plus funding paid while open. Nothing about the plan is stored: the numbers come in, the replay goes out, and planLine is the one-line copy to bring the plan back later. Use it after research_opportunities or flow_levels has suggested a setup; it is a check of the setup, not a signal.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| stop | Yes | Stop-loss price (below entry = long, above = short) | |
| entry | Yes | Planned entry price | |
| venue | No | Optional venue whose base-tier fees to apply. Default binance (5 bps taker, 2 bps maker). | |
| symbol | Yes | Coin symbol, e.g. "ETH". | |
| target | No | Optional take-profit price | |
| fee_bps | No | Optional taker fee per fill in bps of notional (e.g. 4.5), when the user states their own fee tier. Overrides the venue's. | |
| leverage | No | Optional leverage the position is opened at, 1–200, for the liquidation price. Default when sized: the smallest whole leverage that carries the notional; unsized: no liquidation price unless given. | |
| placed_at | No | When the order was placed, as ISO 8601 (e.g. 2026-10-14T12:00:00Z) or unix time, up to 90 days back. Pass it whenever the user says when the trade was placed or opened ('placed 2026-10-12T12:00Z', 'opened yesterday at 14:00'): with it the tool replays the trade and reports filled / stopped / target / open; without it the plan is checked as if not yet placed. | |
| hold_hours | No | Optional expected holding time in hours, e.g. 72 for three days: prices the funding carry over the hold into the net reward:risk. | |
| order_type | No | How the entry was placed, for the replay. limit (default): fills when price comes to the entry, or at once if the entry was already on the far side of the market. stop: a breakout trigger that fills when price comes through the entry. market: filled at placement. Omit it when the user hasn't said: if the entry was through the market at placement, one call returns both readings (lifecycle as a limit, alternativeLifecycle as a stop); ask the user which applies rather than calling again. Also sets the entry fee: a resting limit pays maker, anything else taker. | |
| account_size | No | Optional account equity in USD, with risk_percent: adds the position size, notional and margin. Leave both out when the user didn't give them. | |
| risk_percent | No | Optional percent of the account lost if the stop is hit, e.g. 1; only with account_size | |
| maker_fee_bps | No | Optional maker fee per fill in bps (negative for a rebate). Overrides the venue's. |