Before answering your below questions, I feel the need to suggest that you may be curve-fitting. If you are to a point where you are trying to find a system which catches precise market action, you are too far "in the weeds". The market rarely repeats itself exactly so a system which is optimized around a certain market event will probably not perform well in the future. Think general thoughts - a moving average crossover system is designed to catch an average trend and hold it through its life-cycle. A system designed to catch a specific trend will probably not hold up in the future.
Yes, you are absolutely right. But the problem is that the only way to avoid curve-fitting is optimising the system on a longer time interval. The longest time period we have in the history of bitcoin trading is 4 years from 2011 to 2014. And during this time period we have 3 huge price spikes one in june 2011, the second in april 2013 and the last in november 2013. All of this spikes are quite similar and when optimising the system on an extended time interval from 2011 to 2014 the main influencing factor on the profit gain is how the system operated on those 3 spikes. The system performance outside this 3 spikes matters much less for optimisation results. This is an arguable opinion, but if needed I can prove it with numbers for systems that trade on 1 day time frame.
So, when picking up a system based on optimisation results we are picking the spike-catcher system.
Thus, the first problem is that there is no way to avoid "a system which is optimized around a certain market event" (3 events actually, which are very common) using only bitcoin trading data. Would extending optimisation data field to other markets be a proper way to deal with this problem?
You are correct - if you do not trade the system exactly as tested, your returns will be materially different.
A stop-loss is a key component of trading. It is dangerous to trade without a stop-loss. Over the long run, you will probably encounter a trade which will completely destroy your account if you do not set stops. I suggest you research this more and incorporate a stop-loss into your trading system.
If it is true that optimisation even on the whole bitcoin market data depends strongly on the ability of the system not to sell at the bottom of a bubble crash but to wait a little and to sell on the rebound or even later, when the price stabilizes a bit, then adding a trailing stop loss can change the results dramatically, making systems that sell at the bottom of the bubble crash more profitable than slower ones due to the trailing stop loss.
So wouldn't it be logical to optimise the system with a stop loss already included rather than optimising the system without a stop loss first and then add a stop loss into a system which is already optimised without a stop loss, thus trading the system not the way it was tested?