我正在尝试使用DDE向Bloomberg Terminal发送命令.例如:显示我可以发送的Microsoft页面:
<blp-1><CANCEL><CANCEL><HOME>MSFT<EQUITY><GO>
Run Code Online (Sandbox Code Playgroud)
使用EXCEL的VBA库可以正常工作.但是我试图从Python脚本中做同样的事情.我在这里使用代码(由于一些限制,我不能使用更标准的win32ui/dde python模块)
http://code.activestate.com/recipes/577654-dde-client/
消息正在传递给彭博终端但未被正确解释,例如:
de = DDEClient('WinBlp', 'bbk')
de.execute('<blp-1><CANCEL><CANCEL><HOME>MSFT<EQUITY><GO>')
Run Code Online (Sandbox Code Playgroud)
导致Bloomberg窗口弹出,但命令区域中的文本乱码,类似于
????A?????
Run Code Online (Sandbox Code Playgroud)
有人看起来像这样吗?
使异步调用显示为同步的最佳方法是什么?例如,像这样的东西,但我如何协调调用线程和异步回复线程?在java中我可能会使用带有超时的CountdownLatch(),但我找不到Python的明确解决方案
def getDataFromAsyncSource():
asyncService.subscribe(callback=functionToCallbackTo)
# wait for data
return dataReturned
def functionToCallbackTo(data):
dataReturned = data
Run Code Online (Sandbox Code Playgroud)