You are misunderstanding how it works then.
Using this enchant as example:
CalcValue() * GetStackAmount()
stacks min max
1 	600 	800
2 	1200 	1600
3 	1800 	2400
4 	2400 	3200
5 	3000 	4000 

Your code:
(600) to (800 * max) - and that would mean that at 5 stacks your code would have a chance to deal 600 damage, which is completely wrong.