MTContext Docs
Tool Reference

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

NameTypeRequiredDefaultDescription
symbolstringYes——
timeframesarrayYes——
swing_barsintegerNo100—

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

NameTypeRequiredDefaultDescription
symbolstringYes——
since_isostringNo——
timeframesarrayNo["H1"]—
cursor_idstringNo"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

NameTypeRequiredDefaultDescription
symbolstringYes——
sessionstringYes—(one of: tokyo, london, new_york, sydney)
daysintegerNo60—

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. Rules apply in order: trending if the efficiency ratio is at or above its minimum (whatever the ATR ratio or bandwidth), else compressed if ATR ratio and bandwidth percentile are both low, else expanding if either is high, else choppy. Distinct from get_risk_regime, which scores cross-asset risk-on/risk-off, not per-symbol volatility. Available at Free+ tier.

Parameters

NameTypeRequiredDefaultDescription
symbolstringYes——
timeframestringNo"H1"(one of: M1, M5, M15, M30, H1, H4, D1, W1, MN1)
lookbackintegerNo100—

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.

On this page