I'm getting very different pricing on my internal controls than on Q's backtester on one of my frequent trading/intraday algos. This is regardless of how I tweak the fee and slippage settings. I've already determined its due to filled pricing differentials, which on frequent trades of 5 or 6 per stock per day, add up to a lot of moolah.
So my understanding is that Q listens and gathers data from IB and send it along every minute. So if a price rises from 100.00 to 100.30 in minute 9:32-9:33 am it will report the OHLC minute bar at 9:33 as 100.00 / 100.30 / 100.00 / 100.30.
1) If I then fire off an order to buy a 9:33:01 with order_target_percent(context.stock,1), when will it get sent to IB ? At 9:33:01:xx or at 9:34?
2) Does Q assume the fill price is the mean price of the next minute bar (9:34) , or the weighted average price or the closing price of the next bar?
If the answer to the first question is "immediate" (9:33:01), the a solution for day trading in order to assure good pricing is to only send
limit orders or stop / limit , to monitor closely whether or not they get filled and to cancel them and resend them as appropriate for the strategy
If the answer is "delayed by one minute", then intraday strategies , imho, become efforts in futility on Q's platform. That would be a shame, but at least I would know to only focus on swing trading strategies.
I appreciate all input.