Prop Firm
1 tool in this category.
Overview
Prop Firm includes 1 tool for this workflow area.
Available tools: manage_prop_firm_rules.
Use the parameter tables and examples below as the canonical request contract.
manage_prop_firm_rules
Manages the per-terminal prop-firm ruleset, dispatched by action. Requires the trade capability. action=set: configures the ruleset, evaluated server-side (survives this session). Rules: max_daily_loss_percent (vs the daily equity anchor), optional max_total_drawdown_percent with drawdown_mode (static = from initial balance; trailing = from the high-watermark) and drawdown_basis (balance or equity), optional profit_target_percent, min_trading_days, and consistency_max_day_share_percent (max share of total profit from a single day). A preset (ftmo | generic) pre-fills defaults but the stored ruleset is always fully resolved — explicit params win. reset_timezone (IANA) sets the daily boundary. initial_balance seeds the drawdown basis for mid-challenge onboarding (otherwise seeded from a live sample). One ruleset per (license, terminal); re-calling replaces rule values but preserves the watermark unless initial_balance is re-supplied. ADVISORY ONLY — this never blocks trades. Pass link_equity_guard: true to also install a matching equity guard (breach_action default block_new, via manage_equity_guard action=set) for actual enforcement. action=status: returns a decision-ready verdict: overall status (ok | warning | critical | breached), trade_advice (proceed | reduce_risk | block), max_safe_risk_percent for the next trade, per-rule headroom (percent and account currency) with human-readable reasons, days_traded, trailing watermark, and the consistency + profit-target / min-trading-days progress. Status is driven only by loss rules and a consistency violation; profit target and min trading days never worsen it. FAIL-SAFE: if the terminal is unreachable (no fresh equity sample) the response sets stale: true and forces trade_advice: block. Evaluation runs on a ~30s server-side sampling loop, so verdicts can lag intraday spikes — treat the bands as conservative. action=remove: removes the ruleset for the terminal (does not touch any linked equity guard — remove that separately with manage_equity_guard action=remove). Returns RULESET_NOT_FOUND if none exists.
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
action | string | Yes | — | (one of: set, status, remove) |
preset | string | No | — | (one of: ftmo, generic) |
max_daily_loss_percent | number | No | — | — |
max_total_drawdown_percent | number | No | — | — |
drawdown_mode | string | No | — | (one of: static, trailing) |
drawdown_basis | string | No | — | (one of: balance, equity) |
profit_target_percent | number | No | — | — |
min_trading_days | integer | No | — | — |
consistency_max_day_share_percent | number | No | — | — |
reset_timezone | string | No | — | IANA timezone for the daily reset boundary, e.g. 'Europe/Prague'. |
initial_balance | number | No | — | — |
initial_equity | number | No | — | Alias for initial_balance. Starting account balance/equity for drawdown basis. |
link_equity_guard | boolean | No | — | Install a matching equity guard for enforcement. |
breach_action | string | No | — | (one of: close_all, block_new, notify) |
Example Request
{
"tool": "manage_prop_firm_rules",
"arguments": {
"action": "set"
}
}