Use api send OSO order some time be reject one osoId

I send a OSO order with param, now mnq price is 13989.5

  "accountSpec": "xxx",
  "accountId": xxx,
  "action": "Buy",
  "symbol": "MNQM2",
  "orderQty": 1,
  "orderType": "Market",
  "isAutomated": true,
  "bracket1": {
    "action": "Sell",
    "orderType": "Limit",
    "price": 13993.75

  "bracket2": {
    "action": "Sell",
    "orderType": "Stop",
    "stopPrice": 13985.75

the markert order is filled, the osoId 1 ,Limit order is pending and working,but the osoId 2,the Stop Sell order is be Reject right now,the reason is ‘InvalidPrice’
but I review the tick data,at the time ,the market price is about 13989.5,
here is the pic:

the reject detail is

replay the monment in 2 tick chart,the price is OK

although this order is win by limit,but I want know why will be reject?

I change the OCO order to Strategy order,It will be happend sometime,I guess it may be to close Stop price,so I change the Stop price to far more ,may be 6 in NQ,it good for now


I’m curious about this as well. I’m seeing something similar. I try to modify an order (one bracket of an OSO order - the STOP side) after it’s been created. But I’m getting an error back with the same “InvalidPrice” preventing it from being modified. Could we get a definition for what constitutes valid StopPrice values please?


Usually, if you’re getting an invalid price it may be your stop is too close and the last price may have been below where you were trying to place the stop right at the instant your order came in causing it to reject that order, then the price goes back up above where you want it, but it all happens so fast it may not even show in the chart or dom. This is usually what is happening if it works sometimes but sometimes not. It seems like this was Zhang’s problem above as well. If you want to use a very close stop you’ll need to programmatically confirm your order went through and take proper action if it didn’t.