A model fed raw price in dollars, volume in millions, and RSI from 0 to 100 will weight them by accident of units. Standardising each to a z-score fixes that, and is required for any distance-based or regularised method.
The critical trading detail is what window the statistics come from. Computing a mean and standard deviation over the entire sample, then training on the first half, leaks future information backwards, which is a textbook data-leakage bug that produces beautiful and fictional results. Use a trailing window that would have been available at that bar.
Worked example: a 60-day trailing mean of 42.0 and standard deviation of 6.0 turns today's reading of 51 into a z-score of 1.5. Tomorrow the window moves and the same raw value maps to a slightly different number, which is correct behaviour.
Related: z-score, data-leakage, feature-engineering, winsorising