Browser-local result-sheet coverage check

Crypto signal result-sheet completeness stress test

Compare unique supplied rows with a declared period total, keep unresolved states visible, and test how one explicit hypothetical equal-loss assumption changes observed net R and profit factor. The calculator runs browser-local with no upload.

What enters the countEvery unique supplied signal identifier, including resolved, open, cancelled, and no-fill rows.
What enters observed net ROnly numeric win, loss, and break-even rows. Open and non-executed rows stay separate.
What the conclusion meansDescriptive coverage and sensitivity arithmetic, not provider verification, omitted-loss proof, or prediction.

Decision scope

What the completeness stress test can decide

This tool can decide whether a supplied CSV follows its required-column schema, whether signal identifiers are unique after trimming and Unicode caseless normalization, how many rows are resolved, open, cancelled, or no-fill, and whether an entered declared period total is at least as large as the supplied population. When a valid declared total is present, it calculates supplied-row coverage, resolved-row coverage, and the declared row gap. Those are reproducible statements about the inputs in this browser session.

It can also recalculate observed resolved net R and observed profit factor under two user-visible sensitivity assumptions. Declared-gap stress treats each count difference between the entered declared total and the supplied row count as one hypothetical loss of the selected R magnitude. Open-plus-declared-gap stress adds each supplied open row to that modeled count. The tool never converts cancelled or no-fill rows into losses because those labels describe non-executed states.

The output cannot decide whether the entered total is true, whether an archive itself is complete, whether a source post was edited or deleted, whether a row was executable, whether costs are accurate, or whether a provider acted intentionally. A count match is not authenticity proof. A row gap is not proof that any record was omitted. The stress result is not evidence that a modeled loss occurred. These limits are part of the method, not optional disclaimers after a favorable number.

Read before testingUse one named period and one stable signal identifier per row. Enter the publisher's declared period total only when the same period and counting rule are explicit. Choose a hypothetical equal-loss assumption you can explain. The page does not infer those inputs.

Interactive calculation

Run the browser-local test

Required columns are signal_id, outcome, and net_r. Optional columns are closed_at_utc, source_url, fees_included, and notes. The wider CSV produced for the existing result-sheet validator remains compatible: additional nonblank columns are retained in the local input, reported as ignored, and do not suppress this calculation. Accepted outcomes are win, loss, break_even, open, cancelled, and no_fill. Resolved rows require net R. Open, cancelled, and no-fill rows require a blank net-R cell.

Processing stays local because the embedded script decodes strict UTF-8 bytes and performs the calculation inside this page. Analyzer inputs use no fetch request, upload endpoint, cookie, browser storage, or telemetry call. The optional JSON export contains counts, issue codes, assumptions, and aggregate metrics; it excludes the original CSV, signal identifiers, notes, source URLs, provider names, and account or wallet identifiers.

declared row gap = entered declared period total - unique supplied rows
supplied-row coverage = unique supplied rows / entered declared period total * 100
declared-gap stress net R = observed net R - declared row gap * hypothetical equal loss R
Result-sheet inputs

Maximum 256,000 UTF-8 bytes, 2,000 nonblank data rows, 40 columns, 12,000 Unicode code points per cell, and 12 decimal places for net R. Change any input and the prior result is hidden until the test runs again.

The selected file is read by this browser only.
Count every distinct signal identifier the publisher says belongs to this same period.
Required scenario input. It is not an estimate and not evidence of an omitted outcome.
No result set loaded

Metrics stay suppressed until a structurally usable result set is tested.

Supplied row states

Unique supplied rows-
Resolved rows-
Open rows-
Cancelled or no-fill rows-

Declared-period comparison

Entered declared period total-
Declared row gap-
Supplied-row coverage-
Resolved-row coverage-

Observed resolved aggregate

Observed resolved net R-
Observed profit factor-

Declared-gap scenario

Declared-gap stress net R-
Declared-gap stress profit factor-

Open-row sensitivity

Open-plus-declared-gap stress net R-
Open-plus-declared-gap stress profit factor-
Equal losses to non-positive net R-

SeverityCodeRowMessageRepair

Population arithmetic

How supplied and declared coverage differ

