← Back to Research
Methodology · Last updated July 2026

How We Measure Trading Behavior

Full transparency on our research framework. What we measure, how we measure it, where the data comes from, and what the limitations are.

Every finding published on this site is produced by the same automated behavioral verification system. No manual scoring, no subjective interpretation, no judgment calls. The system receives a trade history file, runs a fixed set of statistical tests, and reports what it finds. This page documents exactly how that process works.

The framework: seven behavioral dimensions

The system measures seven dimensions of trading behavior. Each dimension tests for a specific pattern that is invisible on a track record page but measurable in the underlying trade data.

DimensionWhat it measuresPrimary test
Execution DisciplineStop-loss coverage and sizing consistency across all tradesCoverage ratio, coefficient of variation
Loss Response BehaviourWhether position size changes after losing tradesMann-Whitney U test comparing post-loss vs post-win lot sizes
Tilt SusceptibilityWhether per-trade performance degrades after consecutive lossesMann-Whitney U test comparing per-trade outcome after 2+ losses vs normal conditions
Loss Aversion TendencyWhether losing trades are held longer than winning tradesDuration ratio (avg loser hold time ÷ avg winner hold time)
Overconfidence TendencyWhether position size inflates after winning streaksPercentile rank of post-streak sizing relative to baseline
Impulsivity Under FrequencyWhether more trades per day produces worse per-trade resultsSpearman rank correlation between daily trade count and daily per-trade outcome
Strategy Profitability StrengthWhether the mathematical edge is real when position sizing is removedPip-based profit factor, required win rate vs actual win rate at observed R:R

Each dimension produces a score from 0 to 100. Higher scores indicate stronger behavioral signal (greater deviation from baseline). A score above the flagging threshold triggers a finding. A score below it means the dimension is clear.

Statistical tests

The system uses non-parametric statistical tests throughout. Trading data is rarely normally distributed — returns are skewed, hold times are right-skewed, and lot sizes often cluster around preferred values. Non-parametric tests make no assumptions about the underlying distribution, which makes them more appropriate for this data.

Tests used

Mann-Whitney U test: Used for Loss Response and Tilt Susceptibility. Compares two independent groups (e.g., trades after a loss vs trades after a win) without assuming normal distribution. Reports a p-value indicating the probability the difference occurred by chance.

Spearman rank correlation: Used for Impulsivity Under Frequency. Measures the monotonic relationship between two variables (daily trade count and daily per-trade result) without assuming linearity. Reports ρ (rho) from -1 to +1 and a p-value.

Duration ratio: Used for Loss Aversion. Simple ratio of average losing trade hold time to average winning trade hold time. No p-value — the ratio itself is the evidence, with the magnitude indicating severity.

Coverage ratio and coefficient of variation: Used for Execution Discipline. Percentage of trades with stop-loss protection, and variability in position sizing across all trades.

Pip-based profit factor: Used for Strategy Profitability Strength. Total pips won divided by total pips lost, removing all position sizing effects to isolate pure trade quality.

Significance thresholds

For tests that produce a p-value, the significance threshold is p < 0.05. A finding is only flagged as statistically confirmed when the p-value falls below this threshold. When p is between 0.05 and 0.10, the dimension may be flagged as a watch-level observation rather than a confirmed finding.

For dimensions that do not use p-values (Loss Aversion, Execution Discipline, Strategy Profitability Strength), the system uses threshold-based scoring. For example, a loss aversion ratio above 1.5 (losers held 50% longer than winners) triggers a flag, with severity increasing as the ratio grows.

Scoring

Each dimension score is calculated from the test results and scaled to 0–100. The score reflects the magnitude and statistical confidence of the behavioral pattern. A score of 0 means no detectable pattern. A score of 100 means the strongest possible pattern with the highest statistical confidence.

The overall risk score is a weighted composite of all seven dimension scores, with weights reflecting the relative impact of each behavioral pattern on trading sustainability. Tilt susceptibility and loss aversion carry higher weights because they appear most frequently and have the largest measurable impact on per-trade outcomes.

Risk classifications

Risk Score 0–25: Low — minimal behavioral patterns detected

Risk Score 26–50: Moderate — some behavioral patterns present

Risk Score 51–75: Elevated — multiple or significant patterns detected

Risk Score 76–100: High — severe behavioral patterns across multiple dimensions

Finding classifications

Notable: Dimension score between flagging threshold and 59. The pattern is detected and statistically supported but at moderate severity.

Critical: Dimension score 60 or above. The pattern is detected with high statistical confidence and significant magnitude.

Data sources

Observational dataset

The research findings published on this site are based on trade histories exported from real, live trading accounts. The primary source is publicly listed signal provider accounts on established trading platforms — services where real capital follows the trades. Each account in the dataset represents a real trader or automated system managing real money.

