Last updated 8 October 2026

Slow performance

In short

Measured across more than 35,000 live orders, a typical order placement takes about 80 milliseconds (0.08 seconds). One order in four completes in under 45 milliseconds, and the fastest in under 30. AutoTrader Web's own server adds typically under 15 milliseconds of that; the rest is the trip to your broker and your broker processing the order. Your own speed depends mainly on the static IP your account uses (IPv6 and premium IPv4 are the fastest; the standard IPv4 is slower) and on how fast your broker's servers process the order. Other causes of slower numbers are load on your broker's server, your network speed, 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 The type of static IP your account uses. The standard IPv4 is slower than IPv6 or premium IPv4.
  2. 2 Your network connection speed.
  3. 3 Load on AutoTrader's server.
  4. 4 Load on your stock broker's server, such as during market start or end.
  5. 5 Speed of execution on your broker's server.
  6. 6 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 show you: AutoTrader Web’s own server typically takes under 15 milliseconds (0.015 seconds) to process an order. That is the time our own code runs. The rest of the time is the trip to your broker and your broker’s own server.

Measured across more than 35,000 live orders, a complete order placement typically takes about 80 milliseconds. One order in four completes in under 45 milliseconds, and the fastest in under 30.

Your static IP and your broker decide most of the time

Once our own few milliseconds are done, two things decide how long the order takes:

  • The static IP your account uses. Most brokers only accept orders from a registered static IP, and the type of IP changes the route your order takes. IPv6 and premium IPv4 are the fastest. The standard IPv4 is slower. If your broker supports IPv6, that is the fastest and cheapest choice. See speed and performance for the measured comparison.
  • How fast your broker’s servers process the order. This differs from broker to broker and through the day. Market open and close are the busiest moments for every broker.

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.

Note also that work for many accounts is done in parallel, never one account after another. If you place, modify, cancel or square off across many accounts, or if a master order is copied to many child accounts, all of those accounts are processed at the same time. So a large number of accounts does not multiply the time taken. Our full measured numbers are on the speed and performance page.

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.198 AM   SUCCESS - [MyAccount | mybroker | AB1234]. Result: 250804000123456

32.198 - 32.118 = 0.080 seconds, so that order took 80 milliseconds. Usually under 15 milliseconds of that is our system; the rest is the trip to your broker and your broker processing it.

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 own strategy logs

You can also measure the time from your strategy’s own logs.

The AmiBroker, MetaTrader and Excel libraries all have a debug switch in their settings file. Turn it on and the library prints every request and every reply, so you can see how long the platform took to answer. It never prints your API key, and you should turn it off again once you are done — it is noisy.

LibrarySettingWhere the lines appear
AmiBrokerAT_HTTP_DEBUG in autotrader-http-config.aflAmiBroker trace window
MetaTraderAT_HTTP_DEBUG in autotrader-http-config.mqhThe Experts tab
ExcelAT_HTTP_DEBUG in the AutoTraderConfig moduleThe VBA Immediate window (Ctrl+G)

The most reliable timing, though, is not in your logs at all. Tools → Activity timestamps every entry to the millisecond, for every order, however it was placed. Subtract the time of the Placing order entry from the SUCCESS ... Result entry.

Did this solve your problem?
Contact support