【问题标题】:How to get P&L on a trade through Interactive Brokers TWS Java API如何通过盈透证券 TWS Java API 获取交易盈亏
【发布时间】:2015-07-14 01:04:40
【问题描述】:

有没有什么方法可以通过其 Java API 获得在 IB TWS 上进行的特定交易的盈亏(每日和截至日期的总计)?

【问题讨论】:

  • 你有从 Java 到 TWS 的免费连接吗?
  • @PantaRhei,我在 IB 有一个模拟交易账户,我正在使用 TWS Java API 进行交易。我从 Java API 连接到 TWS 没有任何问题。
  • 你能分享你连接TWS的代码吗?

标签: forex tws interactive-brokers


【解决方案1】:

您可以预先提交订单,以查看所有计算,例如订单的佣金和保证金影响。

为此,请在订单定义中设置 whatIf=True。

然后您将收到 openOrder 事件,其中包含为您进行的所有计算。

【讨论】:

    【解决方案2】:

    在 TWS v9.72+ API 中,EClient 上有一个 reqPnl 方法,可用于通过 EWrapper 上的关联方法订阅完整投资组合的实时 PnL(未实现和已实现)更新

    https://interactivebrokers.github.io/tws-api/classIBApi_1_1EClient.html#a0351f22a77b5ba0c0243122baf72fa45

    此外,对于单个 contractID,您可以在客户端上使用:reqPnLSingle

    https://interactivebrokers.github.io/tws-api/interfaceIBApi_1_1EWrapper.html#aebeb008f2b763d7bed2969b66bbd1b33

    【讨论】:

      【解决方案3】:

      你可以,但不像你问的那样。 API中的所有盈亏由您计算,直到交易结束,然后您可以使用包装器的commissionReport方法。在每个 execDetails 之后发送一个commissionReport。 API doc

      您可以随时查看您的报表以了解以前的损益。

      流程是这样的。

      • 进行交易并从 execDetails 获取执行价格
      • 从commissionReport获取开盘佣金
      • 在每笔交易中计算未平仓头寸利润,根据实际情况使用出价/要价,但无论如何,这都是外汇拥有的
      • 关闭交易并从 execDetails 获取价格
      • 再次从commissionReport中获得佣金
      • 计算平仓盈亏
      • 另请注意,commissionReport 有一个字段 m_realizedPNL 您可以使用,但我从未尝试过。

      【讨论】:

        猜你喜欢
        • 2015-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-10
        • 2016-10-02
        • 1970-01-01
        相关资源
        最近更新 更多