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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes | — | — |
timeframe | string | Yes | — | (one of: M1, M5, M15, M30, H1, H4, D1, W1, MN1) |
bars | integer | No | 50 | — |
patterns | array | No | — | — |
Example Request
{
"tool": "detect_patterns",
"arguments": {
"symbol": "EURUSD",
"timeframe": "M1"
}
}Usage Notes
- Start with a smaller
count/barsvalue 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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes | — | — |
order_type | string | Yes | — | (one of: BUY, SELL, BUY_LIMIT, BUY_STOP, SELL_LIMIT, SELL_STOP) |
size | number | Yes | — | — |
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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
timeframe | string | No | "H4" | (one of: M1, M5, M15, M30, H1, H4, D1, W1, MN1) |
bars | integer | No | 24 | — |
Example Request
{
"tool": "get_currency_strength",
"arguments": {
"timeframe": "M1"
}
}Usage Notes
- Start with a smaller
count/barsvalue 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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
from_date | string | No | — | ISO date, default 90 days ago |
to_date | string | No | — | ISO date, default today |
symbol | string | No | — | — |
starting_balance | number | No | — | Omit 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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
from_date | string | No | — | ISO date, default 30 days ago |
to_date | string | No | — | ISO date, default today |
symbol | string | No | — | — |
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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes | — | — |
timeframe | string | No | "D1" | (one of: M1, M5, M15, M30, H1, H4, D1, W1, MN1) |
swing_bars | integer | No | 100 | — |
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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
symbol | string | Yes | — | — |
days | integer | No | 14 | — |
rollover_3days_day | integer | No | — | 0=Sunday..6=Saturday |
Example Request
{
"tool": "get_swap_calendar",
"arguments": {
"symbol": "EURUSD"
}
}