The supplied population is observable inside the CSV. After the header, each nonblank row must carry one signal identifier. Identifiers are trimmed and compared without case distinctions, so ABC-12 and abc-12 cannot occupy two rows. Unique supplied rows include every accepted outcome because a complete period record needs to preserve unresolved and non-executed states rather than report only closed winners and losses.

The declared period total is a separate, user-entered denominator. It should come from a statement that uses the same period, timezone, signal-unit rule, and treatment of revisions as the CSV. If a provider says that a monthly record contains 100 signals, but the export contains 80 unique rows, the declared row gap is 20 and supplied-row coverage is 80 percent. That arithmetic does not identify which rows are absent or what their outcomes were.

Resolved-row coverage is intentionally lower when open, cancelled, or no-fill records exist. It divides only win, loss, and break-even rows by the same declared total. This distinguishes two questions: how much of the declared population is represented at all, and how much has a numeric resolved outcome. A row can improve supplied-row coverage without entering observed net R. That is not a defect; it prevents unresolved states from disappearing.

When no credible declared total exists, the tool does not invent one from the supplied row count. It still validates rows and calculates observed resolved net-R components, but it suppresses both coverage percentages, the declared row gap, and declared-gap stress. The state reads "Rows parsed; declared total not supplied." This is more limited than assuming the file contains the whole population, and that limitation remains visible in the export.

Sensitivity, not accusation

How the two declared-gap scenarios work

The declared-gap stress scenario begins only when a valid declared total is larger than the unique supplied-row count. It multiplies the declared row gap by the hypothetical equal-loss assumption. The modeled amount is added to the absolute negative net-R denominator and subtracted from observed net R. Gross positive R is unchanged. The calculation answers a narrow question: what would these aggregates become if each declared count difference were assigned this exact loss size?

The open-plus-declared-gap stress scenario uses the same method but adds one modeled loss for each supplied open row. It does not claim that an open row ultimately lost, that every open row had equal risk, or that the position was executed. It simply exposes how much an aggregate depends on leaving both the declared row gap and unresolved rows outside realized loss arithmetic. Because cancelled and no-fill rows describe non-execution, they remain visible counts but are never included in either modeled loss total.

The hypothetical equal-loss assumption is a user-controlled sensitivity value. One R can be useful when the sheet defines R consistently, but the correct review value may differ if stops, partial exits, or risk units differ. The page rejects zero, negative, exponent-form, out-of-range, and more-than-12-decimal inputs. It does not search for a dramatic value or optimize a conclusion.

The "equal losses to non-positive net R" metric is the smallest whole count whose cumulative stress loss meets or exceeds positive observed net R. If observed net R is already zero or negative, the count is zero. This is deterministic offset arithmetic, not the probability of a future losing streak, not a confidence interval, and not a claim about how many records are actually missing.

Evidence boundary

Why a complete count is not authenticity proof

A CSV can contain exactly the number of rows stated in a caption and still fail a source audit. Identifiers can be invented, timestamps can be revised, losing calls can be replaced with different calls, execution prices can be unattainable, or the declared total can omit a separate category. Conversely, a row gap can come from an export failure, a counting convention, a duplicate, or an unresolved correction rather than deliberate concealment. Count equality and count difference both require context.

Verification requires source-level work that this browser-local calculator does not perform: stable provider identity, original timestamped calls, immutable or well-documented edit history, a declared population, every loss and unresolved state, exchange and market context, fill and fee assumptions, and independent review. The calculator does not contact Telegram, Discord, an exchange, a blockchain, an archive, or a provider. It never awards a rating or verification mark.

The SEC advises readers to understand how a performance claim was calculated, including what was included or omitted and how fees affect the outcome. The CFTC warns that selected historical trades and hypothetical results can differ from actual market conditions. Those observations explain why row-level reconciliation matters, but they do not turn a structural anomaly into a legal or factual verdict. This page uses neutral issue labels and concrete next steps rather than accusation language.

Denominator discipline

How to define one result period

Write the period definition before comparing counts. Record the start and end timestamp, timezone, whether boundary timestamps are inclusive, and which publication channel supplies the calls. Decide whether one signal means one initial call, one asset-direction idea, each re-entry, each target, or each edited post. A declared total and a CSV are comparable only when they use the same unit.

