Objects
History row
One past occurrence of a pattern on a ticker and what happened next, from the stored backtest: entry, stop, target, exit and result.
One past occurrence of a pattern on a ticker and what happened next, from the stored backtest: entry, stop, target, exit and result.
Fields
| Field | Type | Description |
|---|---|---|
setup_id | string · nullable | Identifier of the occurrence in the stored history. Null when the row carries none. It is not necessarily a setup_id the patterns route still serves. |
lineage_id | string · nullable | Identifier of the setup lineage: the connected set of breakout attempts of one pattern. attempt says where this row sits in it. Null when absent. |
family | string | The display family the row is filed under, derived from pattern_type: wedges keep their name, every triangle type is triangle, squeeze consolidations are bullish_pennant or bearish_pennant by direction, and anything else is other. |
family_label | string | Human-readable family name. |
pattern_type | string · nullable | The detector's pattern type for the row. Null when absent. |
direction | string · nullable | bullish or bearish. Null when the row carries neither a direction nor a bias. |
outcome | string (enum) | How the trade ended: win (target reached), loss (stop hit, or target and stop in the same bar) or open (still running as of the last session). One of win, loss, open. |
entry_date | date · nullable | Session date of the entry bar, as an ISO date. Null when absent. |
entry_price | number · nullable | Entry price in dollars: the close of the breakout bar. |
stop_price | number · nullable | The stop in dollars, frozen at entry. |
target_price | number · nullable | The measured-move target in dollars. |
exit_date | date · nullable | Session date of the exit bar, as an ISO date. Null for open trades. |
exit_price | number · nullable | Exit price in dollars. Null for open trades. |
realized_move_pct | number · nullable | Signed price move from entry to exit as a percent of the entry price, positive when in the trade's favour. Null when no exit is recorded. |
target_move_pct | number · nullable | The pattern's measured move as a percent of price: the size of the move the target was projected from. Null when the row carries none. |
r_multiple | number · nullable | Realized result in R: exit minus entry, divided by the entry-to-stop distance, signed by direction. Null for open trades. |
unrealized_r | number · nullable | For open trades only, the R at the last close walked. Null on resolved rows. |
hold_bars | integer · nullable | Daily bars (sessions) from entry to exit. Null for open trades. |
attempt | object | Where this row sits among the breakout attempts of its lineage. |
attempt.number | integer · nullable | The 1-based attempt number within the lineage. The history lists each lineage's first attempt, so this is 1 on served rows. Null when the row has no lineage data. |
attempt.count | integer · nullable | How many breakout attempts the lineage made in total. Null when the row has no lineage data. |
Example
{
"setup_id": "NVDA:D:falling_wedge:500",
"lineage_id": "l500",
"family": "falling_wedge",
"family_label": "Falling wedge",
"pattern_type": "falling_wedge",
"direction": "bullish",
"outcome": "win",
"entry_date": "2026-05-04",
"entry_price": 100,
"stop_price": 95,
"target_price": 108,
"exit_date": "2026-05-20",
"exit_price": 108,
"realized_move_pct": 8,
"target_move_pct": 8,
"r_multiple": 1.6,
"unrealized_r": null,
"hold_bars": 12,
"attempt": {
"number": 1,
"count": 1
}
}