Reporter: catch up completed cycles on reset, report each firm's account list
When a fund transaction starts a new cycle (the days revert to 0), the cycle it ended is checked against the completion rule for a week after and named if it stood complete — its final day may never have been reported. Only for a cycle this instance saw begin: the clients now note where the ended cycle started as they move last_fund_date forward. Completions carry the cycle they belong to, and each firm reports its whole account list so the master can tell erased accounts and spot new funded ones. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
acb8879575
commit
a7e01b0138
+17
-3
@@ -33,9 +33,14 @@ export interface AccountTypeStats {
|
||||
* 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' }[];
|
||||
* cycle ready to withdraw, 'drain' = a drain stage's days booked;
|
||||
* cycle = the date of the fund transaction that started the cycle ('' for
|
||||
* the account's first cycle) — firm + name + cycle identify one
|
||||
* completed cycle. The list also carries caught-up entries: for up to 7
|
||||
* days after a fund transaction starts a new cycle, it includes the cycle
|
||||
* that just ended if that cycle had met the rule. Caught-up entries are
|
||||
* not counted in `completed`. Optional: older instances omit it. */
|
||||
completedAccounts?: { name: string; date: string; stage: number; kind: 'pass' | 'payout' | 'drain'; cycle: string }[];
|
||||
/** 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
|
||||
@@ -89,6 +94,15 @@ export interface FirmStats {
|
||||
personalDll?: number;
|
||||
/** Of targetHit: accounts that finished their cycle today. Optional. */
|
||||
completed?: number;
|
||||
/** Every account in the firm's broker list right now, dead ones included,
|
||||
* so the master can tell a saved account the firm erased from one still
|
||||
* listed, and spot a newly arrived funded account. size = the account
|
||||
* type's size (0 without one); payoutable = the type pays out — its
|
||||
* payoutable flag or withdrawal stages, the test that reports its
|
||||
* completions as 'payout' — null while the account has no type. Absent
|
||||
* when the firm isn't synced (unknown, not empty). Optional: older
|
||||
* instances omit it. */
|
||||
accounts?: { name: string; size: number; payoutable: boolean | null }[];
|
||||
/** 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