Prop Firm Rules (FloorGuard)

io.github.kburrus64-maxv0.1.0更新於 Oct 4, 2026

Sourced prop-firm daily-loss and max-drawdown rules and a drawdown-room checker. Read-only, no auth.

已驗證Streamable HTTP可網頁執行FinanceData & Analytics

概覽

AI 產生的概覽

唯讀取得有來源的自營交易公司每日虧損與最大回撤規則,並提供回撤空間與部位規模檢查。

功能
提供一份公開的自營交易公司風險規則資料集(每日虧損上限、最大回撤、靜態或追蹤、鎖定水準、每日重置時間),涵蓋 FTMO、FundedNext、The5ers、E8 Markets、FundingPips、Alpha Capital、Blue Guardian、Topstep 與 Apex Trader Funding 等公司。工具包括 list_firms、get_rules(program) 與 check_drawdown(program, accountSize, currentEquity, ...),回傳每日與回撤下限、剩餘空間、green/amber/red 狀態以及最大部位規模。相同演算法也以 JavaScript 與 Python 函式庫及 REST API 提供。
適用情境
適合需要查詢某家公司公布的每日虧損或回撤規則,或檢查帳戶在觸及限制前還剩多少空間時使用。也適合計算部位規模,讓停損後仍高於較緊的下限。
執行需求
遠端 Streamable HTTP 端點,無需驗證、金鑰或環境變數,只需網路存取。另有本機 stdio 版本,以 npm/GitHub 套件形式提供,需要 Node.js 18+;相關函式庫需要 Node 18+ 或 Python 3.9+。
安裝前請注意
唯讀且僅供參考,不會下單或操作帳戶。規則經常變動,部分數值被標記為未核實或列入 unverifiedFields,依賴任何數字前請以公司現行規則與帳戶面板為準。不構成投資建議;未計入手續費、隔夜利息、滑點與進位。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Prop Firm Rules (FloorGuard),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "prop-firm-rules": {
      "type": "http",
      "url": "https://floorguard-kappa.vercel.app/api/mcp"
    }
  }
}

README

prop-firm-rules: prop firm drawdown rules dataset + calculator (JS & Python)

Free, sourced prop-firm drawdown rules for traders and AI agents: dataset, JS/Python calculator, REST API and a no-auth MCP server.

MCP (Claude, Cursor, any MCP client), no key needed:

json
{  "mcpServers": {    "prop-firm-rules": {      "type": "http",      "url": "https://floorguard-kappa.vercel.app/api/mcp"    }  }}

Claude Code: claude mcp add --transport http prop-firm-rules https://floorguard-kappa.vercel.app/api/mcp

Prefer to run it yourself? The repo ships a zero-dependency stdio server (mcp/server.mjs, Node 18+, works offline on the bundled dataset): {"mcpServers": {"prop-firm-rules": {"command": "npx", "args": ["-y", "github:kburrus64-max/prop-firm-rules"]}}}

▶ Live calculator (free, no sign-up, runs in your browser): floorguard-kappa.vercel.app/tools/drawdown-calculator.html

[prop-firm-rules: sourced prop firm drawdown rules dataset and calculator]

An open, sourced dataset of prop-firm risk rules (daily loss limit, max drawdown, static vs trailing, lock level, daily reset time) for FTMO, FundedNext, The5ers, E8 Markets, FundingPips, Alpha Capital, Blue Guardian, Topstep and Apex Trader Funding, plus a tiny zero-dependency drawdown calculator library in JavaScript and Python.

Every rule links to the firm's own help or rules page and carries a lastVerified date. Values that could not be confirmed on an official page are flagged verified: false or listed in unverifiedFields.

Try it without code: the free prop firm drawdown calculator on FloorGuard uses this same dataset and math in your browser.

Disclaimer: rules change. Prop firms update their rules often, and many let you pick different percentages at checkout. This data was checked on the date shown for each program. Always verify with your firm's current rules and your account dashboard before relying on any number here. Not affiliated with any prop firm; firm names are trademarks of their owners. Not financial advice.

Rules table (last verified 2026-10-04)