Preserve revisions rather than silently overwriting them. A corrected entry can retain the original identifier with a revision note, or a clearly linked replacement identifier, but it should not appear as two independent wins. Duplicate identifiers are rejected because double-counting would inflate the supplied population. The tool does not decide how a provider should number revisions; it requires the chosen rule to stay consistent.

Include open, cancelled, and no-fill calls in the period population when the declared total includes them. If the publisher declares only closed trades, state that narrower denominator and do not compare it with an all-signal export. Likewise, avoid mixing free-channel calls, premium calls, automated alerts, and discretionary updates unless the declared total explicitly combines them. Separate populations make later comparisons interpretable.

A useful audit note names who supplied the file, when it was captured, the file hash, the declared total source, the fee policy, and any known export limitation. Those details are outside this calculator's export because it deliberately avoids identifiers and URLs. Keep them in a separate evidence ledger when they are needed for a provider review.

Outcome handling

How to read open, cancelled, and no-fill rows

An open row belongs to the supplied period record but lacks a resolved net-R outcome at the cutoff. It raises an OPEN_ROWS_PRESENT notice and enters only the open-plus-declared-gap scenario. The page does not mark it as a win or loss. Reviewers should preserve the cutoff date so a later closure does not rewrite what was known at the original measurement time.

A cancelled row says the call was withdrawn before the method treats it as executed. A no-fill row says the stated entry was not reached or not filled under the publisher's rule. Both remain in the supplied count when they are part of the declared population, but neither receives a modeled loss. Their practical significance depends on publication timing, entry rules, and whether followers could have acted before cancellation.

Win, loss, and break-even labels require a numeric net_r. Arithmetic follows the numeric sign. A win label paired with negative R, a loss label paired with positive R, or a break-even label paired with nonzero R produces OUTCOME_SIGN_MISMATCH. The row remains calculable so the discrepancy stays visible rather than being silently repaired.

The optional fees_included field accepts yes, no, unknown, or blank. A resolved row without yes produces a warning because spread, commission, funding, slippage, and partial fills can change net results. The calculator accepts supplied R for internal arithmetic but does not certify the unit definition or translate R into a wallet balance or account return.

Calculation formulas

Calculation formulas

declared row gap = declared period total - unique supplied rows
supplied-row coverage = unique supplied rows / declared period total * 100
resolved-row coverage = resolved rows / declared period total * 100

Gross positive R is the sum of positive numeric net-R values among resolved rows. Absolute gross negative R is the magnitude of negative numeric values. Observed net R is their signed sum. Observed profit factor is gross positive R divided by absolute gross negative R. When no resolved negative value exists, observed profit factor is not calculable; the page never displays infinity. If gross positive R is zero and a negative denominator exists, profit factor is exactly zero.

declared-gap stress R = declared row gap * hypothetical equal loss R
declared-gap-only stress net R = observed net R - declared-gap stress R
declared-gap-only stress profit factor = gross positive R / (gross negative R + declared-gap stress R)

Open-plus-declared-gap stress substitutes declared row gap + open rows for the modeled count. Cancelled and no-fill counts are excluded. Equal losses to non-positive net R uses the ceiling of positive observed net R divided by the stress-loss size. Every net-R and stress value is parsed into a signed integer at a fixed scale of 1012. Sums and comparisons stay in integers; published ratios are rounded half-up to 12 decimal places.

Fixed-scale arithmetic prevents familiar binary floating-point drift from changing a fixture such as 0.123456789012 minus 0.023456789012. Values with finer precision are rejected instead of silently rounded. The published calculation fixtures include exact decimal strings so later releases can reproduce the same outputs independently.

Worked synthetic example

Worked synthetic example

The synthetic example enters a declared period total of 10 and supplies 8 unique rows. Seven rows are resolved, one is open, and none is cancelled or no-fill. The declared row gap is 2. Supplied-row coverage is 80 percent and resolved-row coverage is 70 percent.

Resolved rows contain 5.25 R gross positive, 1.5 R absolute gross negative, and 3.75 R observed net. Observed profit factor is 3.5. With a 1 R hypothetical equal-loss assumption, declared-gap stress models 2 rows and changes net R to 1.75 and profit factor to 1.5. Open-plus-declared-gap stress models 3 rows and changes net R to 0.75 and profit factor to 1.166666666667.

