Honestly, the best time to take the GRE is when you’re confident that you would be able to do yourself justice. The GRE is not an inexpensive exam, ideally you’d want to hit your target score on the first attempt.
That being said, the ideal time, to take the GRE for Fall ’18, in my opinion is May-June. The reason being, if you’re unhappy with your score, you can resume preparation for a couple of months and give the exam again. The TOEFL can be taken a few weeks after the GRE.
Taking the exam in the months of May-June, gives you ample time to work on shortlisting your universities, writing your essays AND applying for scholarships should you be interested.
However, like I said, the best time to take the exam is when you’re prepared. So if that means having to take it later, say Oct-Nov, that’s fine too Most deadlines close around Mid-Jan (some as late as March) so taking the exam later in the year is fine too. Just make sure to do your research on university deadlines for the programs you’re interested in so you’re not too late for them.
The reason most people suggest taking the GRE (and TOEFL) as early as possible is that it gives you more space to work on your applications which can be quite tedious a process. These are not hard restraints though- as long as you structure your admissions timeline well and ensure you give yourself the time you need to complete the process.
PS- If you’re still looking for Fall ’18 admits and haven’t taken the GRE yet, you might be a little pressed for time but like I said, there are some programs whose deadlines close as late as March so do your research accordingly.