Script produces multiple entries on limit order

When criteria are met my script places a limit order for one contract, if regression hits the limit order, the order is executes entry for the one contract and it is filled (obvious).

Not obvious = 1-2 times per day the script will decide that instead of entering one contract it will enter multiple, 34 contracts up to 118 the most I have seen yet.

I have always had Position.MarketPosition == MarketPosition.Flat in the script, I added two more “position zero” criteria to prevent this Position.Quantity == 0 and inTrade = true/false flag but it happened again today. I am thinking of adding a “one entry execution” per bar in hopes to eliminate this but there is a risk it could happen at bar close :59 - :00 so I’m not 100% sold on this.

Any idea what “root cause” could be, I’ve never had this happen with any other script - I am at a complete loss on this one ATM.