Accounts are sourced from multiple platforms including but not limited to MQL5, and are verified as live/real before inclusion. Trade histories are exported in the standard formats supported by trading platforms (MT4/MT5 statement exports in .htm, .csv, or .xlsx format). No data is scraped — each export is obtained through the platform's standard export functionality.

Inclusion criteria

An account is included in the dataset if it meets all of the following criteria:

Inclusion requirements

Minimum trade count: 30 closed trades (required for statistical test validity)

Trade data completeness: Each trade must include open time, close time, and profit/loss at minimum. Lot size and instrument data are required for most dimensions but their absence does not exclude the account — it limits which dimensions can be tested.

Verified real account: Only accounts verified as live/real on the source platform are included. Verification is performed manually before inclusion — checking platform labels, broker identification, deposit/withdrawal history, and subscriber data where available. Demo accounts are excluded.

Closed trades only: Open positions are excluded. All analysis is performed on completed trades.

Exclusion criteria

Accounts are excluded if the export file is corrupted, unreadable, or contains fewer than 30 valid trades after parsing. Accounts where the platform export format is not recognized by the parser are also excluded. No accounts are excluded based on their results — profitable and unprofitable accounts are treated identically.

Current dataset characteristics

Dataset as of July 2026

Total accounts analyzed: 101

Total trades processed: 152,015

Automated quality checks: All passed

Account types: Automated (EA), manual, and hybrid

Instruments: Forex, gold (XAUUSD), indices, stocks

Timeframes: Scalping through position trading

Platforms: MT4, MT5, cTrader

Total subscribers across all signals: 371

Total capital following these signals: $2,421,694

Median profit factor: 1.72

Median win rate: 70.1%

Accounts with at least one behavioral flag: 90%

Clean accounts (zero flags): 10%

The dataset is growing. As new accounts are analyzed, aggregate statistics are updated and published periodically. Individual article findings reference the dataset size at the time of analysis.

Anonymization

All accounts in published research are anonymized. No account names, MQL5 signal IDs, usernames, or identifying information are disclosed. Statistics are reported at the aggregate level or as individual case studies without identifying details. Where specific accounts are referenced (e.g., "a signal provider with 2,035% growth"), the description is limited to publicly visible metrics that cannot uniquely identify the account among the thousands listed on MQL5.

Limitations

This research has limitations that are important to acknowledge:

Known limitations

Sample size: 101 accounts is sufficient for identifying prevalent patterns but not large enough for robust stratified analysis. Breakdowns by instrument, timeframe, or EA-vs-manual should be interpreted as directional observations, not definitive prevalence rates. Confidence intervals widen as subgroups shrink.

Selection bias: The dataset consists primarily of MQL5 signal providers — accounts that are publicly listed and actively seeking subscribers. This population may behave differently from private traders who do not publish their results. Findings may not generalize to all retail traders.

Platform dependency: The data formats and fields available vary by platform. Some dimensions (notably Execution Discipline) require stop-loss data that is not always present in standard exports. When data is missing, the dimension is marked as unverifiable rather than scored.

Point-in-time analysis: Each verification measures behavior at a single point in time based on the available trade history. It does not predict future behavior, nor does it guarantee that patterns detected will continue. Behavioral patterns can change as traders adapt.

No causal claims: The system detects correlations and statistical associations, not causes. A tilt score of 100 means performance measurably degrades after consecutive losses — it does not prove that the losses caused the degradation. Other confounding factors (market conditions, time of day, news events) may contribute.

Not financial advice: This research is for informational and educational purposes only. It is not financial advice, investment advice, or a recommendation to subscribe or unsubscribe from any signal provider or trading system.

Reproducibility

Every finding is produced by the same automated system. Given the same trade history file, the system will produce the same scores, the same findings, and the same risk classification. There is no manual adjustment, no subjective override, and no human scoring involved. The statistical tests are deterministic — they will return identical results on identical data.

Aggregate statistics reported in research articles can be reproduced by running the same set of trade history files through the system. The dataset files are retained for this purpose.

Updates

This methodology page is updated when the framework changes. Historical articles reference the methodology version that was current at the time of publication. Changes to scoring thresholds, statistical tests, or dimension definitions are documented here with dates.

Current version: July 2026. No prior versions — this is the initial publication of the methodology.

Related research

Read the findings this methodology produces: What 101 accounts revealed, or explore individual dimension case studies in the Research section.

Run the same analysis on your data

Upload your trade history. The same statistical tests described above run on your account — automated, in under 30 seconds. Free tier available.

Scan Your Trades →
My Stoic Edge
Behavioral Verification System · Automated · No manual override
Research · Community · Bot · Terms of Use
For informational purposes only. Not financial advice.