Market Character
4 tools in this category.
Overview
Market Character includes 4 tools for this workflow area.
Available tools: get_market_structure, get_state_delta, get_symbol_session_profile, get_volatility_regime.
Use the parameter tables and examples below as the canonical request contract.
get_market_structure
Returns, for one symbol across up to 4 timeframes in one call, the labelled swing sequence (HH/HL/LH/LL), a per-timeframe trend (uptrend|downtrend|range), and structural break events (BOS/CHoCH) with the level broken — plus a cross-timeframe alignment summary. Reuses the same fractal swing detection as get_key_levels; close-based break confirmation. Distinct from the SMC/ICT zone detector in the sibling change (supply/demand zones, FVG, liquidity sweeps) — this tool answers "which way is each timeframe pointing", not "where might price react". Requires the analytics capability (Team+ tier).
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes | — | — |
timeframes | array | Yes | — | — |
swing_bars | integer | No | 100 | — |
Example Request
{
"tool": "get_market_structure",
"arguments": {
"symbol": "EURUSD",
"timeframes": [
"M15",
"H1"
]
}
}Usage Notes
- Use one timeframe for quick checks and multiple timeframes only when you need cross-timeframe analysis.
get_state_delta
Returns only what changed for one symbol since the caller's stored baseline: a newly closed bar, RSI(14) crossing 30/70, price crossing EMA(50), an ATR(14)/its-average regime shift, or a break of a baseline key level. Cold start, eviction, or a cache outage degrades to full_snapshot:true with the current state — never an error. since_iso is advisory (the diff is always against the stored baseline; baseline_at is always reported). Use different cursor_id values for concurrent agents on the same license/terminal. A repeat call for the same (license, terminal, cursor_id, symbol, timeframes) within 5s of the previous one is short-circuited to that prior response (rate_limited: true added) instead of firing a new EA dispatch round. Available at Free+ tier.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes | — | — |
since_iso | string | No | — | — |
timeframes | array | No | ["H1"] | — |
cursor_id | string | No | "default" | — |
Example Request
{
"tool": "get_state_delta",
"arguments": {
"symbol": "EURUSD"
}
}Usage Notes
- Use one timeframe for quick checks and multiple timeframes only when you need cross-timeframe analysis.
get_symbol_session_profile
Per (symbol, session) behavioural profile from the terminal's own M15 bar history: typical_range (median/p80 session high-low), drift (direction, median move, up_share), typical_extreme_minute (usual reversal point), and event_sensitivity (median range with vs without a HIGH-impact calendar event for the symbol's currencies). Every block reports n; below 10 samples the block is null with insufficient_samples. event_sensitivity can also be null with reason: symbol_unresolved, no_calendar_history, or calendar_unavailable (calendar lookup failed or exceeded its bound — not cached, retry). Session windows are DST-adjusted. Requires the analytics capability (Team+ tier).
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes | — | — |
session | string | Yes | — | (one of: tokyo, london, new_york, sydney) |
days | integer | No | 60 | — |
Example Request
{
"tool": "get_symbol_session_profile",
"arguments": {
"symbol": "EURUSD",
"session": "tokyo"
}
}get_volatility_regime
Classifies one symbol's current volatility character as compressed | expanding | trending | choppy, from ATR(14) vs its own 20-period average, Bollinger bandwidth percentile, and a 20-bar efficiency ratio — fixed, documented thresholds echoed in criteria. Distinct from get_risk_regime, which scores cross-asset risk-on/risk-off, not per-symbol volatility. Available at Free+ tier.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes | — | — |
timeframe | string | No | "H1" | (one of: M1, M5, M15, M30, H1, H4, D1, W1, MN1) |
lookback | integer | No | 100 | — |
Example Request
{
"tool": "get_volatility_regime",
"arguments": {
"symbol": "EURUSD",
"timeframe": "M1"
}
}Usage Notes
- Use one timeframe for quick checks and multiple timeframes only when you need cross-timeframe analysis.