You are having a tough time - but I think you hit the nail on the head when you said "too strict" & "too inconsistent".
The anger children feel can be difficult to deal with.
Missing out on treats will do no good because I bet she's too young to make the connection between what she did and not getting treat. Her brain just won't let her understand.
For this to work she needs to be mature enough to weigh up what happenend last time she was naughty and work out whether she should, on balance, change her behaviour. I know many adults who can't do that!
I expect the red mist of rage erupts and she is "living in the now". She won't remember anything you told her and won't know why she's lashing out.
At school children are given constant gentle reminders about what good behaviour looks like - it's important to describe what you see is good and to ignore the bad.
Teachers say things like "good listening Jonny" and "nice sitting still Bobby" which helps everyone else know what they should be doing.
At home we often get it the wrong way round and spend our time telling children what not to do - which perversely makes them more likely to do it! It's like saying "don't think of an elephant" - and bang - what are you thinking of!
So "don't cry/hit/fight" often has the wrong effect - we should be trying "nice building/listening/playing".
Hard I know and we all get it wrong everyday - but just keep trying!