ZEUS LABQuant Drawdown & Bot Guard
無料・ブラウザの中だけで計算・外部通信なしFree · runs in your browser · zero network requests

深夜、取引履歴をもう一度開く。積み上げた日々の先で、ひとつの大きな損失だけが目に残る。画面を閉じる前に、自分で決めた限界を、もう一度確かめたい。Late at night, you open the trade history again. After all those days of work, one large loss holds your attention. Before closing the screen, you want to look once more at the limits you chose.

そのルールで、利益目標より先に
損失上限に触れる割合は。
How often do the loss limits come
before the profit target?

勝率・損益比・1回のリスク・口座のルールを入れると、5,000通りの経路を計算し、「目標に先に届いた/1日の損失上限に先に触れた/最大損失に先に触れた」の割合と、ドローダウンの深さを表示します。計算機です。売買の推奨でも、将来の予測でもありません。Enter a win rate, a payoff ratio, the risk per trade and the account rules. The page computes 5,000 paths and shows how often the target came first, how often the daily loss limit or the maximum loss came first, and how deep the drawdowns went. It is a calculator: not a recommendation to trade and not a forecast.

取引の前提Trading assumptions

口座のルールAccount rules

違反より先に利益目標へ到達Target reached before any breach–
先に損失上限へ到達(1日+最大)A loss limit came first (daily + maximum)–
指定の深さ以上のドローダウンDrawdown at least the watched depth–
最大ドローダウンの中央値Median maximum drawdown–
中央値と 5・25・75・95 パーセンタイルの残高(開始=100)Median and 5 / 25 / 75 / 95th percentile balance (start = 100)最大損失の線Maximum-loss line利益目標の線Profit-target line

標準の表示は、最初の「利益目標への到達」または「失格(損失上限への到達)」の時点で停止する経路です。停止した時点の残高を、以後のグラフでもそのまま保持し、最大ドローダウンも停止時点までで集計します。残高は0より下には行きません(0で停止)。1件の取引で1日の損失上限と最大損失に同時に達した場合は「同時到達」として別に数えます。「継続する仮想経路」に切り替えると、違反の後も最後まで取引を続けた場合の数字になります。The standard view stops each path at the first of “profit target reached” or “disqualified (a loss limit reached)”. The balance at that moment is held for the rest of the chart, and the maximum drawdown is measured up to that moment. The balance cannot go below 0 (the path stops at 0). A trade that reaches the daily limit and the maximum loss together is counted separately as “both”. The hypothetical view keeps trading to the end after a breach.

前提:勝ちは毎回「損益比 × リスク」、負けは毎回「リスク」で固定し、各取引は独立とします。リスクは開始資金に対する割合で一定です。ルールは取引1件ごとに判定し、1日の損失上限はその日の開始残高に対する割合です。この計算機は、入力した損益条件とルールの下で、損失上限への到達頻度を計算するものです。相場の急変の予測や、各プロップ会社の実際の規則による判定を再現するサービスではありません。5,000経路の標本による推定なので、「0.0%」は「起こりえない」という意味ではありません(5,000回の中で1回も出なかった、または表示精度(0.1%)未満だった、という意味です)。Assumptions: every win is payoff × risk, every loss is the risk, trades are independent, and the risk is a constant share of the start balance. Rules are checked after every trade; the daily limit is a share of that day's opening balance. This calculator computes how often the loss limits are reached under the profit-and-loss conditions and rules you enter. It does not forecast sudden market moves and does not reproduce any prop firm's actual rule evaluation. It is an estimate from 5,000 sampled paths, so “0.0%” does not mean “cannot happen” — it means it did not occur in 5,000 paths, or occurred below the displayed precision (0.1%).

この計算は、入力された数字の算術です。相場・銘柄・売買のタイミングは扱わず、特定の業者や商品を勧めません。投資助言ではありません。口座のルールは提供元ごとに違い、変更もされます。必ず現在の公式ルールの数字を入れてください。取引では、投じた資金のすべてを失うことがあります。This is arithmetic on the numbers you enter. It does not deal with markets, instruments or timing, and it recommends no firm or product. It is not investment advice. Account rules differ between providers and change; enter the numbers from the current official rules. Trading can lose all of the money you commit.

仮の数字ではなく、自分の取引履歴で。On your own trade history, not on assumed numbers.

完全版は、手元で動く3つの道具です。売買ロジック・シグナル・予測は含まず、取引所へも接続しません。Python標準機能のみ。The full kit is three tools that run on your machine. No trading logic, signals or forecasts, and no connection to any exchange. Python standard library only.

取引履歴のモンテカルロ監査Monte Carlo audit of your CSV

決済済み取引のCSVを読み、取引日を1日単位で1万回並べ替えて、HTMLの報告書にします。ドローダウンの分布、損失の下限に達した割合、ルールの違反と到達の割合、各数字の標本誤差。同じシードなら同じ結果になります。Reads your closed-trade CSV, resamples whole trading days 10,000 times and writes an HTML report: drawdown distribution, loss-floor frequency, rule breach and target shares, with the sampling error of each number. Same seed, same result.

