4 months is nothing in YT terms. You're being impatient. The algorithm needs time to process the data and also for word to spread. Read
@Lightsen's post above about being PATIENT. She knows what she is talking about (she has recently passed 100k subs) and I can confirm what she says is true. My channel didn't start getting traction until after 12 months and then a year later, I received my silver play button too. You don't need a viral video (they're as rare as winning the lottery), but you will need 1-2 "gateway videos" - popular videos that appeal to a very wide audience (wider than your usual content) that funnel views into the rest of your channel via the algorithm.
I'm not going to spoonfeed you with links but do a search for "gateway videos" on here and in particular read
@uberdanger 's threads and posts on the subject and other subjects. He's no longer active here so don't bother replying to him or bumping his threads but I suggest you read all his tutorials.