我已经设置了一个EA,可以循环历史交易并使用交易信息构建一个大字符串。然后,我使用普通的PUSH/PULL
模式每秒从MT4将该字符串发送到python后端。
无论出于何种原因,当传输的字符串变得太长时,都不会在提取侧接收数据。后端PULL
-socket对每个字符串进行切片,然后对其进行进一步处理。
PULL
端太慢而无法抓取和处理所有数据然后导致溢出(从而由于处理部分而引起延迟)的任何机会?] >>
谈论文件大小,我们远低于5kb每秒。
这是PULL
套接字,它在接收到数据后处理数据:
while True: # check 24/7 for available data in the pull socket try: msg = zmq_socket.recv_string() data = msg.split("|") print(data) # if data is available and msg is account info, handle as follows if data[0] == "account_info": [...] except zmq.error.Again: print("\nResource timeout.. please try again.") sleep(0.000001)
现在我有点好奇,因为pull套接字似乎甚至无法在单个MT4客户端-Python连接上处理包含40个交易及其相应信息的字符串。我实际上计划将其设置为处理超过5.000 MT4客户端-一次处理python后端连接。
我已经设置了一个EA,可以循环历史交易并使用交易信息构建一个大字符串。然后,我使用普通的PUSH / PULL将字符串从MT4每秒钟从MT4发送到python后端...
Q