Here is what your current 4 Pokémon kept can cover based on type.
Fire/Flying -> Grass2, Ice, Fighting, Bug2, Steel
Water -> Fire, Ground, Rock
Grass/Poison -> Water, Grass, Ground, Rock, Fairy
Normal -> _
Total Types covered:
Fire, Water, Grass3, Ice, Fighting, Ground2, Bug, Rock2, Steel, Fairy
Total Types left uncovered:
Normal, Electric, Poison, Flying, Psychic, Ghost, Dragon, Dark
__
Since you said "No trading", here are some options:
Fighting and Ground/Rock
Fighting -> Normal, Ice, Rock, Dark, Steel []
Ground/Rock -> Fire2, Electric, Ice, Poison, Flying, Bug, Rock, Steel [[]]
Total Types covered:
[Normal], Fire3, Water, [[Electric]], Grass3, Ice2, Fighting, [[Poison]], Ground2, [[Flying]], Bug2, Rock3, [Dark], Steel2, Fairy
Total Types left uncovered:
Psychic, Ghost, Dragon
__
Now for the Pokémon:
For the Fighting-type: Mankey or Primeape
, Poliwrath
, Machop or Machoke or (Machamp *exclude*)
, Hitmonlee
, and Hitmonchan
For the Ground/Rock-type: Geodude or Graveler or (Golem *exclude*)
, Onix
, and Rhyhorn or Rhydon