I want to train a machine learning model on Crypto data. But there is a problem. When we go to past (for example 2017), the values are in different scales from what they are in 2023. This problem exists everywhere in dataframe (time series data does not have a consistent scale or distribution). Let me explain it more. For example this is a row of dataframe:

open_time open high low close volume close_time quote_asset_volume number_of_trades taker_buy_base_asset_volume taker_buy_quote_asset_volume ignore
0 2017-08-17 04:00:00 4261.48 4261.48 4261.48 4261.48 1.775183 1502942459999 7.564907e+03 3 0.075183 320.390851 0

You can see that open is 4261.48, close is 4261.48, volume is 1.775183 and number_of_trades is 3. 

This is another row from the dataframe:
525766 2021-01-01 00:00:00 28923.63 28961.66 28913.12 28961.66 27.457032 1609459259999 7.943820e+05 1292 16.777195 485390.826825 0

Here you can see that open is 28923.63, close is 28961.66, volume is 27.457032 and number_of_trades is 1292. 

So, while training the model gets confused because of these so different scales over the dataframe.

MinMax scaling (for example) is not suitable for this data at all. Because of course in 2017, numbers are pretty low and in 2023 number are large. Other scaler might have the same problem as well (data that spans different scales over time).
You already suggested some options. I want to try Rolling Window Normalization. However I don't know how to specify window selection criteria (It obviously should have a dynamic range) Write your response with exactly 7 paragraphs, separated with the markdown divider: ***.
user