The smallest number of 1 R equal losses needed to make the observed net R non-positive is 4. That does not mean four losses were omitted or likely. It describes one sensitivity boundary for invented rows. Every identifier, timestamp, URL, and outcome in the starter is synthetic and represents no provider, exchange, account, or recommendation.

Synthetic comparison of a ten-signal declared total, eight supplied rows, seven resolved rows, and three open-plus-declared-gap stress rows.

Download the synthetic CSV or inspect the machine-readable calculation fixtures. These are deterministic test artifacts, not provider performance data.

Reproducibility

Fixtures cover valid, invalid, unresolved, and fixed-scale cases

The generator executes every fixture before writing output. Cases include a missing denominator, a declared count below the supplied population, duplicate identifiers, no observed loss denominator, an open-row-only stress change, all-loss results, malformed quoting, 12-decimal arithmetic, an outcome-sign warning, and a zero stress-loss rejection. Invalid cases produce no metrics.

Open the deterministic fixture table
FixtureExpectedCalculated stateRowsKey prompts
starter-declared-gap-open-row
Eight supplied rows, ten declared signals, one open row, and two declared row gaps.
Calculableunresolved_rows8 supplied; 7 resolved; 1 openOPEN_ROWS_PRESENT
DECLARED_GAPS_PRESENT
STRESS_ASSUMPTION_NOT_EVIDENCE
declared-complete
Three unique resolved rows equal the entered declared total.
Calculabledeclared_complete3 supplied; 3 resolved; 0 openFEES_NOT_CONFIRMED
DECLARED_COUNT_MATCHES
STRESS_ASSUMPTION_NOT_EVIDENCE
denominator-not-supplied
Valid rows with no declared total suppress completeness and declared-gap outputs.
Calculabledenominator_missing2 supplied; 2 resolved; 0 openFEES_NOT_CONFIRMED
DECLARED_COUNT_MISSING
STRESS_ASSUMPTION_NOT_EVIDENCE
declared-total-below-supplied
A declared total smaller than supplied unique rows is invalid.
Rejectedinvalid3 supplied; 3 resolved; 0 openFEES_NOT_CONFIRMED
DECLARED_COUNT_LT_SUPPLIED
duplicate-signal-id
Duplicate identifiers are rejected before coverage arithmetic.
Rejectedinvalid2 supplied; 2 resolved; 0 openSIGNAL_ID_DUPLICATE
FEES_NOT_CONFIRMED
no-observed-loss-gap-creates-denominator
Observed profit factor is not calculable, but one modeled declared-gap loss creates a stress denominator.
Calculabledeclared_gaps2 supplied; 2 resolved; 0 openFEES_NOT_CONFIRMED
NO_NEGATIVE_RESOLVED_R
DECLARED_GAPS_PRESENT
STRESS_ASSUMPTION_NOT_EVIDENCE
open-row-only-stress
A complete declared row count can still contain one open row that appears only in the open-plus-declared-gap scenario.
Calculableunresolved_rows3 supplied; 2 resolved; 1 openFEES_NOT_CONFIRMED
OPEN_ROWS_PRESENT
DECLARED_COUNT_MATCHES
STRESS_ASSUMPTION_NOT_EVIDENCE
all-resolved-losses
Zero gross positive R produces observed and stressed profit factor zero, not a missing value.
Calculabledeclared_complete2 supplied; 2 resolved; 0 openFEES_NOT_CONFIRMED
DECLARED_COUNT_MATCHES
STRESS_ASSUMPTION_NOT_EVIDENCE
malformed-quoted-field
An unclosed quoted field fails without partial arithmetic.
Rejectedmalformed0 supplied; 0 resolved; 0 openCSV_MALFORMED
fixed-scale-precision
Twelve-decimal values use exact fixed-scale aggregation.
Calculabledeclared_gaps2 supplied; 2 resolved; 0 openFEES_NOT_CONFIRMED
DECLARED_GAPS_PRESENT
STRESS_ASSUMPTION_NOT_EVIDENCE
outcome-sign-mismatch-warning
A win label with negative net R remains calculable but creates a visible warning.
Calculabledeclared_complete2 supplied; 2 resolved; 0 openOUTCOME_SIGN_MISMATCH
FEES_NOT_CONFIRMED
DECLARED_COUNT_MATCHES
STRESS_ASSUMPTION_NOT_EVIDENCE
stress-loss-zero-invalid
A zero stress-loss assumption is rejected because it cannot express a loss scenario.
Rejectedinvalid1 supplied; 1 resolved; 0 openFEES_NOT_CONFIRMED
STRESS_LOSS_INVALID