日次損失の遮断器Daily-loss circuit breaker

Botを子プロセスとして起動し、当日の損失や最高残高からの下落が上限に達したら停止して、翌日までロックします。止めるのはプロセスです。ポジションの決済や注文の取消は行いません。Starts your bot as a child process, stops it when the day's loss or the fall from the peak reaches your limit, and locks it until the next day. It stops a process; it does not close positions or cancel orders.

取引所キーと復元フレーズの関所Gate for exchange keys and seed phrases

取引所APIのシークレット、EVM・Solanaの秘密鍵、12〜24語のBIP-39フレーズを、git commit と git push の時点で止めます。4区分の結果で、検査の範囲も表示します。Blocks exchange API secrets, EVM and Solana private keys and 12–24-word BIP-39 phrases at git commit and git push, with four result classes that state the scope of the check.

購入前に確かめられる仕様Specification you can check before buying

① 取引履歴CSVの形1. The trade-history CSV

1行が1つの決済済み取引です。必須の列は損益だけ(列名は pnl・profit・net profit・realized pnl・損益 などを自動で見つけ、--pnl-column でも指定できます)。決済日時の列(close_time・date・timestamp・日時 など)は任意で、あれば取引を日ごとにまとめます。日付の区切りはファイルに書かれた日時のままです(UTCオフセットつきの日時はそのオフセットの日付、UNIX時刻はUTCの日付)。別のタイムゾーンで区切りたい場合は、書き出す側で変換してください。日時の列が無い場合は、--trades-per-day の件数ごとに1日として扱います。One closed trade per row. The only required column is profit/loss (found by name: pnl, profit, net profit, realized pnl …, or set with --pnl-column). A close-time column (close_time, date, timestamp …) is optional and groups trades into days. Days are cut as the timestamps are written (a timestamp with a UTC offset uses that offset's date; UNIX time uses the UTC date). Convert on export if you need another time zone. Without a date column, trades are grouped by --trades-per-day.

損益の単位は口座通貨の金額です(1,234.50、(120)、−35.5、通貨記号つきを読めます)。手数料は道具の側では差し引きません。手数料込みで監査したい場合は、手数料を引いた後の損益の列を使ってください。欠損:損益を数値として読めない行は除き、除いた件数を報告書に表示します。重複:重複行の検出と削除は行いません。同じ取引が2行あれば2件として数えるので、書き出しの時点で確かめてください。Unit: amounts in the account currency (1,234.50, (120), −35.5 and currency symbols are read). Fees are not subtracted by the tool; use a net-of-fees column if you want them included. Missing values: rows whose amount cannot be read are skipped, and the report states how many. Duplicates are not detected or removed: the same trade on two rows counts twice, so check your export.

close_time,symbol,side,pnl
2026-01-05 10:12,SAMPLE,long,182.40
2026-01-05 15:47,SAMPLE,short,-96.10
2026-01-06 09:31,SAMPLE,long,-104.85

合成のサンプルCSV(242件・誰の取引記録でもありません)Synthetic sample CSV (242 rows; not anyone's trading record)

② 取引日単位の再標本化2. Resampling by trading day

各経路は、履歴の取引日を1日単位で無作為に(重複ありで)取り出して並べます。1日の中の取引の順序と大きさはそのまま保たれるので、同じ日に固まって出た損失は固まったまま扱われます。乱数はシード固定で、同じファイル・同じ指定・同じシードなら同じ数字になります。既定は1万経路、1経路の日数は履歴の取引日数です。ルール(1日の損失上限・最大損失・利益目標)は取引1件ごとに判定し、最初に起きた時点で経路を止めます。日と日のつながり(連敗が続く局面など)は再現しません。Each path draws whole trading days from your history at random, with replacement. The order and size of trades inside a day are kept, so losses that clustered within a day stay clustered. The generator is seeded: same file, same options, same seed, same numbers. The default is 10,000 paths, each as long as the number of trading days in the file. Rules (daily loss limit, maximum loss, profit target) are checked after every trade, and the path stops at the first event. Dependence between days, such as losing regimes, is not reproduced.

③ プロセス遮断器のつなぎ方3. Connecting the process breaker

Bot(またはご自身のスクリプト)が、口座の評価額を1つのファイル(数値だけ、または {"equity": 9876.5})に書き続けます。遮断器はBotを子プロセスとして起動し、既定で2秒ごとにそのファイルを読みます。Your bot (or a script of yours) keeps writing the account equity to one file (a bare number, or {"equity": 9876.5}). The breaker starts the bot as a child process and reads the file every 2 seconds by default.

python3 circuit_breaker.py --max-daily-loss-pct 3 --max-drawdown-pct 8 \
    --equity-file state/equity.json --stale-seconds 120 --utc-offset 9 \
    -- python3 my_bot.py

更新の期限:--stale-seconds の間ファイルが更新されなければ停止、--missing-seconds(既定60秒)の間数値を読めなければ停止します。停止の合図:まずSIGTERM、--grace(既定10秒)後も動いていればSIGKILL。子孫プロセス:macOSとLinuxでは、Botを独立したプロセスグループで起動し、Botが起動した子プロセスにも同じ合図を送ります。Windowsでは起動したプロセス本体だけを終了します(子プロセスは対象外)。当日のロック:停止後は、日付が変わるまで同じコマンドでBotを起動しません(区切りは --utc-offset)。注文の取消やポジションの決済は行いません。建玉と待機中の注文はそのまま残ります。評価額の読み取りには間隔があるため、急な値動きでは上限を超えた後に止まることがあります。Freshness: the breaker stops the bot when the file has not changed for --stale-seconds, or when no number can be read for --missing-seconds (default 60). Stop signal: SIGTERM first, then SIGKILL if it is still running after --grace (default 10 s). Descendants: on macOS and Linux the bot runs in its own process group and its child processes get the same signal. On Windows only the started process is terminated; its children are not. Day lock: after a stop, the same command does not start the bot again until the date changes (--utc-offset sets the boundary). It does not cancel orders or close positions. Open positions and resting orders stay as they are. Equity is read at intervals, so in a fast move the stop can come after the limit has been passed.

④ 報告書の見本(入力・設定・シード・SHA-256つき)4. Sample report (with input, settings, seed and SHA-256)

上のサンプルCSVを、開始資金10,000・1日の損失上限5%・最大損失10%・利益目標8%・1万経路・シード1で監査した報告書です。報告書の末尾に、入力ファイルのSHA-256が印字されます。手元で同じコマンドを実行すると、数字が一致します。The sample CSV above, audited with a start balance of 10,000, a 5% daily loss limit, a 10% maximum loss, an 8% profit target, 10,000 paths and seed 1. The input file's SHA-256 is printed at the end of the report. Running the same command yourself gives the same numbers.

python3 mc_audit.py sample_trades.csv --start-balance 10000 \
    --daily-loss 5 --max-loss 10 --profit-target 8 --runs 10000 --seed 1

報告書の見本を開くOpen the sample report

自分で決めた限界を、見返せる記録に。
画面を閉じる前に、条件を確かめるひとときを。
Keep a record of the limits you chose.
Before the screen goes dark, take a moment to check the assumptions.

ローンチ割引:購入画面でコード LAUNCH20 を入れると20%引き(先着20回・有料商品共通)。Launch code: enter LAUNCH20 at checkout for 20% off (first 20 uses, across the paid products).

$99買い切り・1名one-time · one person

テスト22件・合成のサンプル履歴・日英の手引き・商用ライセンスつき。ZIPの検査値(SHA-256)を販売ページに掲載しています。22 tests, a synthetic sample history, guides in English and Japanese, commercial license. The ZIP's SHA-256 is printed on the store page.

CSV監査と遮断器を購入 — $99Get the CSV Audit & Process Breaker — $99
まとめて:All-in-One Sovereign Bundle — $199Everything together: All-in-One Sovereign Bundle — $199

このキット($99)+ Zero-Trace Ship Kit 完全版($39)+ Autonomous Harness & Telemetry Kit($149)。1名・買い切り。This kit ($99) + Zero-Trace Ship Kit full edition ($39) + Autonomous Harness & Telemetry Kit ($149). One person, one-time.

→

FAQ

これは売買の助言ですか。Is this trading advice?

いいえ。入力した数字から割合を計算する道具です。何を・いつ・どれだけ売買するかは示さず、特定の業者・取引所・商品を評価も推奨もしません。No. It computes shares from the numbers you enter. It does not say what, when or how much to trade, and it does not rate or recommend any firm, exchange or product.

結果はどこまで信頼できますか。How far can the result be trusted?

前提が正しい範囲までです。この無料版は、勝ちと負けの大きさを固定し、各取引を独立とする単純な模型です。5,000経路の場合、50%付近の割合には約±0.7ポイントの標本誤差があります(1標準誤差・式による計算値)。前提そのもののずれは、この誤差には含まれません。As far as the assumptions hold. The free version uses fixed win and loss sizes and independent trades. With 5,000 paths a share near 50% carries a sampling error of about ±0.7 points (one standard error, from the formula). Errors in the assumptions themselves are not part of that figure.

入力した数字はどこかへ送られますか。Is anything I enter sent anywhere?

送られません。このページは外部への通信をブラウザの設定(CSP)で禁じており、解析もCookieも使っていません。ページを保存すれば、オフラインでも動きます。No. The page forbids network requests through its content security policy and uses no analytics or cookies. Saved to disk, it works offline.

遮断器があれば、損失は上限で止まりますか。Does the breaker cap my loss at the limit?

いいえ。遮断器が止めるのは手元のBotのプロセスで、止めた時点の建玉と注文はそのまま残ります。評価額の読み取りには間隔があり、急な値動きでは上限を超えた後に止まることがあります。取引所の側の逆指値などと併せて使う前提の道具です。No. The breaker stops your local bot process; positions and orders open at that moment stay as they are. Equity is read at intervals, so in a fast move the stop can come after the limit has been passed. It is meant to be used together with protective orders at the venue.