0

我使用https://etws.etrade.com/order/rest/placeequityorder成功向 E*Trade 提交了股票订单:

<PlaceEquityOrder xmlns="http://order.etws.etrade.com">
  <EquityOrderRequest>
    <clientOrderId>1507910303000001</clientOrderId>
    <accountId>xxx</accountId>
    <quantity>1</quantity>
    <orderAction>BUY</orderAction>
    <priceType>LIMIT</priceType>
    <marketSession>REGULAR</marketSession>
    <orderTerm>GOOD_FOR_DAY</orderTerm>
    <symbol>TEUM</symbol>
    <limitPrice>0.6</limitPrice>
  </EquityOrderRequest>
</PlaceEquityOrder>

订单由 E*Trade 确认:

<PlaceEquityOrderResponse>
  <equityOrderResponse>
    <accountId>xxx</accountId>
    <allOrNone>false</allOrNone>
    <estimatedCommission>6.95</estimatedCommission>
    <estimatedTotalAmount>7.55</estimatedTotalAmount>
    <messageList>
      <message>
        <msgDesc>Your order was successfully entered during market hours.</msgDesc>
        <msgCode>1026</msgCode>
      </message>
    </messageList>
    <orderNum>10</orderNum>
    <orderTime>1507924703308</orderTime>
    <quantity>1</quantity>
    <reserveOrder>false</reserveOrder>
    <reserveQuantity>0</reserveQuantity>
    <orderTerm>GOOD_FOR_DAY</orderTerm>
    <limitPrice>0.6</limitPrice>
    <stopPrice>0</stopPrice>
    <symbolDesc>PARETEUM CORP COM NEW</symbolDesc>
    <symbol>TEUM</symbol>
    <orderAction>BUY</orderAction>
    <priceType>LIMIT</priceType>
  </equityOrderResponse>
</PlaceEquityOrderResponse>

然后我尝试使用https://etws.etrade.com/order/rest/placechangeequityorder更新限价:

<placeChangeEquityOrder xmlns="http://order.etws.etrade.com">
  <changeEquityOrderRequest>
    <orderNum>10</orderNum>
    <clientOrderId>1507910303000001</clientOrderId>
    <accountId>xxx</accountId>
    <quantity>1</quantity>
    <orderAction>BUY</orderAction>
    <priceType>LIMIT</priceType>
    <marketSession>REGULAR</marketSession>
    <orderTerm>GOOD_FOR_DAY</orderTerm>
    <symbol>TEUM</symbol>
    <limitPrice>0.61</limitPrice>
  </changeEquityOrderRequest>
</placeChangeEquityOrder>

但是更改被拒绝

> <Error><ErrorCode>1028</ErrorCode><ErrorMessage>You have an existing
> open order for this security on the same side of the market. If you
> did not intend to place a second order for this security, please click
> Cancel Order ; otherwise, click  Trade  to
> proceed.</ErrorMessage></Error> ---> System.Net.WebException: The
> remote server returned an error: (400) Bad Request.

我尝试包括和不包括clientOrderId,它没有任何区别。我要疯了,因为同一代码在当天早些时候运行良好,然后就再也没有运行过。

如果您能够使用 E Trade API 提交对订单的更改,请告诉我。E Trade API 论坛似乎消失了 :(

4

1 回答 1

0

每个更改请求都需要提交一个新的 clientOrderId。我曾假设一个人应该继续发送原始的 clientOrderId(第一次提交订单时使用的那个)。

于 2017-10-17T15:27:49.710 回答