[ts-gen] STP v LMT entry; was: Parent/child OCA groups
Ken Feng
kfmfe04 at gmail.com
Fri Aug 21 13:46:22 EDT 2009
Hi Russ,
The I agree with IB"s definitions. However, I don't think what you
have here is correct.
On 8/22/09, R P Herrold <herrold at owlriver.com> wrote:
> I have always planned on the 'remembered' "fact" that a LMT
> converts to a MKT when touched. As I seem to have
> 'mis-remembered', however, I have not _looked_ at me data
> streams for confirmation or denial of that behaviour
What you have described here is actually a STP order. If I have a BUY
STP at 105, above the current market of 100, it means if a fill
occurred at 105 in the market, my BUY becomes a MKT BUY. It may be a
good idea to re-read IB's definitions carefully.
> The text above, however, does not state that as to a LMT. It
> appears that a STP _does_ 'submit a ... market order if and
> when the user-specified ... trigger price is attained'
That is because in the basic cases, there are:
1. STP orders (my example)
2. LMT orders (what most people use)
3. STP-LMT orders (a STP order with LMT conditionals so you don't get
a bad fill, but you could get no fills at all)
> Am I correct as to the analysis thought process you used to
> arrive at a pair of STP's for the position open?
No exactly. Let's nail down the basics. If IBM is at 100 and I am a
value investor, I can use:
- OCA: LMT BUY at 95, LMT SELL at 105, because I think IBM is expensive at
105 and cheap at 95. I don't know which way the market will go, so if
either order is hit, I want the other one to be canceled. Reason?
Maybe because if I am able to sell some at 105, perhaps I want to put
in a new LMT order to sell some more at 110 or 115.
If I am a momentum investor, I can use:
- OCA; STP BUY at 105, STP SELL at 95, because if the price hits 95, I think
it will collapse like a deck of cards, but if it hits 105 first, a
flood of buyers will come in and ride the good news.
Why use OCA orders at all? I could just want for the price to get
close to 105 and then put in a market order. But if I use an OCA, I
get in the order queue, and it is less maintenance (hence, less room
for error, etc...).
Open vs Close: an open order is one where you start flat (no
position) and you end up either long or short. A close order is one
where you start with a position and end up flat.
Well, if there is no way to currently to do a simple one-tier OCA
order using implied OCA, I will have to find a way to code it manually
to cancel the other leg if one leg gets filled...
- K
More information about the ts-general
mailing list