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. 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