A better Way To Enter This Order in IB ?

Discussion in 'Order Execution' started by Gravestone Doji, Aug 24, 2008.

  1. I have been trying several different trading strategies including the familiar "Stop Order" to trigger and execute a long/(short) trade when a specific price is touched on the upside/(downside).

    While opening a position on a stop works properly for certain strategies, I have been experimenting with other intraday strategies that, rather than just touch or penetrate, require an intraday bar to actually CLOSE above/(below) a certain price level. Then, once this bar has CLOSED, go long/(short) to open.

    To my knowledge IB doesn't have any order type that I can configure to full-fill this type of intraday-bar entry method. So the only thing I can do is have a "Market Order" ready with my mouse hovering over the "T" to transmit my order as soon as a bar (that meets all the parameters of my entry rules) has closed. Needless to say that more often then not, my fills have been poor when compared to the opening price of the next intraday bar.

    I know a lot of you trade off charts. I have Quote Tracker and I can certainly set it up to hit BUY when I see a bar complete. But this, too, would require a delay in order placement and potentially be just as poor (fill-wise) as doing it manually in TWS. Is there a better way to set up my orders so that I can, more often then not, get close (within a few cents) to the opening price of the next bar?

    Any help or suggestions would be very helpful and appreciated. TIA
  2. You might try a good after time on the market order and add a condition that the market be above or below the level required.

    Not completely sure if this will work or how fast it will be.

    Actually looking at TWS there doesnt seem to be a way of adding a good after time through TWS however you can defintely do it via the API, so maybe some of the IB front ends allow to set this field on an order.

    Personally i would just code up the strat in a custom TWS client, coded in java,c++,c# or whatever. The code would be quite simple and based on the examples provided or found on the internet.
  3. Please explain what you mean by "You might try a good after time on the market order." Are you saying that I should wait for a predetermined amount of time before placing my market order? How does that get better fills? I want to get as close as possible to the open of the following intraday bar after the close of the prior bar is above a certain level. In a fast moving market (and even in slow moving markets) my fills are sometimes terrible compared to the open price of the next bar. And I'm trading very liquid stocks and ETFs.

    Ideally I'd want to place a MOC order yet be able to specify the "close" by time of day, and execute it only if it's above a certain price level. Where's that order type in IB ?

    The more I think about it, I guess there's likely no solution to poor fills. It's unlikely one can be sure to obtain the open price of the next intraday bar. But certainly some people are getting in at that price. Would be nice to at least know I could get close on a consistent basis. I reckon I'm finding out the hard way what the term "slippage" means.
  4. The IB backend servers can most probably handle this type of order. However it appears that the time part can only be set via the TWS API and the conditional part only via the TWS front end!

    So you would have to submit the time delayed specified market order via the API and then manually modify it to add a condition. However if you go through the work of coding a API client you might aswell do the conditional logic in your API client code yourself and not rely on the TWS servers as this will save the manual step.

    However its worrying that your fills are so bad, even if you automate this strat i wonder if you will see any improvements in your fills?
  5. Well I don't have the skills to go about coding an API client for TWS. I have a pretty good understanding of Excel and experienced in writing formulas, but have never developed an API client. Sounds complicated.

    My fills are not always so bad. Perhaps I exaggerated a bit when I referred to them as "terrible" sometimes. I know there's always a bid - ask spread and I don't expect to be able to nail an execution exactly at the open price of the next bar. But it feels rather obsolete and out-dated to enter a market order manually. I just thought maybe others have a better method, or a quicker way to get the order submitted. Nickles and dimes add up, especially when I decide to start trading larger size lots. And that's one thing that has me concerned. I'm thinking to myself, is this the proper method to enter a 1000 share lot, or greater? I've had fills that are sometimes 12 - 15 cents different from the open of the next bar. This was in a fast-moving market and of course the time that expired between the bar closing and my hitting the "T" to transmit my order all played a part. But still, that would be a "terrible" fill on a 1000 share trade, IMHO.
  6. jordanf


    Although I'm not sure you can accomplish what you want using it, but Good-After-Time is available in TWS. It's just hidden by default.


    Configure - Feature Selector - Order Management - Time In Force - Good after