问题标签 [tws]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 带有 asyncio 的 Python IB API 的自包含可重现示例
出色的ib_insync使用内置的 asyncio 模块为异步 IB API 提供了更高级别的同步接口。但是,在某些情况下,人们可能更愿意避免依赖第 3 方模块。我的尝试是向社区提供一个自包含的可重现示例,说明如何使用原生ibapi
与 Python 内置asyncio
模块来处理回调。例如,假设一个人想要添加一种方法来将权重向量转换为要交易的实际股票数量。这将需要在同一方法中分别调用reqAccountSummary
(检查账户中的现金金额)和(获取市场价格的快照)并reqMktData
等待回调。accountSummaryEnd
tickSnapshotEnd
它现在遵循一个(更简单的)示例,在该示例中,我在同一方法中调用reqContractDetails
并等待回调。理论上,相同的逻辑可以应用于具有关联回调的所有请求。不幸的是,这还不是很有效,因为程序永远“等待”未来的回调。contractDetailsEnd
runSyncContractReq
我希望社区的成员可以帮助使示例正常工作,以帮助新手ibapi
和asyncio
喜欢我。
python - 如何在后台等待异步回调(即不是我们调用的)
目标是分配一个线程并等待回调。单线程将永远运行 while 循环。这里的困难在于我们不是直接调用或控制回调,而且我们事先不知道远程服务器调用回调需要多长时间。
我试图在asyncio模块中使用asyncio.Future
但未成功寻找解决方案。
java - 来自交互式代理 api 的随机响应
我在他们的 API 中使用 IB 提供的示例,但我得到了绝对(至少从我所看到的)随机结果,这里有一些日志:
请注意,尽管Error
,我仍然收到延迟的价格。现在(28 秒后)我重新启动完全相同的样本,而没有触及任何东西:
现在我没有收到任何价格!以下是调用本身的样子:
有任何想法吗?
c# - TWS API 中对 reqContractDetails 的第二次调用未发送任何通知并挂起
试图创造一种市场扫描仪。下面的代码应该返回期权合约链。调用 TWS API 是一种异步方法,仅当我从 TWS 收到 ContractEnd 或 Error 响应时才返回一些数据。在第一次调用 reqContractDetails() 时,它按预期工作,我得到合同列表,接收消息“ContractEnd”,然后退出该方法。
障碍
出于某种原因,在第二次调用 reqContractDetails() 时,我没有收到来自 TWS 的任何通知。我必须停止并重新启动我的应用程序,启动与服务器的新连接以使其再次工作。
更新
重构我的代码后,我在第二次调用时收到一个错误,上面写着“无法读取超出流的末尾”。调用堆栈看起来是这样的。
我在 C# 中的包装器实现
c# - Task.WhenAll 为 Task 创建重复项
创建任务列表的类,每个任务返回 ConcurrentDictionary
调用事件(任务) 10 次,等待此事件的回调,将结果添加到字典“结果”中。
我们执行 10 个事件(任务),因此应该在字典中获取 10 个项目,但是当我将所有任务的字典与 When.All 合并时,列表包含 100 个项目而不是 10 个。
问题
- 为什么 10 项任务创造的结果是应有的 10 倍?
- 为什么,当我用 Dictionary 替换 ConcurrentDictionary 时,此代码按预期工作?
excel - 将市场数据接收到 Excel 中
我的暑期项目正在开发一个算法交易者,它可以接收市场数据并根据指标进行交易。我使用他们的 TWS(交易者研讨会站)从一家名为 Interactive Brokers 的公司中提取数据。我已经下载了他们使用 DDE 的 Excel API,但无法让 Excel 电子表格与 TWS 正确连接。
在我的 excel 电子表格中,我将此命令写入了一个随机单元格。我已经用我的 TWS 用户名替换了 'sample123' 假设在我进行其他调整之前评估为 0,但它评估为 #REF!:
该错误的另一个问题是它从我的用户名中删除了两个字符,我不确定为什么。
例如:用户名 -> Sample123 结果 -> Sample1
任何建议将不胜感激!谢谢你,祝你有美好的一天。
python - 我如何在 ib_insync TWS 中获得执行佣金
我需要在 TWS 中获得执行佣金。我通过用于 python 的 ib_insync 库连接到它们。
我很喜欢:
问题是 - 这次处决的佣金在哪里?我怎样才能抓住他们?
api - 我试图简单地连接到 ibapi(Interactive Brokers API),但我在使用 Flask 时遇到了一些技术问题
我试图简单地连接到 ibapi (Interactive Brokers API),但我在使用 Python 3.7 时遇到了一些技术问题。到目前为止我做了什么:
- 我安装了适用于 Windows 10 的 API 的最新版本
- 我
C:\TWS API\source\pythonclient
跑着跑着python setup.py install
我有:
当我尝试导入它时我在这里做错了什么以及如何解决这个简单的错误?
我的烧瓶项目是在名为 Ibconnect 的虚拟环境中创建的( (IBconnect) C:\Users\Admin\dev\IBconnect> 在命令 Windows 上),我认为我必须在这里安装 python 客户端,但我不知道如何去做吧。
workload-scheduler - 在特定代理上提交 TWS 时间表
这是否可以提交 TWS 时间表或在特定 AGENT 上运行 TWS 时间表
例如,当前 TWS 动态选择 AGENT [AGENT A] 并运行作业,我们如何具体选择 AGENT [AGENT B] 并在其上运行调度作业
java - 如何更改交互式代理中的时区?
我正在使用带有 IBC 和 ib_insync 库的 Interactive Brokers API,TWS 版本 974。我想更改其中一个中的时区,以便根据 America/New_York 时区获取市场数据和历史记录。我已经将机器的时区更改为所需的时区,但这对 IB 结果没有影响。我在哪里可以进行更改以获得正确的时区?