FirmProgramDaily loss limitMax drawdownDaily resetSourceVerified
FTMOFTMO Challenge 2-Step5% of initial balance, from day-start balance10%, Static00:00 CE(S)T (Prague)1 2 32026-10-04
FTMOFTMO Challenge 1-Step3% of initial balance, from day-start balance10%, Trailing (end-of-day)00:00 CE(S)T (Prague)12026-10-04
FundedNextStellar 2-Step (CFD)5% of initial balance, from day-start balance10%, Static00:00 server time (GMT+2, GMT+3 in DST)1 2 32026-10-04
The5ersHigh Stakes (2-Step)5% of higher of day-start balance/equity10%, Static00:00 MT5 server time (GMT+2 winter, GMT+3 summer)1 22026-10-04
E8 MarketsE8 One (default 4% daily / 6% dynamic)4% of initial balance, from day-start balance6%, Trailing (closed balance), locks at initial00:00 server time (time zone not stated on the page)1 22026-10-04 (unverified: reset time zone)
FundingPips2 Step Standard (5% daily)5% of higher of day-start balance/equity10%, Static00:00 platform time (UTC+3)12026-10-04
FundingPips2 Step Standard (3% daily add-on)3% of higher of day-start balance/equity10%, Static00:00 platform time (UTC+3)12026-10-04
Alpha CapitalAlpha Pro 10%5% of day-start balance10%, Static00:00 GMT+3 (broker time)1 2 32026-10-04
Alpha CapitalAlpha Pro 8%4% of day-start balance8%, Static00:00 GMT+3 (broker time)1 22026-10-04
Blue Guardian2 Step Standard4% of initial balance, from higher of day-start balance/equity8%, Static5:00 pm EST (New York)12026-10-04
TopstepTrading Combine (futures)None (see notes)$2,000 on 50K, $3,000 on 100K, $4,500 on 150K, Trailing (end-of-day), locks at initialEnd of trading day; Topstep's session is commonly cited as ending 3:10 pm CT / new day 5:00 pm CT (not confirmed on an official page)1 22026-10-04 (unverified: reset time)
Apex Trader FundingEOD Evaluation (futures)$500 on 25K, $1,000 on 50K, $1,500 on 100K, $2,000 on 150K (pauses trading, not a breach)$1,000 on 25K, $2,000 on 50K, $3,000 on 100K, $4,000 on 150K, Trailing (end-of-day)Trading day resets 6:00 pm ET12026-10-04
Apex Trader FundingIntraday Trailing Evaluation (futures)None (see notes)$1,000 on 25K, $2,000 on 50K, $3,000 on 100K, $4,000 on 150K, Trailing (intraday, incl. open P/L)Threshold does not reset daily12026-10-04

"Day-start" means the value at the firm's daily reset. "Higher of day-start balance/equity" means open profit at the reset raises the reference. Every limit is checked against equity (open P/L counts) unless the notes say otherwise. Per-program notes (for example Topstep's optional daily loss limit, Apex lock behaviour, Blue Guardian's Guardian Shield) are in data/firms.json.

The dataset also includes each firm's published copy-trading, multi-account and automation (EA/bot) policy (policy on each firm), with quotes and sources. unknown means the firm's pages did not answer the question.

What's in the repo

PathWhat
data/firms.jsonThe dataset (9 firms, 13 programs). Same content as data/firms.yaml
js/calc.mjsPure calculator, works in browsers and Node (no DOM, no deps)
js/index.mjsNode entry: calculator + bundled dataset + getProgram, getFirm, check helpers
python/prop_firm_rules/Python port with the same semantics (stdlib only)
js/test/, python/tests/Tests built mostly from the firms' own published worked examples
mcp/server.mjsLocal MCP server (stdio, zero deps): list_firms, get_rules, check_drawdown
scripts/rules-table.mjsRegenerates the table above

Usage

JavaScript (Node 18+)

bash
git clone https://github.com/kburrus64-max/prop-firm-rules && cd prop-firm-rulesnode --test js/test/
js
import { check, getFirm } from './js/index.mjs';
// FTMO 2-Step, $100k: balance closed yesterday at $102,000, equity now $101,200const r = check('ftmo_2step', {  size: 100000, currentBalance: 102000, currentEquity: 101200, todayPnl: -800,  stopDistance: 20, valuePerUnit: 10, bufferPct: 10,   // 20-pip stop, $10/pip/lot, keep 10% buffer});console.log(r.daily.floor, r.daily.room);       // 97000 4200console.log(r.drawdown.floor);                  // 90000 (static)console.log(r.maxLots, r.bindingLimit, r.status); // 18.5 'daily' 'green'
console.log(getFirm('topstep').policy.remoteServerTrading); // 'banned'

