Americans don't need to use "have" in this instance:
"I crossed my fingers for you" can mean it was done a week ago or a second ago.
We can also say "I have my fingers crossed for you", if you must use "have".
"I'll cross my fingers for you" should be for a wish that will happen (we hope!) in the future.