Repair reference

Stable issue codes keep the repair path concrete

Errors suppress all calculations because continuing would require a structural or value guess. Warnings preserve arithmetic but identify a row-level evidence limitation. Notices describe denominator, open-row, non-executed, or stress-assumption context. The issue order follows the frozen source ledger, so machine output does not depend on incidental row traversal order.

Open the 34-code repair reference
CodeSeverityMeaning
CSV_MALFORMEDerrorCSV quoting or record structure cannot be parsed without guessing.
FILE_TOO_LARGEerrorInput exceeds the fixed byte limit.
TOO_MANY_ROWSerrorInput exceeds the fixed nonblank-row limit.
TOO_MANY_COLUMNSerrorInput exceeds the fixed column limit.
CELL_TOO_LONGerrorAt least one cell exceeds the fixed Unicode code-point limit.
HEADER_EMPTYerrorA header cell is blank.
HEADER_DUPLICATEerrorA normalized header name appears more than once.
HEADER_IGNOREDwarningA nonblank extra column is preserved in the input but ignored by this narrow calculation; compatible wider schemas remain calculable.
REQUIRED_COLUMN_MISSINGerrorA required column is absent.
ROW_WIDTH_MISMATCHerrorA data row does not have the same field count as the header.
SIGNAL_ID_EMPTYerrorA data row has no signal identifier.
SIGNAL_ID_UNSAFEerrorA signal identifier contains an invisible formatting control or invalid surrogate code unit.
SIGNAL_ID_DUPLICATEerrorA normalized signal identifier appears more than once.
OUTCOME_INVALIDerrorOutcome is not one of the accepted states.
NET_R_REQUIREDerrorA resolved row has no net-R value.
NET_R_FORBIDDENerrorAn open, cancelled, or no-fill row contains a net-R value.
NET_R_INVALIDerrorNet R is not a strict decimal.
NET_R_RANGEerrorNet R is outside the fixed accepted range.
NET_R_PRECISIONerrorNet R has more than twelve decimal places.
OUTCOME_SIGN_MISMATCHwarningThe outcome label and numeric net-R sign do not agree.
FEE_STATE_INVALIDerrorfees_included contains an unsupported value.
FEES_NOT_CONFIRMEDwarningAt least one resolved row does not confirm fee inclusion.
SOURCE_URL_INVALIDwarningA supplied source URL is not an absolute HTTP or HTTPS URL.
DECLARED_COUNT_INVALIDerrorThe declared total is not a whole number within the accepted range.
DECLARED_COUNT_LT_SUPPLIEDerrorThe entered declared total is smaller than the supplied unique-row count.
DECLARED_COUNT_MISSINGnoticeNo declared denominator was supplied, so completeness and declared-gap outputs are suppressed.
STRESS_LOSS_INVALIDerrorThe stress-loss input is not a positive decimal within the accepted range and precision.
NO_RESOLVED_ROWSwarningNo supplied row can enter observed net-R arithmetic.
NO_NEGATIVE_RESOLVED_RnoticeObserved profit factor has no negative denominator and is not calculable.
OPEN_ROWS_PRESENTnoticeOne or more supplied rows remain open and are shown separately.
NON_EXECUTED_ROWS_PRESENTnoticeCancelled or no-fill rows are supplied but are not modeled as losses.
DECLARED_GAPS_PRESENTnoticeThe entered declared total exceeds the supplied unique-row count.
DECLARED_COUNT_MATCHESnoticeThe entered declared total equals the supplied unique-row count; authenticity and denominator accuracy remain unverified.
STRESS_ASSUMPTION_NOT_EVIDENCEnoticeStress results depend on a user-entered hypothetical equal-loss value and do not prove omitted outcomes.

Evidence limits

Evidence limits

Correct row arithmetic cannot establish that the input population is authentic or complete. The calculator cannot recover deleted calls, detect a fabricated identifier, validate execution prices, inspect edited messages, reconcile multiple channels, or determine whether a user could enter at the claimed price. It cannot distinguish deliberate selection from an export mistake. It cannot verify a provider, award a rating, or settle a dispute.

