What you have asked is a Million Dollar Question (may be you never knew). Only if everybody knew when to Buy. There is no correct answer or say no deterministic answer, this is where more discretion comes into play (and thus seperates winning vs losing the money).
By your statement it sounds that you are a long term (alteast a medium term trader or say investor). My advice for such buying would be to spread your buying so that you catch atleast the average price in the range (and not be bothered about Highs and Lows and timing the market). It is very difficult to Time the market since the High and Low are known only in hindsight (i.e once they are no longer a top or bottom).
Though some people inclined towards position trading try to wait for market corrections (like present days) to buy (considering they are getting it cheap), I do not proscribe such buying atleast to people who are new in the market.
If you are investing in a individual stock (instead of portfolio), then timing the stock and watching sector is more important (since your beta becomes very high).
i hope you are getting my point, there is no one way and certainly no perfect way to select the buy rate. Ofcourse it is much better to have a defined criteria (say buy when stock crosses 200 MA or something with bolinger band, or P/E ratio or sales etc) but all these methods will have downfalls and certainly none of them will be 100% successful.
do let me know If i have rather confused you more than clear your view, i will try to be more articulate...