MTContext Docs
Tool Reference

Computed Analytics

7 tools in this category.

Overview

Computed Analytics includes 7 tools for this workflow area.

Available tools: detect_patterns, estimate_fill, get_currency_strength, get_equity_curve, get_execution_quality, get_key_levels, get_swap_calendar.

Use the parameter tables and examples below as the canonical request contract.

detect_patterns

Runs deterministic rule-based candlestick pattern detection over recent bars: engulfing, hammer, shooting star, doji, inside/outside bar, morning/evening star. Detection thresholds are fixed constants echoed in the response criteria field. Patterns are locations in the data, not trade signals. Available at Pro+ tier.

Parameters

NameTypeRequiredDefaultDescription
symbolstringYes
timeframestringYes(one of: M1, M5, M15, M30, H1, H4, D1, W1, MN1)
barsintegerNo50
patternsarrayNo

Example Request

{
  "tool": "detect_patterns",
  "arguments": {
    "symbol": "EURUSD",
    "timeframe": "M1"
  }
}

Usage Notes

  • Start with a smaller count/bars value while iterating, then increase once the workflow is stable.
  • Use one timeframe for quick checks and multiple timeframes only when you need cross-timeframe analysis.

estimate_fill

Estimates the cost of a hypothetical order: the current spread (always measurable) plus this license's own audited slippage for that order type and hour of day, when enough fills exist. order_type BUY/SELL are market orders (MT5 has no separate 'market' type — BUY/SELL execute immediately at the current price). basis (measured | measured_partial | spread_only) and confidence say exactly how the number was derived — never an invented figure. Stop/limit orders borrow market-order (BUY/SELL) slippage as a labelled lower bound, since pending fills carry no requested-vs-filled pair. Advisory only — never blocks or modifies place_order. Requires the analytics capability (Team+ tier).

Parameters

NameTypeRequiredDefaultDescription
symbolstringYes
order_typestringYes(one of: BUY, SELL, BUY_LIMIT, BUY_STOP, SELL_LIMIT, SELL_STOP)
sizenumberYes

Example Request

{
  "tool": "estimate_fill",
  "arguments": {
    "symbol": "EURUSD",
    "order_type": "BUY",
    "size": 1
  }
}

get_currency_strength

Ranks the 8 major currencies (USD EUR GBP JPY CHF CAD AUD NZD) by normalised % change, computed from bars across up to 28 major crosses in the terminal's Market Watch. Strongest first. Symbols missing from Market Watch are skipped and listed in skipped[]; currencies with fewer than 4 contributing pairs are flagged low_confidence. Requires the analytics capability (Team+ tier).

Parameters

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

Example Request

{
  "tool": "get_currency_strength",
  "arguments": {
    "timeframe": "M1"
  }
}

Usage Notes

  • Start with a smaller count/bars value while iterating, then increase once the workflow is stable.
  • Use one timeframe for quick checks and multiple timeframes only when you need cross-timeframe analysis.

get_equity_curve

Returns a continuous realized-equity time series from closed-trade deal history, one point per closed trade: running equity, peak equity, drawdown_pct, and — when a journal entry links the ticket — setup and note_id. The curve is realized (steps at close time only), NOT mark-to-market — it cannot show an open position's excursion. exit_reason is null unless a linked journal entry supplies one; it is never inferred from price. Available at Free+ tier.

Parameters

NameTypeRequiredDefaultDescription
from_datestringNoISO date, default 90 days ago
to_datestringNoISO date, default today
symbolstringNo
starting_balancenumberNoOmit to report cumulative realized P&L starting at 0 instead of absolute equity.

Example Request

{
  "tool": "get_equity_curve",
  "arguments": {}
}

get_execution_quality

Reports slippage statistics (requested vs filled price) for live market orders placed through MT-MCP: average, median, and worst slippage in points, overall and per symbol. Measurement starts from when fill auditing was enabled — earlier periods return DATA_INSUFFICIENT with the earliest measurable date. Requires the analytics capability (Team+ tier).

Parameters

NameTypeRequiredDefaultDescription
from_datestringNoISO date, default 30 days ago
to_datestringNoISO date, default today
symbolstringNo

Example Request

{
  "tool": "get_execution_quality",
  "arguments": {}
}

get_key_levels

Computes support/resistance key levels for a symbol: classic + Fibonacci pivot points from the prior period, swing highs/lows (fractal detection), and psychological round numbers near the current price. Each level includes its distance from the current price. Available at Free+ tier.

Parameters

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

Example Request

{
  "tool": "get_key_levels",
  "arguments": {
    "symbol": "EURUSD",
    "timeframe": "M1"
  }
}

Usage Notes

  • Use one timeframe for quick checks and multiple timeframes only when you need cross-timeframe analysis.

get_swap_calendar

Projects upcoming daily rollovers for a symbol, flagging triple-swap days and reporting the carry cost per lot. The 3-day rollover weekday is broker/instrument-dependent (commonly Wednesday for FX, often Friday for metals/indices/CFDs) and GET_SYMBOL_INFO does not currently report it — defaults to Wednesday (rollover_3days_source: assumed_wednesday) unless rollover_3days_day overrides it. Available at Free+ tier.

Parameters

NameTypeRequiredDefaultDescription
symbolstringYes
daysintegerNo14
rollover_3days_dayintegerNo0=Sunday..6=Saturday

Example Request

{
  "tool": "get_swap_calendar",
  "arguments": {
    "symbol": "EURUSD"
  }
}

On this page