To be honest there is no perfect time to buy or sell.
It depends only on your necessities. If you are capable enough to buy one Bitcoin, then just close your eyes and buy it.
For Bitcoins, it's always safe investments.
Many traders also know the fact that Bitcoins are limited in number, that is "more bitcoins cannot be created", so a day will come when these coins will become very much valuable.
So this bearish time of the market is a boom for all the crypto buyers, so buy as much Bitcoins as you can when now Bitcoins price are at 29k USD.
Soon in this year Bitcoin will start recovering, and who knows when we might get our all time high price for the Bitcoins.
Just Buy and hold your Bitcoins until it reaches 100k USD , and I promise, this won't take long time.
There are some close to perfect times though. I mean if you buy at the bottom and sell at the peak, you should be making a ton of profit. Imagine a person who sold their coins at 68k, let's assume that person had 1 bitcoin, and they sold it at 68k when it peaked, then they rebuy all of it at 26k at the bottom, that person would have 2.61 bitcoins.
Even today, that worths close to 80k, so they would have made a very good return, if it goes back to even 60k, that would be 156k. So if you buy at the bottom and sell at the peak, you are going to make a ton of money, and do that literally inside 365 days as well, it will be a good return. That's as good as it gets, as close to perfect as you can find.