Probably, it's finished. 3 or 4 points off isn't horrible.
However, I do have a question. Was it 18 the entire time it was in secondary? Or has it dropped a couple points? If it's dropped a point or two in secondary you moved it too soon and should for sure leave it for another week. It's possible you scorched a little of the malt extract and so there's some extra unfermentables in your beer (I did this massively with my stout on accident, and ended up with a nearly sweet, but very finished fermentation. 3 weeks at 27 instead of 17, plus a week of repitched yeast and no change, I think it's pretty much done)
Try not to move normal ales and lagers out of primary unless you've hit your FG or your SG readings aren't moving over 3 or 4 days. Secondary should be a clearing tank for normal beers.
In other words, you're probably done, but give it another week anyway. Think of it this way. That week you give it in the secondary is one week less that the beer needs to age (I did *not* say carbonate though, you still need 2-3 weeks to carbonate)