Well done phil838!! Everything looks great!!
btw, there's no need for magic number because we have keep track of the order ticket number!!
What I can suggest is that to:-
1) remove unneccessary code
2) heavily comment the code
3) putting in more checks to handle user errors; example, 0.02 or 2%, checking lot size is reasonable, etc.......more like unit test the code
4) remove opposite pending order when current ATR is 40% of weekly 14 ATR
5) remove opposite pending order when it has reached wednesday
6) GMT Offset
7) 4 digit to 5 digit broker conversion