The price of bitcoin is very volatile, there is not necessarily a good or bad time to buy.
It depends on the amount of investment you want to make, how long are you ready to "leave" that amount in BTC and the goal.
Of course it is better to buy when the price is $3000, nevertheless it may be interesting to buy now and sell when the price will reach $20,000, $30,000 or more.
It could come in 1 month, 6 months or in several years, but I think that someday the price of bitcoin will come and exceed these sums.
You can use tools (Artificial Intelligence) to help you choose the best times to buy and sell. Go see
IntelBit.io (it's free), there is an algorithm (artificial intelligence) that predicts the price of bitcoin; The price predictions are based on the K-nearest neighbors algorithm (KNN) and Multilayer Perceptron (MLP), a feedforward artificial neural network. The tool is armed with various time-span options, including daily, weekly, monthly and real time predictions.
WARNING: No algorithm or artificial intelligence can give you 100% reliable results, you must analyze the market yourself and make the decision, but AI like IntelBit can help you and give you good technical indications