Yes I will not get gratuity if I didn't finish my contract.
you can also ask your new employer to see if they would 'buy out' the gratutity due to be paid out.
Negotiate with your current employer but your contract expires on the expiry date. If you sign a new contract then that new contract either goes by the probationary period (you may or may not have one), and/or the notice period.