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, or whose bars cannot be fetched after one retry, are skipped and listed in skipped[] (with a reason in skipped_detail[]); 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"
}
}