Run 1000 times against the artifical price curve of the previous unseen data, or against the artificial curve of the previously used train data.
Or again both?
You should think about what you're testing, and why.
If you optimize to dataset A, and you shuffle dataset A 1000 times, your optimized unshuffled configuration will almost necessarily reign king. This is not useful at all.
Whereas if you optimize to dataset A, then check it against an OOS dataset B, then shuffle dataset B 1000 times, the results are actually useful. (You want the first OOS test to outperform random data with statistical significance.)