Skip to main content

How to Ask AI What Happened to a Futures Trade

Sometimes a single trade is the question. You see a fill you didn't expect, an exit you can't explain, or a P&L number that doesn't match your memory. This page is about asking the agent for a single-trade explanation using everything CrossTrade can see.

Why trade explanations require multiple data sources

A futures trade lives in multiple data sources:

  • The intended action (your click, a TradingView webhook, or a deployed strategy).
  • The order NT8 placed.
  • The fill the broker reported.
  • The position state that resulted.
  • The add-on activity that surrounded it.
  • The matched-trade journal entry once the trade closed.

A clean explanation crosses all of these. An AI agent through MCP can correlate them.

Data the agent uses

ToolRole
GetJournalTradesThe closed round-trip and realized P&L.
ListOrders / GetOrderOrder parameters and status.
ListExecutions / GetExecutionsByOrderIdFill timestamps and prices.
ListPositionsPosition before/after.
GetSignalHistoryOriginating webhook signal, if any.
GetActivityLogAdd-on activity around the trade.
GetAccountSummary / GetWatermarksAccount context.

Prompt template

Explain trade <trade_id or approximate window> on <account>.

1. Pull the matched journal entry. Show entry, exit, side, quantity, P&L.
2. Pull the orders and executions that made up the entry and exit.
3. Pull any TradingView webhook signal that originated the entry.
4. Pull GetActivityLog for the +/-2 minute window around entry and exit.
5. Build a chronological timeline.
6. Tell me what happened in plain English: why I entered, why I exited,
whether anything unexpected occurred. Redact account identifiers in the
final summary.

Example

You took a trade you don't fully remember. You ask:

Explain my MES trade around 14:32 today on Sim101. Pull the journal entry, the orders, the executions, any webhook signal, and the activity log for 14:30 to 14:35. Build a timeline and tell me what happened.

The agent returns:

14:31:55 TradingView signal received: action buy, instrument MES, qty 1
14:32:00 Order placed: buy 1 MES 06-26, market
14:32:00 Fill: long 1 at 5240.25
14:32:00 Bracket: stop at 5237.00, target at 5243.50
14:42:30 Stop hit: short 1 at 5237.00
14:42:30 Journal entry: long 1 entry 5240.25, exit 5237.00, P&L -16.25

Summary: webhook-driven long, exited at the protective stop. Nothing unusual.

The agent's job is to make all that legible in 30 seconds.

Prompts for common questions

"Why did I exit?"

Pull the matched journal entry around 14:32 today. Show entry and exit. Pull the order that produced the exit. Tell me whether it was a manual close, a stop, a target, a bracket, or a strategy-driven exit.

"Why did I take this trade?"

Pull the order that opened the position. Pull any TradingView signal in the 5 seconds before it. If a signal exists, show the payload. Tell me whether the trade was webhook-driven, strategy-driven, or manual.

"Did the broker fill me at a different price than expected?"

Pull the order and the executions. Compare the order's limit or stop price to the fill price. Tell me whether slippage occurred and by how many ticks.

"Did my journal P&L match my expectation?"

Pull the journal entry for the trade. Compute P&L from the executions independently. Compare. Report any mismatch.

FAQ

Does the agent need mcp:trade?

No. Read-only is enough for explanation workflows.

Can the agent change a journal entry?

No. The journal reflects executions; the agent reads, it does not edit.

What if the trade is older than the journal range?

GetJournalTrades supports time ranges. Specify the window in the prompt.

Can the agent compare two trades?

Yes. Ask it to pull both and produce a side-by-side timeline.