Platform Methodology
TVSM-PL v1.0 · Published May 30, 2026 · Public, versioned, license-agnostic
Most platform-review sites are built backwards: rankings are assembled after affiliate negotiations, the headline number averages over things that don’t belong on the same axis, and specialist platforms collapse against generalists for reasons that have nothing to do with whether the tool works. TVSM-PL exists to fix that for platforms. Every score on this site is computed from publicly verifiable evidence before any commercial contact with the vendor. If a score changes, the reason and source are documented in an append-only public changelog.
This page documents TVSM-PL — the platform sibling of TVSM-PF (the prop-firm framework). The two share one spine (math, bands, evidence model, decay machinery) and diverge at the variable layer: platforms ask “does this tool work when I need it?” while prop firms ask “will this counterparty pay me and still exist to do it?”
1. What a TVSM-PL score is — and is not
A TVSM-PL score is a capability rating. It measures the platform’s ability to do its job reliably, accurately, and honestly across five dimensions — not the trader’s satisfaction, not the brand’s reputation, not the marketing polish.
The score is the platform’s capability under audit, not a per-trader fit recommendation. Two platforms can both land at 77 and yet suit completely different traders — the dimensional breakdown and “Best-for” capability vectors on each platform page are where fit gets read. Treating 77 as inherently equivalent to 77 on another platform misses the point of the framework.
2. Architecture — two subtypes, one spine
TVSM-PL forks at the variable layer into two subtypes, each carrying its own 22-variable inventory:
Platforms that ship with integrated order routing. Currently scored: MT4, MT5, cTrader, NinjaTrader, Sierra Chart, Tradovate, DXtrade, Quantower, TradingView, Bookmap. Dimension 2 measures Execution & Data: order-state integrity, order-type breadth, market-data handling, client responsiveness, historical-data quality.
Tools that inform trading decisions but don’t route orders — scanners, pattern recognition, alert systems, backtest engines. Currently scored: TrendSpider. Dimension 2 measures Analytical Quality: signal integrity, expression depth, methodology transparency, alert delivery, backtest fidelity.
The dimension weights are identical across subtypes (30/22/20/12/16 = 100), and the spine — score formula, bands, evidence model, decay engine, trajectory adjustment, hard-cap mechanics — is shared with TVSM-PF and TVSM-BR. That’s what makes scores semantically comparable across subtypes: a 76 on an execution platform means the same thing as a 76 on an analysis platform.
Unit of analysis: the vendor-controlled software system. Broker-side outages, fills, spreads, slippage, and risk-engine rejections are out of scope. When a failure is reported, the vendor-attribution doctrine asks: is the failure reproducible in a vendor-controlled demo, replicated across multiple independent broker infrastructures, or vendor-acknowledged? If none of those hold, single-broker complaints route to a future broker overlay framework — they don’t move the platform’s score.
3. The scoring formula
Each of the 22 variables is scored on a 1–10 integer scale. A platform scores at the highest level whose condition bundle is fully satisfied (AND-logic). Ladders are monotonic and single-axis: every rung scores the same observable; only the threshold moves.
Adjusted = Base + trajectory_adj (clamped −3..+3)
Final = Adjusted after hard caps (lowest cap wins)
Weights sum to 100, so the formula produces a 0–100 score directly. The trajectory adjustment captures direction, not level: a platform with a strong base that’s trending sharply down publishes at a score 3 points below its base, with the trajectory glyph (▲▲ / ▲ / ▬ / ▼ / ▼▼) visible inline.
4. Score bands
TVSM-PL uses the same risk-framed band labels as TVSM-PF. Boundaries are common across all TVSM 2.0 frameworks.
| Score | Band | Interpretation |
|---|---|---|
| 80–100 | Excellent | Above industry standard. Recommend without reservation for traders the platform fits. |
| 65–79 | Strong | Materially above median. Worth considering. Known limitations disclosed. |
| 50–64 | Adequate | Meets minimum acceptable standards. Meaningful trade-offs exist. |
| 35–49 | Caution | Below acceptable standard. Use only with full understanding of specific risks. |
| 0–34 | High Risk | Not recommended. Documented failures, instability, or unacceptable practices. |
Affiliate-link rule.Platforms scoring below 50 receive no affiliate links. They carry a “Research Only” label. Public, permanent, non-negotiable. See the affiliate disclosure for the full firewall.
5. The five dimensions
| # | Dimension | Weight | The question it answers |
|---|---|---|---|
| 1 | Reliability & Uptime | 30% | Does the software stay up and behave predictably under load? |
| 2 | Execution & Data / Analytical Quality | 22% | When the platform routes an order or fires a signal, is the result accurate, timely, and honestly reported? |
| 3 | Capability | 20% | What can the platform actually do, in its primary domain and beyond? |
| 4 | Interoperability | 12% | Does the platform play well with the rest of the trader’s stack? |
| 5 | Cost & Transparency | 16% | What does the platform cost, and is the trader told honestly upfront? |
Dimension weights sum to 100%. Dimension 2 swaps content between subtypes (Execution & Data on execution platforms, Analytical Quality on analysis platforms) but keeps the same 22-point weight — which is what preserves cross-subtype score comparability.
6. The 22 variables (execution_platform)
Each variable scores 1–10 on a monotonic predicate ladder. The descriptions below summarize the axis each variable measures; the full per-rung ladders are in the source specification.
| # | Variable | Dimension | Weight | What it measures |
|---|---|---|---|---|
| 1.1 | client_stability | Reliability & Uptime | 9% | Frequency and severity of vendor-controlled client failures (crash, freeze, memory leak, state corruption) during normal trading load. |
| 1.2 | vendor_incident_record | Reliability & Uptime | 8% | Accumulated vendor-attributable incident burden across the vendor’s operational history, with decay applied so resolved incidents fade. |
| 1.3 | update_regression_rate | Reliability & Uptime | 6% | How often a vendor-shipped update breaks previously-working functionality. The risk that the platform becomes adversarial on the vendor’s schedule, not the trader’s. |
| 1.4 | reconnect_state_consistency | Reliability & Uptime | 4% | Fidelity of state restoration after connection interruption — positions, pending orders, workspace, custom alerts. |
| 1.5 | incident_transparency | Reliability & Uptime | 2% | Vendor’s incident-disclosure quality: status page granularity, proactive notifications, postmortems, status-vs-reality fidelity. |
| 1.6 | release_documentation_quality | Reliability & Uptime | 1% | How well the vendor explains its changes — changelog specificity, breaking-change flagging, version history accessibility. |
| 2.1 | order_state_integrity | Execution & Data | 7% | Fidelity of the platform’s order/position state versus server-confirmed reality. No phantom fills, no stuck pending states, no UI-vs-server drift. |
| 2.2 | order_type_breadth | Execution & Data | 5% | Native coverage of order types (market, limit, stop, stop-limit, OCO, brackets, trailing, MOC/LOC, time-in-force variants) per trader profile. |
| 2.3 | market_data_handling_integrity | Execution & Data | 5% | Vendor-controlled handling of market data (aggregation, gap-fill, session-stitching, malformed-input safety). Feed-provider accuracy is out of scope. |
| 2.4 | client_responsiveness | Execution & Data | 3% | Client-side UI responsiveness from action to displayed acknowledgment. Vendor-controlled thread speed only — not network or broker latency. |
| 2.5 | historical_data_quality | Execution & Data | 2% | Retained/reconstructed historical-data integrity, depth, gap-policy, correction handling, and survivorship preservation. |
| 3.1 | primary_market_depth | Capability | 6% | Excellence in the platform’s primary market — judged against best-in-class standard for that domain, not against a universal checklist. |
| 3.2 | workflow_excellence | Capability | 5% | Operational friction for a competent user during sustained trading sessions. Not features, not learning curve, not aesthetics — path efficiency. |
| 3.3 | automation_extensibility | Capability | 5% | Composite extensibility utility: scripting/API capability × ecosystem accessibility × operational practicality. Custom-code surface only — native workflows score in 3.1/3.2. |
| 3.4 | market_breadth | Capability | 4% | Count of markets/asset classes served with first-class native workflows. Specialist-friendly: capped at 20% of Capability so deep specialists don’t collapse against generalists. |
| 4.1 | broker_ecosystem_breadth | Interoperability | 4% | Effective external connectivity — breadth, working quality, and trader choice across brokers and execution routes (inbound direction). |
| 4.2 | data_export_portability | Interoperability | 3% | Lock-in resistance — completeness and usability of mechanisms to extract trader work (configs, scripts, history, layouts) from the platform. |
| 4.3 | cross_platform_availability | Interoperability | 3% | Functional parity across desktop / web / mobile environments. Honest single-environment scoring — not a quality penalty for specialists. |
| 4.4 | third_party_integration_support | Interoperability | 2% | Out-of-box integration breadth and quality with journals, webhooks, notification channels, and community/analytics tools. |
| 5.1 | effective_monthly_cost | Cost & Transparency | 9% | All-in monthly cost burden for the profiles the platform credibly serves — license, mandatory data, required modules, tier-unlock costs. Profile-normalized. |
| 5.2 | pricing_honesty | Cost & Transparency | 5% | Advertised-vs-real cost gap plus pre-commitment disclosure quality. Free-but-hidden-cost penalized here; expensive-but-upfront scores high. |
| 5.3 | pricing_stability | Cost & Transparency | 2% | Active pricing-change burden over trailing 24 months, with decay and notice-adjustment. Notice and grandfathering are modifiers, not separate axes. |
6b. analysis_platform divergences
The analysis_platform subtype keeps the same 22-variable structure but substitutes the following variables to reflect its different failure modes and value model:
| # | Variable | Dimension | Weight | What it measures |
|---|---|---|---|---|
| 1.1 | platform_availability | Reliability & Uptime | 9% | Uptime of the platform’s primary surface (web app, scanner engine, alert pipeline). Service-down rather than client-crashed failure mode. |
| 1.4 | session_state_consistency | Reliability & Uptime | 4% | Session-state restoration after service interruption or session expiry — workspaces, active scans, alerts, backtest configurations. |
| 2.1 | signal_integrity | Analytical Quality | 7% | Fidelity of analytical output to the platform’s stated logic. No phantom signals, no timeframe-evaluation drift, no silent divergence between stated rules and actual outputs. |
| 2.2 | analytical_expression_depth | Analytical Quality | 5% | Expressive power of the native analytical system — compositional logic, multi-timeframe expression, statistical conditions, parameterization. Native workflows only. |
| 2.3 | methodology_transparency | Analytical Quality | 4% | Evaluability sufficiency: can the trader understand the analytics enough to evaluate fit and diagnose behavior? Not disclosure volume, not IP surrender. |
| 2.4 | alert_delivery_reliability | Analytical Quality | 3% | Vendor-controlled dispatch and delivery-orchestration reliability, timeliness judged relative to the platform’s marketed analytical horizon. |
| 2.5 | backtest_fidelity | Analytical Quality | 3% | Realism and integrity of the backtest engine — look-ahead prevention, survivorship handling, realistic fills, repainting protection. Engine honesty, not strategy success. |
| 3.1 | primary_domain_depth | Capability | 6% | Excellence in the platform’s primary analytical domain — judged against best-in-class standard for that domain. |
| 3.3 | analytical_extensibility | Capability | 5% | Composite analytical-extensibility utility: scripting/API capability × ecosystem accessibility × practicality. Native expression scores in 2.2 / 3.1. |
| 4.1 | broker_data_ecosystem | Interoperability | 4% | Breadth of data-source integrations the platform ingests from, plus optional execution-passthrough connectivity. |
All other variables — vendor_incident_record, update_regression_rate, incident_transparency, release_documentation_quality, workflow_excellence, market_breadth, data_export_portability, cross_platform_availability, third_party_integration_support, and the three Cost & Transparency variables — apply to both subtypes with the same definitions.
7. Hard caps — four-tier system
Hard caps override the computed composite. They are reserved for danger and disqualification — not for routine weakness, which is what the additive score is for. Every applicable cap is evaluated; the lowest ceiling applies. The cap is shown on the platform page, with the specific evidence that triggered it.
Cap ordering rationale. Information-integrity theory: visible failure collapses the decision space (bounded harm); silent failure corrupts it while permitting decisions (unbounded harm). PL-Cap 1 therefore ranks below PL-Cap 2 in ceiling, even though both indicate serious failure.
Invariant Suppression on PL-Cap 1. When PL-Cap 1 fires, the composite still computes (so rankings remain continuous), but the platform’s dimensional sub-scores are flagged on the page as not interpretable. A silently-corrupting platform’s dimensional breakdown is itself untrustworthy. PL-Cap 2 does not carry this flag — visible unreliability doesn’t corrupt the meaning of sub-scores.
8. Evidence requirements
Every variable score traces to a citation. Source precedence runs vendor documentation and vendor-published metrics first; third-party monitoring next; community pattern evidence last — and only when a pattern is reproducible across multiple independent infrastructures or vendor-acknowledged.
TVSM-PL uses the same five-state evidence model as TVSM-PF: true, false, unknown, contradictory, and stale. A variable that cannot be evidenced at the higher rungs of its ladder defaults to the catch-all level 1 — the “Missing Data Rule.” Vendor opacity is not neutral; it is a risk priced at level 1.
Reference operating load. For variables that can be distorted by arbitrary workload — client responsiveness, signal integrity, alert delivery timeliness — the score is computed against a defined reference workload typical of the platform’s target users, not a stress-test workload. Platforms that tolerate beyond-reference loads aren’t rewarded extra; platforms that fail at beyond-reference loads aren’t penalized unless they explicitly market support for those workflows.
9. Independence firewall
Affiliate relationships never affect scores. The methodology is license-agnostic: no licensee, including a scored vendor, can move its own score. Platforms we don’t editorially recommend do not receive affiliate links. This is stated publicly, in writing, and applies regardless of what commission rate is offered.
A 41/100 score is as important to publish as an 79/100 score. The negative scores are the trust signal that makes the positive scores meaningful. A site that only rates platforms well is not a review site — it is an advertisement.
10. Calibration discipline
TVSM-PL ships with a four-tier calibration protocol:
- Tier 1. Live-platform calibration — every platform we score is fully calibrated against sourced evidence under A6/A7 source precedence and the vendor-attribution doctrine.
- Tier 2. Cross-platform consistency checks — a 76 means the same thing across platforms and across subtypes.
- Tier 3. Historical anchors — retired platforms, defunct services, and pre-rebuild states scored as
historical_onlyreference points. Excluded from live rankings, but they exercise the lower bands and confirm the caps fire on real cases. - Tier 4. Synthetic stress tests — constructed platforms that trip each PL-Cap, to verify cap mechanics and the invariant-suppression flag in isolation.
The first three tiers guard against “score by reputation” drift; the fourth guards against the cap logic only ever being exercised in the abstract.
11. Version history
Versioning is semantic and per-framework. Patch bumps are predicate-rubric clarifications — no weight changes, no variable additions, no new caps. Minor bumps add variables or change evidence standards. Major bumps change dimension weights by > 3% in absolute terms or add a framework. On any version bump, every scored platform is fully recomputed and a score_history snapshot is recorded with the methodology-driven delta.
| Version | Date | Framework | Changes |
|---|---|---|---|
| TVSM-PL v1.0· current | May 30, 2026 | TVSM-PL | Initial publication. 22 variables per subtype across 5 dimensions (30/22/20/12/16). Two subtypes: execution_platform and analysis_platform. Capability model. Four-tier hard-cap system (PL-Cap 1–4) with invariant suppression on silent-integrity disqualifier. Tier-1 calibration of 10 live platforms + 4 historical anchors + synthetic cap tests. |
12. Primary-source references
Variable scoring draws on platform-vendor primary documentation first. Two representative examples of the vendor-published source class TVSM-PL treats as authoritative:
- Sierra Chart — Teton order-routing documentation ↗
Authoritative vendor documentation for order-routing topology, server-managed bracket/OCO behavior, and infrastructure redundancy — the kind of vendor-published evidence that drives `order_state_integrity` and `order_type_breadth` scores.
- MetaTrader 5 — official release notes ↗
Vendor-published versioned changelog with explicit feature additions, breaking-change flags, and bug-fix entries — the kind of release-documentation evidence that drives `update_regression_rate` and `release_documentation_quality` scores.
For the prop-firm scoring framework (TVSM-PF v2.0.2), see Methodology — Prop Firms. To read why we built it this way, see About.