patterns

The last occurrences on a ticker, newest first

Returns the last occurrences of patterns on one ticker with what happened next, newest entry first: entry, stop, target, exit, realized move, R multiple and hold time. This is the receipt behind the ticker track record, not the full ledger: at most 5 rows. outcome narrows the rows to resolved (win or loss) or open trades; total says how many matched before the limit. Per-ticker samples are small, so quote the count beside any rate. The ticker does not need to be tracked.

get/tickers/{symbol}/history

Request

  • Base URL: https://api.tradingpal.io/api/v1
  • URL: https://api.tradingpal.io/api/v1/tickers/{symbol}/history
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://api.tradingpal.io/oauth/authorize, token URL https://api.tradingpal.io/oauth/token, scopes: patterns)

Path parameters

symbolstring required

Exchange symbol, upper case (BRK.B, not BRK-B). Lower case is accepted and upper-cased.

Query parameters

limitinteger

Maximum number of rows to return, 1 to 5 (default 5). History on a ticker is its last occurrences, not the full ledger. Values outside the range are clamped; a non-integer answers 400 bad_request. total says how many rows matched before the limit.

outcome'all' | 'resolved' | 'open'

Which rows to include: all, resolved (win or loss only) or open (still running). Case-insensitive; any other value answers 400 bad_request.

Headers

X-TradingPal-Clientstring

Optional name of the agent or script making the call. It is recorded in the account's usage log so the user can see which client made which calls; the User-Agent is recorded when it is absent.

Response

OK

api_version'v1' required

The contract version, always v1. Field names in v1 do not change, and v1 stays available at least 12 months after a v2 ships.

as_of_sessionstring date nullable required

The last trading session the data describes, as an ISO date. Setups change nightly, so say it when presenting data and do not cache setups across days. Null on routes that do not read a dated artifact (account, tickers, history, families, universe and the demo index).

data_versionstring nullable

Identifier of the stored artifact the answer came from: the candidate-book generation for patterns, the sealed manifest for family records. Null when the route reads no versioned artifact.

disclaimer'Educational breakout-pattern analysis from TradingPal, not investment advice. Past results do not guarantee future outcomes.' required

The educational-use disclaimer, constant on every response. Repeat it when presenting a setup as something the user might act on.

symbolstring

The symbol asked for, upper-cased.

availableboolean

True when a current-schema pattern history is stored for the symbol. False when none is; occurrences is then empty and total is 0.

countinteger

Number of rows in occurrences.

totalinteger

Number of rows matching the outcome filter before the limit was applied.

Example response

{
  "api_version": "v1",
  "symbol": "NVDA",
  "available": true,
  "occurrences": [
    {
      "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
      }
    }
  ],
  "count": 1,
  "total": 1
}

Changes

No recorded changes to this operation across all 1 revision of this API.