On move 4 you could exchange queens Qxd1 Kxd1 and then Ng4 with threats Nxf2 and Nxe5 you would won a pawn. On moves 5-7 positional sacrifice e5-e6 damaging your pawn structure is very strong fot white. 16…g5 you gave pawn for nothing, dońt understand why white didńt take it. 18…Nd2 you trapped your own knight. Rfd1 (instead of Rad1?? Blundering exchange) woul won your knight.