Autotrade slippage

I am getting ridiculous slippages with the Autotrade feedback in a slow market. When I think I have 6 ticks gains and using limit orders to get in and out, a few minutes later the Autotrader shows that I actually had no gains at all!

It is very frustrating, because it takes 2-3 minutes for the actual fill to show up, so I have to guess just what kind of fills the subscribers got. And most of the time it is negative slippage. It used to be only 1-2 ticks, (bad enough) but today I got 5-6 ticks in a slow moving market using limit orders…

Limit orders by definition guarantee your entry price, no?

No that’s not true with C2. With autosync and autotrading, if a limit order does not go through in the real account after a certain time frame, it get’s converted to a market order.

This can create a problem with low volume equities that are not great for market orders. Essentially, you are best off using only market order or limit orders that are well within the market price at the time of the order.


Is that with Easy Button?, it looks like zero slippage on the C2 website. It might be related to the interface. With Gen3 autotrading using OEC, I have been happy with fills using market orders. I did see one issue with an Oil contract that showed an error at OEC and did not close (even with autosync). I called OEC and they said that with low volume pre-market you need to place a limit order. When I place a manual limit order it closed right away.

But, with NQ, ES and YM I have not seen that problem.


No. Here is how it works, so everyone understands the problem:

Let’s say I put a limit buy order for ES at 870. There are probably 500 or more contracts sitting on that level, so in a slow market it is possible that the price go there but only partially fills, in plain the price doesn’t trade through. The way how C2 works is that after 10 seconds (I think) if the price was touched, but the subscriber hasn’t been filled yet it transfers to market order and executes as such. But during that 10 seconds even a slow market can move 2-3 ticks away, thus the subscriber gets a 2-3 ticks worse fill than the original limit order was. But! The vendor doesn’t know this until another 2-3 minutes! All I see is that 870 was touched, C2 first shows that I got filled at 870.Then 3 minutes later C2 CORRECTS itself to the actual subscriber’s fills. But during that 3 minutes the market moved and I am basing my decission on FALSE information!!!

This thing happened several times in the last days, when I got out of a position rather quick in a few minutes, thinking that I made 4-5 ticks, then C2 corrected the fills and I end up with nothing, because 2 ticks slippage when both getting in and out.

Today was the worse, when just getting in got a 5 ticks slippage and getting out another 1 tick. Now I don’t know how could this problem be solved beside completely altering the trading strategy. If I use market orders, I still get at leas 2 ticks slippage, so I am not much better off, except I know the price immediately. If it was just 1 tick, I could live with that, but 5 ticks is unacceptable in a slow market, using limit orders…

If-touched problem. Think about the limitation of limits both in the market and on a third party verification site.

How unfortunate. My broker fills my limit orders at the specified price, or does not fill them at all. That is the purpose of the limit. If C2 auto-trading does not adhere to this rule, it is not a limit order. The resulting slippage is not conducive to scalping systems, but very good for market makers and specialists.

The problem is related to the C2 account getting the fill and the subscriber account not. The limit on C2 works as you would expect, but to keep the subscriber accounts and C2 account in sync, the limit is converted to a market.

Matt, if someone were to keep autosync OFF, would a limit still get changed into a market or would it not fill? It would be nice to have an option as a subscriber to prevent limit to market conversion, allowing a subscriber to effectively pass on a signal or hold for the limit price.


But what you’re proposing is essentially a “turn autotrade off as soon as the vendor enters a non-market-clearing limit price.” Once you as a trader decide to turn off synchronization, you are saying, "I don’t want to continue following the system."

The trade-off here is fidelity to the system versus slippage. C2 always chooses fidelity to the system.

By the way, what people tend to miss in discussions about this issue is that anyone managing money faces the same exact problem, but it’s hidden from clients. Think about it like this. Let’s say someone runs the “Easy Button Hedge Fund.” He has $20 million dollars invested in his fund. He places a limit order. Alas, only a small percentage of his order fills at the price he wishes for. What does he do? He either aborts the order, or he takes the rest at a worse price. Hey, guess what? You just achieved the same results C2 achieves, in aggregate, for autotraders! Know what I mean?

Yes, I know what you mean. reality verses paper. The bigger issue is trying to trade significant volume during pre/post market or with low volume securities.

We had talked about this some time ago. At the time we both thought that the vendor could be given the option of setting the time for a limit order to fill before conversion.

Depending on the type of system, missing 1 signal may or may not be a big deal. The other thing is that it might be ok to miss an opening trade, but a closing trade is a different matter.

For example the vendor or user could set the following parameters for a system that trades low volume stocks.

Time before limit conversion for open order: 1 hour

convert to market or cancel: cancel

Time before limit conversion for close order: 30sec

no option for cancel, only market allowed

If the open trade is closed on C2 before being filled, it would cancel the order.

You would need to deal with partial fills, by canceling or converting to market any remaining unfilled shares and scaling down that trade.

Lastly, this will certainly not help with the realism calculation. Sometimes you take the signal and sometimes you don’t.

This maybe too much for individual subscribers to set, but it would be nice for the vendor.



Are you saying that C2 never submits limit orders to the brokers, only market orders all of the time?

If this is the case, I see this as a major problem.

If I submit a limit order trade alert, that is what I mean. If I wanted a market order to go to the brokers, I would say so.

Strategically, I have my reasons for not submitting a market order.

So, what exactly are you saying?

C2 submits limit orders to brokers of AutoTraders every time system vendors enter limit orders in their C2 systems.

The issue is: what happens when the limit orders are not market-clearing – that is, when only a few lucky accounts fill at the desired price, but not all. In that case, C2 will convert the "unlucky" accounts to market orders to keep them in sync with system intentions.

Thanks for the clarification Matthew.

So, in light of this information, I still see this as a problem but not necessarily a major one.

Hopefully, none of my limit orders will ever get converted to market orders.

The way that I set up things should ensure that this will never happen in my case. (In a buy limit situation, if fill sizes are exhausted at the current ask price then things should progress up to the next ask size above it and so on and so on until all limits are matched to the sizes available which are not too far above the current ask price).

So,hopefully it works out.

The most visible problem with my method, though, is the penalization I get from that New Worst-Case Slippage statistic. I really wish you would get rid of it.

That means scalping systems on illiquid stocks won’t work well on C2. But that’s true of the ‘real’ world as well.


I understand there is simply no perfect way to solve the partial fill problem. But:

1. Vendors and subscribers should be made aware of this occurance. The bottomline is that quick scalping systems can not be autotraded through C2. Now after this thread, at least more people are aware of it.

2. The vendor is still left in the dark for 2-3 minutes about the real filled price, until all the autotraders backfill report come back. It could be either made faster somehow, or maybe the price could be made bold or something, indicating that that is the final,real price. Right now the only way to know what the final price is, when it is different from the originally reported C2 price.

Maybe the first price could be flashing, (indicating that this is just a theoretical fill,) and would become normal when all the reports came back…

These are good suggestions, and I may be able to implement most of these in some fashion. Thanks.

I think the best solution out there is to “wait for the ask.” In every market, it is only when the ask hits the market buy or the bid hits the market sell which happens faster. If you just waited for the limit to hit either the bid or ask, then change to a market order rather than instantaneously when the bid and ask prices are in synch, and not based on the last price. This will accomplish the system’s goal.