One of the most frustrating parts of building out a solution like this is when the system is working and doing the right thing, but you see slippage and losses that your stop loss logic is supposed to prevent. While investigating the problem I discovered that the entry price of a position was actually being pulled in from the moment it was identified as a position, but not the moment that it became a play. So if the system identified a potential position on May 8th but it lacked the conviction to become a play until the 19th, it was actually stamping it with the entry price on the 8th. We have an open position now that's down 9% after being open for less than a minute for that reason. I have put through a fix for this, but alas, my BYD position will go down as a significant loss tomorrow morning when the markets open.