0

我正在尝试使用 TWS Java API 下订单。我想设置现金数量而不是股票数量。下面是我的代码:

...
Contract contract = new Contract();
contract.symbol("IBM");
contract.secType("STK");
contract.exchange("SMART");
contract.currency("USD");

Order order = new Order();
order.action("BUY");
order.orderType("MKT");
order.cashQty("500");
m_socket.placeOrder(NextOrderId, contract, order);

当我运行这段代码时,我得到一个错误:

此订单不能使用现金数量

如果我使用 的股票数量order.totalQuantity(),则下单成功。如何设置现金数量而不是股票数量?谢谢!

4

1 回答 1

0

现金数量订单只能通过 api 进行外汇交易。这是他们文档的链接。如您所见,cashQty 仅在外汇交易下显示。我也遇到了这个问题,现在使用这个基本计算来计算我可以根据我想投资的数量购买多少股。

(您想花费的金额)/(股票价格)=您可以购买的股票数量

于 2021-10-01T04:40:29.310 回答