So I have my first character, a level 15 hunter and I have only got around 3 engrams over the whole game experience. Now I was wondering if higher levels (ex: level 20) would yield a higher chance of receiving an engram or I am just completely unlucky and I need more time to farm/kill enemies.
3 seems reasonable for lower levels. Most engram's you get early on will automatically decrypt into a weapon or piece of armor.
There's no exact chance that anyone knows of, and it changes from time to time. However I can tell you that an hour of doing public events typically nets me 5-10 greens and 1-4 blues. An hour of lvl 28 strikes will typically net me 5-20 blues. An hour of PvP Control will typically net me 2-8 blues.
I've put approximately 300 hours into destiny. In that entire time, I have gotten around 10 legendary (purple) engrams, and 2 exotic (yellow) engrams. That doesn't count engrams that I've purchased.
It does differ depending on conditions, and even then the randomness really governs the drops. I have had times where an hour of strikes has netted me 5 blues, and times where an hour netted me 30.