Concretely: keep your returns series but randomly shuffle your signal series, then re-run the strategy. Do this 1,000 times and collect 1,000 profit figures from a strategy with no real relationship to the market. If your actual profit exceeds 970 of them, your empirical p-value is 0.03.
This is more honest than a t-test on trade returns because it preserves the market's own properties: the same volatility clustering, the same fat tails, the same drift. Only the alignment between your rule and the market is destroyed.
Variants worth running: shuffle the signal, shuffle the trade entry dates, or shuffle bar returns within blocks. If your result survives all three, you have a genuine dependency rather than an accounting artefact.
Related: bootstrap, monte-carlo-simulation