Profit factor and net R remain properties of the supplied resolved rows under the stated unit. They are not account returns. Position sizing, leverage, compounding, simultaneous exposure, deposits, withdrawals, fees, funding, liquidation, taxes, subscription costs, and missed entries can change an account outcome. Historical and hypothetical arithmetic does not predict future performance.

A declared row gap compares two counts; it does not identify a missing signal. A source-level reconciliation needs a separate expected-ID ledger so a reviewer can classify missing, extra, revised, and mismatched identifiers. This calculator deliberately does not infer those identities from a total.

Method provenance

Official sources and frozen release identity

The research ledger separates official-source observations from local editorial interpretation. It records access dates and explicitly says that web-extracted official pages have no addressable local capture or byte hash in this source package. The generated source identity includes the ledger, generator, checker, selected repository commit, V3 version, analyzer version, and artifact hashes so later changes remain attributable.

PublisherSourceAccessedUse in this method
Google Search CentralGoogle's Guide to Optimizing for Generative AI Features on Google Search2026-07-14Foundational SEO remains the basis for visibility in Google's generative search features.
Google Search CentralSpam Policies for Google Web Search2026-07-14Doorway abuse includes substantially similar pages created for specific query variants.
OpenAIOverview of OpenAI Crawlers2026-07-14OAI-SearchBot controls eligibility for ChatGPT search results, while GPTBot controls potential training use; the settings are independent.
IndexNowDocumentation2026-07-14Submit URLs after they are added, updated, or deleted and verify host ownership with the published key.
U.S. Securities and Exchange Commission, Investor.govInvestor Bulletin: Performance Claims2026-07-14Readers should understand how a performance claim was calculated and which factors were included or omitted.
U.S. Commodity Futures Trading CommissionFraud Advisory: Commodity Trading Systems Sold on the Internet2026-07-14Hypothetical results were not subjected to actual market conditions.
RFC EditorCommon Format and MIME Type for Comma-Separated Values Files2026-07-14A header and each record should carry the same number of fields.

Dataset ID csr-crypto-signal-result-sheet-completeness-stress-test-2026-07-14. Source commit 4c6f7305b79b4aa0ec512d1f455ca1b7bf0ee895. Immutable source ledger.

Questions

FAQ

Does 100% supplied-row coverage prove the result sheet is complete?

No. It only means the number of unique supplied rows equals the declared total you entered. The total itself, row authenticity, deleted posts, duplicate identities, execution, costs, and period boundaries still need separate evidence.

Does a declared row gap prove that the provider hid a loss?

No. A gap can reflect an incorrect declared total, a missing export row, an open record, a cancellation, or another reconciliation issue. Duplicate identifiers are rejected before gap arithmetic. The tool shows the difference and a hypothetical stress scenario; it does not assign intent or outcome.

Why is the declared signal count optional?

Some result sheets publish rows without a credible period total. In that case the tool can still parse supplied rows and observed net R, but it suppresses completeness percentages and declared-gap counts rather than inventing a denominator.

Why are open rows separate from cancelled and no-fill rows?

An open row still has unresolved outcome exposure. Cancelled and no-fill rows describe non-executed states and should not automatically become modeled losses. The open-plus-declared-gap scenario includes open rows only and labels that assumption explicitly.

What does equal losses to non-positive net R mean?

It is the smallest whole number of losses at the entered stress-loss size that would offset the observed resolved net R. It is sensitivity arithmetic, not a probability and not evidence that those losses occurred.

Does the tool upload my CSV?

No. The calculation runs in the browser and the release contract permits zero uploads, network requests, cookies, or storage writes for analyzer inputs.

Can the stress test verify a crypto signal provider?

No. Verification would require stable identity, original timestamped calls, declared population, loss-inclusive outcomes, source records, execution and cost evidence, and an independent review process. This tool performs only the stated arithmetic.

Can I compare two providers with this result?

Only with caution. Different periods, signal definitions, open-trade treatment, fees, leverage, assets, and publication rules can make coverage and stress outputs non-comparable. The tool does not rank providers.

Corrections

Correct the method without buying the conclusion

Corrections to the method or public route can be submitted through Submit a Group. Payment, sponsorship, profile work, or production services cannot buy a favorable conclusion, verified status, ranking position, or removal of missing-proof notes.