Which of the following sentences are grammatically correct?

(I) - "I cooked dinner" is past tense.  Most commonly it means you just finished cooking dinner, and it is ready to eat.  You could also say "I've cooked dinner" to mean the same thing, but that's a bit more formal and unusual in spoken English in the US.  Another meaning of "I've cooked dinner" is that you have cooked dinner at least once in your life. "I cooked dinner" is also past tense for telling stories ("Last night, I cooked dinner, then I ate it, and then I went to bed.")  But you CANNOT use "I've cooked dinner" this way. (II) - "I'm cooking dinner" is usually present tense and means you are cooking dinner but haven't finished.  "I've been cooking dinner" is similar but it emphasizes that you have been cooking for some amount of time.  If someone asks "Did you see what happened outside an hour ago?" you could answer: "No, I've been cooking dinner!"  

"I'm cooking dinner" is also used conversationally as future tense to tell someone that you are going to cook dinner tonight.  For example, "Come to my house at 7 p.m.  I'm cooking dinner."

(III) "I am studying since..." is incorrect.  "I've been studying since 2 AM" means you started studying at 2 AM and you are still studying.