I'd be willing to open an account just for this feature, to avoid writing my own simulator. I'm looking for something like Interactive Brokers demo account (or sim account), but something I can use off-market hours for something like stocks. In other words, I'd like the simulator to work well enough to mimic hitting sitting limit orders, or at least fill them as the market passes through them, but also something that deals with real market movements.
C++ API or some socket API would be ideal. Something like TradeStation is not a solution because EasyLanguage is too restrictive. Something that gets as close as possible to the market. Something that lets me replay my own data and is not a broker would also work, so long as it has some C++/C/Java/whatever tie-ins.