You've identified one problem that can happen when you run your trading system software using pit data, but trade it in the electronic market: stop orders (and/or limit orders) can be filled in one but not filled in the other.
There is a second problem: trading system calculations (indicators and so on) sometimes use the high and the low. If the high or low prices are different between pit data and electronic market data, your system's calculations don't match the market data where it is being traded. The simplest example is the ATR or Average True Range calculation. If your stop is 2.0*ATR from entry, you need the correct value of ATR in order to place your stop. If ATR is too small (as it will be if you calculate ATR using pit data), your stop will be too close, and sometimes you'll be stopped out of a trade when you shouldn't be. This can even happen on a day when the pit data perfectly matches the electronic data, OHLC are all identical. How can this be? Because ATRs weren't equal, because
prior days' highs and lows were different. Ugh.
Indicators that use high and low data include Stochastics, ADX, Parabolic, anything that employs True Range or ATR, etc.
What can you DO about it? There are several possibilities, but none are terribly appealing
- Decide to live with it (perhaps after lots of what-if testing). Accept that you will sometimes get different trades or different fills in your account, than in your software. Each time this happens in real-life trading, deal with it manually, on a case-by-case basis.
- Change your system so it doesn't use the high or low in any of its calculations and indicators. Don't use stop orders or limit orders. Now you and your system don't care about any prices except the open and/or the close.
- Find a data vendor who will supply you with electronic market data for the specific trading-times you actually trade. (Or, change the times you actually trade (via Interactive Brokers software setup?) to match the specific trading-times of your electronic market data).
- Become your own data vendor. Obtain 24 hour electronic session intraday data (5 minute bars?) and use it to build your own custom daily bars that match your own specific trading-times. You can do this for "data to trade with" (i.e. the present and the future), and you can also do it for "data to test with" (i.e. past history), for backtesting. Beware, historical intraday data isn't cheap, especially if you buy lots of it for lots of instruments. One piece of good news is that "data to trade with" need not be the super expensive realtime option. The far cheaper 20 minute delayed data (or even 60 minute delayed) is just fine, if all you want to do is construct daily bars after tonight's close, then generate signals before tomorrow's open.
Personally, I find option 3 to be the worst of the bunch. Who knows how long the world will have to wait, before such a vendor emerges? What is the opportunity cost of not trading while I wait? And how do I know that the first such vendor's infrastructure and data will be reliable, accurate, and worth risking my capital upon?
My own preference is to pursue a combination of the other options. Note that 1&2 are not incompatible if you trade more than one system. Note that 1&4 are not incompatible if you have a "time of transition" where you are doing a live trial (like papertrading except with real trades and real money). You might recoil in horror, feeling that only a stoic, a hair-shirt Minnesota libertarian, would prefer such a bothersome and annoying approach. To each their own.