如何使python与Pandas和导入的文件异步

2024-04-26 08:10:55 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的交易机器人的结构,我有一个python文件,用pandas数据帧处理实时数据。 dataframe实时更新,我使用最后一行生成信号。 然后,该信号触发导入的执行长或执行短py文件。 问题是,一旦执行,数据帧将停止更新,直到交易完成,分别来自执行文件的websocket连接已终止。之后,数据帧不会跳转到当前时间,而是从最后一次执行开始继续。 如何使逻辑和执行文件并行工作

逻辑文件结构:

import execute_long
import execute_short

def logic():

    #code...

    def get_bars():

        #code...

    def on_open(ws):
        #code...
    def on_close(ws):
        #code... 

    def on_message(ws, message):
        # live Dataframe update

    if signal1...:
        execute_long.main()

    if signal2...:
        execute_short.main()

ws = websocket.WebSocketApp(SOCKET, on_open=on_open, on_close=on_close, on_message=on_message)
ws.run_forever()

执行文件结构:

def main():
    #code

    def on_open(ws):
        #code...
    def on_close(ws):
        #code... 

    def on_message(ws, message):

        #code

    def safety():

        #code

ws = websocket.WebSocketApp(SOCKET, on_open=on_open, on_close=on_close, on_message=on_message)
ws.run_forever()