I guess Bitcoin has already hit its floor, which means we might see a stable price from here onwards. Honestly, I believe that $20k is still a fair price to buy. It's a very cheap price compared to its all-time high. Based on the price trends, when a bull market comes, a new all-time high (ATH) is created. So, if the price is currently at $20k, it might likely increase to at least 5 times that amount, which means a good profit opportunity.
It is crossing 28k USD soon and hence if you bought at 20k bottom you did a good job, if you did not, then better luck next time.
Like I always say, there is not best time for buying, but whatever is going down should be bought at intervals and not just watched to fall. These chances are few and should be seized without fail.
All time high is far from here, so one should continue to accumulate and keep selling out of the question. When the prices reach highs again we can think of selling, unless you are in some emergency.