In the browser, import js/calc.mjs and fetch data/firms.json:

js
import { evaluate } from './calc.mjs';const data = await (await fetch('/data/firms.json')).json();const program = data.firms.find(f => f.id === 'topstep').programs[0];evaluate({ program, size: 50000, currentBalance: 50000, currentEquity: 50000, highWaterMark: 50500 }).drawdown.floor; // 48500

Python 3.9+

python
import sys; sys.path.insert(0, "python")import prop_firm_rules as pfr
r = pfr.check("apex_intraday_eval", size=50000, current_balance=50000, current_equity=50900, today_pnl=900)print(r["drawdown"]["floor"])   # 48900.0: the threshold trailed the open-profit peak
bash
python -m unittest discover -s python/tests

evaluate() inputs and outputs

InputMeaning
program / program idA program object from the dataset (or an id for check)
size, initialAccount size and starting balance (initial defaults to size)
currentBalance, currentEquityNow. The lower of the two is compared with each floor (conservative)
todayPnlChange in equity since the firm's daily reset (closed + open)
dayStartBalance, dayStartEquityValues at the reset (optional; derived from todayPnl if omitted)
highWaterMarkThe high a trailing drawdown trails from (EOD balance, closed balance, or intraday peak)
customDailyAmountYour own daily limit for programs without a mandatory one (e.g. Topstep's optional add-on)
stopDistance, valuePerUnit, lotStep, bufferPctPosition-size check: largest size whose stop-out keeps you above the tighter floor

Output: daily and drawdown (floor, room, amount, status), maxLots, bindingLimit and an overall status of green (more than 50% of each allowance left), amber (50% or less) or red (20% or less, or breached).

Python uses the same names in snake_case (current_balance, high_water_mark, ...).

Use from AI agents

The same dataset is served live, free and read-only (no key, CORS open, ~60 requests/minute per IP) by FloorGuard:

  • MCP server (Streamable HTTP, no auth): https://floorguard-kappa.vercel.app/api/mcp
    • Tools: list_firms, get_rules(program), check_drawdown(program, accountSize, currentEquity, ...)
    • Listed in the official MCP Registry as io.github.kburrus64-max/prop-firm-rules (see server.json).
    • Client config example: {"mcpServers": {"prop-firm-rules": {"type": "http", "url": "https://floorguard-kappa.vercel.app/api/mcp"}}}
  • Local MCP server (stdio, no network needed): npx -y github:kburrus64-max/prop-firm-rules, or after cloning, node mcp/server.mjs. Same three tools and the same math as the hosted endpoint.
  • REST API: /api/v1/firms, /api/v1/rules?program=ftmo_2step, /api/v1/check; OpenAPI 3.1 at /api/v1/openapi.json.
  • A2A agent card: /.well-known/agent-card.json
  • llms.txt: /llms.txt

Informational only, not financial advice; verify every value with the firm.

Static vs trailing drawdown in 30 seconds

  • Static: the floor is fixed at initial balance minus the allowance (FTMO 2-Step: $90,000 on $100k).
  • Trailing end-of-day: the floor follows your highest end-of-day balance (Topstep MLL, FTMO 1-Step, Apex EOD).
  • Trailing closed balance: follows your highest closed balance (E8 dynamic drawdown).
  • Trailing intraday: follows your peak including open profit, in real time (Apex intraday).
  • Lock: some trailing floors stop rising at a level such as the starting balance (Topstep, E8).

Longer explanations with sources: trailing vs static drawdown, FTMO daily loss rule, same 5% daily loss, different math.

Corrections welcome

Found a rule that changed? Open an issue with the firm's official URL and the quoted text (see CONTRIBUTING.md). Please don't submit values without an official source.

Limitations

  • Commissions, swaps, slippage and server-side rounding are not modelled; firms' platforms can differ by a few dollars.
  • Account-size lists marked sizesVerified: false were not confirmed on an official page.
  • Programs with features this model does not cover (e.g. Blue Guardian funded-account Guardian Shield, consistency rules, news restrictions, payout rules) are noted in notes but not calculated.

License

MIT. The dataset is a compilation of facts from the firms' public pages, with links back to them. Built by the team behind FloorGuard, a prop-account risk guard in development.

來源:README.md,提交 d9a7e54

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.1.0最新Oct 4, 2026