Reporter: name the accounts whose final day completed their cycle
cycleCompletion() says whether today's P&L finished the current cycle (profit target, consistency and minimum days all met) — projectPerfectPath's completion probe run without and with today. The reporter counts those as `completed` (a subset of targetHit) and sends their names, so the master can keep an account a firm erases after it passes. Checked ahead of the lockout branch: a firm locking a passed account is no DLL loss. The local dashboard shows them with a purple Completed pill. Because the master keeps a completion for good, doubtful reads stay 'none': weekends, a Monday with a weekend-dated row, the first minutes after the 5 PM roll, and history that hasn't freshly loaded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
a47a86a59c
commit
acb8879575
+17
-3
@@ -25,6 +25,17 @@ export interface AccountTypeStats {
|
||||
/** Of the finished accounts, how many booked the day via their own
|
||||
* obfuscation stop (personal DLL) rather than a genuine loss. */
|
||||
personalDll?: number;
|
||||
/** Of targetHit: accounts whose day finished the current cycle — profit
|
||||
* target, consistency and minimum days all met once today's P&L booked
|
||||
* (the final day). Optional: older instances omit it. */
|
||||
completed?: number;
|
||||
/** The accounts behind `completed`, by name, so the master can keep them
|
||||
* after a firm erases a passed account. date = the trade date it
|
||||
* completed on; stage = 1 + withdrawals taken (its meaning depends on the
|
||||
* account type); kind: 'pass' = an eval passing, 'payout' = a funded
|
||||
* cycle ready to withdraw, 'drain' = a drain stage's days booked.
|
||||
* Optional: older instances omit it. */
|
||||
completedAccounts?: { name: string; date: string; stage: number; kind: 'pass' | 'payout' | 'drain' }[];
|
||||
/** Live accounts by trading days completed toward the current target:
|
||||
* {daysTraded: accountCount}. Feeds the master's payout calendar, so
|
||||
* accounts that are dead, DLL-locked, or in the red are left out — the
|
||||
@@ -33,9 +44,10 @@ export interface AccountTypeStats {
|
||||
daysHist?: Record<number, number>;
|
||||
/** Live accounts by the trading day they are on today (1 = first day of
|
||||
* the current cycle, counting traded days before today's trade date),
|
||||
* with how many of them hit today's target. Lets the master show
|
||||
* "Day 1 3/5 · Day 2 1/4". Optional: older instances omit it. */
|
||||
dayStats?: Record<number, { total: number; targetHit: number }>;
|
||||
* with how many of them hit today's target; completed = how many of those
|
||||
* hits finished the cycle. Lets the master show "Day 1 3/5 · Day 2 1/4".
|
||||
* Optional: older instances omit it. */
|
||||
dayStats?: Record<number, { total: number; targetHit: number; completed?: number }>;
|
||||
/** One entry per live account (negative ones included, dead ones not):
|
||||
* its actual progress toward the current target, so the master can
|
||||
* simulate the real required profit instead of assuming the winning
|
||||
@@ -75,6 +87,8 @@ export interface FirmStats {
|
||||
partial?: number;
|
||||
loss?: number;
|
||||
personalDll?: number;
|
||||
/** Of targetHit: accounts that finished their cycle today. Optional. */
|
||||
completed?: number;
|
||||
/** Per account type, summing to the firm's own totals. Optional so a master
|
||||
* on an older build simply ignores it. */
|
||||
accountTypes?: AccountTypeStats[];
|
||||
|
||||
Reference in New Issue
Block a user