I am testing the new QuoteTrader IB Plugin APIs in eSignal 10.
The eSignal version is version 858, and QuoteTrader is build 959.
There are a few serious problems I have identified. First, whenever I send out an new order through API by clicking a button, right after the order is sent out, the CPU utilization shoots up to almost 100%. The CPU time consumed by winsig may shoot from 10 to 98 or 99 and lasts for quite a long time (from a few seconds to much more than 10 seconds). In the IntegratedTrading window, it can be seen there are alway more than a few seconds delay between "Place order; id = xxx ..." and "Order xxx New" messages. The timestamp of "Order xxx New", "Order xxx Submitted" and "Order xxx Filled" may be of less delay, however there may be quite a long time delay before the messages are really shown in the "Messages" window. Basically during that period the computer just hangs up. If during that freezing time period, more orders are sent out by APIs by clicking the buttons, those orders (actions) may just be queued somewhere in eSignal and got executed later.
For example, in the screenshot I made, at 13:28:44 I mistakenly sent out a buy market order with order size without enough buying power, the order was rejected. The problem is that this event causing eSignal hanging up for about 20 seconds, during that time, I clicked sell buttons for three times, these three orders were queued in eSignal untill at around 13:29:18 they were sent to IB TWS in a burst, the orders were executed in IB TWS about three seconds later. however those messages from #482 to #491 were shown in "Messages" window after more than 90 seconds. In IB execution window, there last three sell orders were executed at 13:29:19, 13:29:20, 13:29:21 respectively, and in "Messages" window of eSignal IntegratedTrading window, they were reported being filled at 13:29:20. 13:29:23 and 13:29:26 respectively, and the actual display time was after 13:31:00. During these three minutes the eSignal just hangs up for most of the time and the CPU is close to 100% busy.
So in general, I think there are some implementation issues in IB Plugin design regarding to the communication between IB TWS and IB Plugin, which may be something like busy polling causing the excessive CPU utilization. Before such unpredicatable excessive delay issue being solved, it is not practical to use these generic trading APIs in real trading.
- Clearpicks
The eSignal version is version 858, and QuoteTrader is build 959.
There are a few serious problems I have identified. First, whenever I send out an new order through API by clicking a button, right after the order is sent out, the CPU utilization shoots up to almost 100%. The CPU time consumed by winsig may shoot from 10 to 98 or 99 and lasts for quite a long time (from a few seconds to much more than 10 seconds). In the IntegratedTrading window, it can be seen there are alway more than a few seconds delay between "Place order; id = xxx ..." and "Order xxx New" messages. The timestamp of "Order xxx New", "Order xxx Submitted" and "Order xxx Filled" may be of less delay, however there may be quite a long time delay before the messages are really shown in the "Messages" window. Basically during that period the computer just hangs up. If during that freezing time period, more orders are sent out by APIs by clicking the buttons, those orders (actions) may just be queued somewhere in eSignal and got executed later.
For example, in the screenshot I made, at 13:28:44 I mistakenly sent out a buy market order with order size without enough buying power, the order was rejected. The problem is that this event causing eSignal hanging up for about 20 seconds, during that time, I clicked sell buttons for three times, these three orders were queued in eSignal untill at around 13:29:18 they were sent to IB TWS in a burst, the orders were executed in IB TWS about three seconds later. however those messages from #482 to #491 were shown in "Messages" window after more than 90 seconds. In IB execution window, there last three sell orders were executed at 13:29:19, 13:29:20, 13:29:21 respectively, and in "Messages" window of eSignal IntegratedTrading window, they were reported being filled at 13:29:20. 13:29:23 and 13:29:26 respectively, and the actual display time was after 13:31:00. During these three minutes the eSignal just hangs up for most of the time and the CPU is close to 100% busy.
So in general, I think there are some implementation issues in IB Plugin design regarding to the communication between IB TWS and IB Plugin, which may be something like busy polling causing the excessive CPU utilization. Before such unpredicatable excessive delay issue being solved, it is not practical to use these generic trading APIs in real trading.
- Clearpicks
Comment