I'm currently using WL6.9 and WL7 both to place trades for the same strategy and same symbol to IB. After using the latest IB build # 14 and WL7 build #39 the orders were placed without any issues but WL7 consistently sent order 5 secs later, whereas WL6.9 was able to send the order right away.
Here's the snapshot from TWS - smaller quantity trade is from WL7 and larger quantity is WL6.9
Both opening and closing trades were 5 secs later and that resulted in poor pricing compared to WL6.9 trades.
Here's the snapshot from TWS - smaller quantity trade is from WL7 and larger quantity is WL6.9
Both opening and closing trades were 5 secs later and that resulted in poor pricing compared to WL6.9 trades.
Rename
I noticed that WL7 takes 3-7 secs to stage an alert. The next 1-minute bar streaming begins 3 to 7 secs late instead of 1 sec past the minute. The moment next 1-minute bar shows up alert is generated almost in an instant. Overall, it takes 5-9 secs to get order filled by TD.
Here's the breakdown of the delay:
1) Alert show up 3 to 7 secs past the minute as the next minute bar shows up 3-7 secs late.
2) It takes another 2-4 secs for order to show up as a 'Working order' In ThinkorSwim.
3) The moment 'Working order' is visible it gets filled in < 1 sec (instant) by TD.
It seems most of the delay is coming from WL7 + communication with broker API. The moment, order is in the broker system it gets filled fast. Not sure why the next minute bar streaming is not quick enough. Is it related to machine CPU? I'm running WL7 on quad-core Intel i7 processor.
Here's the snapshot showing alert placed at 9:12:07 local time or 7 secs past the minute
Here's what it takes for order to get filled by TD. It shows 5-9 secs. I noticed that both buy and sell to-open orders take another 4 secs. Not sure if that is coming from TD side as both to-open and to-close alerts get generated at the same time.
With WL6.9, overall delay is only 1 sec past the minute to get order filled by IB. Please investigate this. This is crucial for intra day trading as more than 5 secs delay doesn't give the best fill price.
Here's the breakdown of the delay:
1) Alert show up 3 to 7 secs past the minute as the next minute bar shows up 3-7 secs late.
2) It takes another 2-4 secs for order to show up as a 'Working order' In ThinkorSwim.
3) The moment 'Working order' is visible it gets filled in < 1 sec (instant) by TD.
It seems most of the delay is coming from WL7 + communication with broker API. The moment, order is in the broker system it gets filled fast. Not sure why the next minute bar streaming is not quick enough. Is it related to machine CPU? I'm running WL7 on quad-core Intel i7 processor.
Here's the snapshot showing alert placed at 9:12:07 local time or 7 secs past the minute
Here's what it takes for order to get filled by TD. It shows 5-9 secs. I noticed that both buy and sell to-open orders take another 4 secs. Not sure if that is coming from TD side as both to-open and to-close alerts get generated at the same time.
With WL6.9, overall delay is only 1 sec past the minute to get order filled by IB. Please investigate this. This is crucial for intra day trading as more than 5 secs delay doesn't give the best fill price.
Here's the snapshot showing when the same 9:12:07 alert got filled by TD.
Since you're mixing IB and TD above, is it correct to assume you're using IB for streaming and TD for trading?
1) It just occurred to me that if using a streaming chart, it's possible that the heartbeat isn't occuring on time. IB doesn't provide a heartbeat, so we subscribe behind the scenes to EURUSD and use its trades for the heartbeat. If neither your symbol nor EURUSD trades at or just after the minute mark, then there will be a delay before the bar closes, which is when the strategy runs.
Update - Actually we get a consistent 5-second update for this EURUSD "streaming bar" subscription, so the IB heartbeat is very accurate.
2) << It takes another 2-4 secs >> - Once the order is placed, there's nothing more we can do. IB is definitely much faster at activating an order than TD over the API.
So that we can evaluate the ticks for the trade times, what time zone are you in? Given the trades starting at 09:12 in Post #2, it must be at least CST unless you're trading premarket.
QUOTE:Are you using a streaming chart or the Strategy Monitor? If the latter, are you using the streaming or polling method? Check the configuration.
I noticed that WL7 takes 3-7 secs to stage an alert.
QUOTE:
Here's the breakdown of the delay:
1) It just occurred to me that if using a streaming chart, it's possible that the heartbeat isn't occuring on time. IB doesn't provide a heartbeat, so we subscribe behind the scenes to EURUSD and use its trades for the heartbeat. If neither your symbol nor EURUSD trades at or just after the minute mark, then there will be a delay before the bar closes, which is when the strategy runs.
Update - Actually we get a consistent 5-second update for this EURUSD "streaming bar" subscription, so the IB heartbeat is very accurate.
2) << It takes another 2-4 secs >> - Once the order is placed, there's nothing more we can do. IB is definitely much faster at activating an order than TD over the API.
QUOTE:I agree that any artificial delay is generally not desirable.
This is crucial for intra day trading
QUOTE:But you'll have to agree that sometime a delay will actually give you a better price! Market order slippage works both ways - only in a backtest is it always a negative.
as more than 5 secs delay doesn't give the best fill price.
So that we can evaluate the ticks for the trade times, what time zone are you in? Given the trades starting at 09:12 in Post #2, it must be at least CST unless you're trading premarket.
I'm not mixing IB and TD. Since this was a question about about delay I wanted to post in the same thread. I'm streaming and trading using TD in Post #2.
I'm using a streaming chart. Do you think Strategy Monitor will generate faster alerts?
Does TD provide a heartbeat?
Yes, I'm CST zone but my streaming charts are in EST. I see alert time stamps are listed in local time zone CST.
QUOTE:
Are you using a streaming chart or the Strategy Monitor?
I'm using a streaming chart. Do you think Strategy Monitor will generate faster alerts?
QUOTE:
IB doesn't provide a heartbeat.
Does TD provide a heartbeat?
QUOTE:
what time zone are you in? Given the trades starting at 09:12 in Post #2, it must be at least CST unless you're trading premarket.
Yes, I'm CST zone but my streaming charts are in EST. I see alert time stamps are listed in local time zone CST.
Does the latest build have time improvements in placing orders?
QUOTE:No.
I'm using a streaming chart. Do you think Strategy Monitor will generate faster alerts?
QUOTE:
Does TD provide a heartbeat?
For TD, we subscribe to QQQ behind the scenes to get frequent updates to use as a heartbeat. A streaming bar is closed as soon as there's a tick in the next interval for either symbol.
Correction on the IB "heartbeat" in Post #3 - we actually get an update for the EUR/USD "streaming bar" subscription every 5 seconds. This is an accurate heartbeat.
QUOTE:
Does the latest build have time improvements in placing orders?
Let's be clear - there is no delay in placing orders that are signaled. I think we're actually talking about generating the signals if the bar doesn't close quickly at the end of the interval, correct?
Even though Build 16 uses a different 'callback' for the stream, it should have not had any effect on closing the bar more quickly. I was looking at this quite closely for a couple weeks and didn't notice a delay, but I'll take a look again next week and pay close attention to closing an interval even when the instrument hasn't created a tick in the next interval.
I've looked at this today with active and non-active symbols. Signals are triggered, auto-placed, and Active at IB within 1 second of the end-of-interval.
I can't explain your experience, and the only thing that comes to mind is that your local clock is advanced when compared to TWS market time. Check that the time in lower right corner of WL7 is synchronized with the time shown in the upper right of TWS.
fwiw, for me right now Windows time syncs 3 seconds advanced compared to TWS time. This would make it 'appear' that the orders are delayed by 3 seconds in Wealth-Lab's signals timestamps. It's a cosmetic delay that does not exist. To sync up the seconds manually, you have to use the Control Panel > Clock & Region > Set the Date and Time.
I can't explain your experience, and the only thing that comes to mind is that your local clock is advanced when compared to TWS market time. Check that the time in lower right corner of WL7 is synchronized with the time shown in the upper right of TWS.
fwiw, for me right now Windows time syncs 3 seconds advanced compared to TWS time. This would make it 'appear' that the orders are delayed by 3 seconds in Wealth-Lab's signals timestamps. It's a cosmetic delay that does not exist. To sync up the seconds manually, you have to use the Control Panel > Clock & Region > Set the Date and Time.
Your Response
Post
Edit Post
Login is required