Last updated 4 August 2026

Slow performance

In short

On average, order placement takes 100 to 200 milliseconds (0.1 to 0.2 seconds). AutoTrader Web's own server adds only about 20 milliseconds to that; most of the time is spent on your stock broker's server. If you see slower numbers, the usual causes are your network speed, load on your broker's server, or a first-of-the-day login. To measure it yourself, open Tools -> Activity: every log entry is timestamped down to the millisecond, so subtract the time of the 'Placing order' entry from the 'SUCCESS ... Result' entry to get the exact time taken. This works for every order, including orders you placed from your own program through the API. Average it over at least 100 operations.

When this happens

  1. 1 Your network connection speed.
  2. 2 Load on AutoTrader's server.
  3. 3 Load on your stock broker's server, such as during market start or end.
  4. 4 Speed of execution on your broker's server.
  5. 5 AutoTrader needing a first-of-day login before it can run a command.

Sometimes users may find performance to be more than the average. This page explains how performance works, what can slow it down, and how to measure it correctly.

Understand performance

Our system does not do much processing. It acts as an intermediate server, so its job is to be a bridge. The actual processing happens on your stock broker’s server. Because of this, the performance numbers depend a lot on your broker server’s performance.

To calculate performance correctly, take an average of at least 100 operations.

What can affect performance

If AutoTrader is not logged in to your account, it must log in before it runs any other command. This login can take time. You may notice it on the first order of the day, or when the session expires.

AutoTrader Web’s server

Slowness caused by external factors, like your network and your broker’s trading servers, is out of our control.

One thing we can guarantee: AutoTrader Web’s server processes any command in about 20 milliseconds (0.02 seconds) on average. That is the time our own code runs. The rest of the time is taken by your stock broker’s server.

Building a highly efficient system is always our priority. So any genuine performance issue caused by our code will be investigated and improved by us.

How to measure performance

Measure performance by the time AutoTrader took to run an operation.

Some users make the mistake of using the stock price tick time to calculate performance. This is wrong. A price tick of 12:12:55 pm might reach your computer at 12:12:57 pm.

The full chain has three parts, and each has a different owner:

StepWho is responsible
Time for the live price to reach your computerYour datafeed provider
Time for strategy executionYour strategy’s complexity and your PC hardware/software
Time once your strategy calls an AutoTrader API functionAutoTrader

The last row is the only part we control, and you can measure it exactly. The next section shows how.

Measure it yourself on the Activity screen

You do not have to take our word for the numbers. Open Tools -> Activity and read them off your own account.

Every activity entry is timestamped down to the millisecond, so the measurement is simple subtraction. Placing an order writes two entries:

EntryWhat it means
Placing order: Order [...]The moment we received your order.
SUCCESS - [...]. Result: ...The moment your broker replied with the order id.

For example:

10:15:32.118 AM   [AB1234]: Placing order: Order [BUY 1 Qty (SBIN) @ 990.0 (LIMIT)]
10:15:32.267 AM   SUCCESS - [MyAccount | mybroker | AB1234]. Result: 250804000123456

32.267 - 32.118 = 0.149 seconds, so that order took 149 milliseconds. Around 20 milliseconds of it is our system; the rest is your broker.

This is the most reliable measurement you can make, for two reasons. It is the real time of a real order in your own account, not an average. And it leaves out the time your own internet connection took to reach us, so it separates your network from our system and your broker.

This works for API orders too

If you place orders from your own program, the Activity screen is where the timing lives. The API response does not carry it, and you do not need to change any code to get it.

  1. Place the order. The API response contains a commandId.
  2. Paste that command id into the filter box on Tools -> Activity.
  3. You now see only that order’s entries. Subtract the two times as above.

Compare that with the full round trip your own code measured. The difference between the two numbers is your network plus your code, which is the part you can improve at your end.

Read your strategy or desktop client logs

You can also calculate the number from your strategy’s own logs, or from the AutoTrader desktop client’s logs if you use it.

Here are sample log entries. The order placement time is the gap between the “Processing line” entry and the “Successfully sent the command to server” entry.

It took approximately 0.2 seconds:

10:00:08.013 DEBUG InputFileMonitor : Processing line: PLACE_ORDER,XX9999,556874-1,REGULAR,NSE,SBIN,SELL,LIMIT,INTRADAY,16,130.50000,0.00000,0.00000,0.00000,0.00000,0,DAY,false,1593598464,-1,
10:00:08.209  INFO FileChangeListener : Successfully sent the command to server.
10:00:08.210  INFO FileChangeListener : Result: 200701001183871

It took approximately 0.16 seconds:

10:30:02.431 DEBUG InputFileMonitor : Processing line: PLACE_ORDER,XX9999,556874-2,REGULAR,NSE,WIPRO,BUY,SL_MARKET,INTRADAY,6,0.00000,436.95001,0.00000,0.00000,0.00000,0,DAY,false,1593598464,-1,
10:30:02.590  INFO FileChangeListener : Successfully sent the command to server.
10:30:02.591  INFO FileChangeListener : Result: 200701001184003

It took approximately 0.2 seconds:

10:00:10.564 DEBUG InputFileMonitor : Processing line: PLACE_ORDER,XX9999,556874-3,REGULAR,NSE,DMART,SELL,LIMIT,INTRADAY,2,1327.09985,0.00000,0.00000,0.00000,0.00000,0,DAY,false,1593598464,-1,
10:00:10.776  INFO FileChangeListener : Successfully sent the command to server.
10:00:10.777  INFO FileChangeListener : Result: 200701001184663
Did this solve your problem?
Contact support