Python 中带有参数的 Lauch 函数作为线程
Lauch function with arguments as a thread in Python
我正在尝试将此程序作为程序中的无限线程启动
https://github.com/qLethon/bitmex_simple_websocket
from bitmex_simple_websocket import BitMEXWebSocket
import json
class MyBitMEXWebsocket(BitMEXWebSocket):
def on_message(self, ws, message):
data = json.loads(message)
if 'table' in data and data['table'] == 'tradeBin1m':
print(data['data'][0])
bitmex = MyBitMEXWebsocket(endpoint='wss://www.bitmex.com/realtime?subscribe=tradeBin1m:XBTUSD')
如何在
中启动它
if __name__ == '__main__':
作为线程正确
在我当前的代码中,只有第一个线程 myBitMEXWebsocket 函数启动,但是 tradingview 和 trader 不会
if __name__ == '__main__':
Thread(target = MyBitMEXWebsocket(endpoint='wss://www.bitmex.com/realtime?subscribe=quote:XBTUSD')).start()
Thread(target = tradingview).start()
for count_var_short, count_var_long in tradingview():
trader(count_var_short,count_var_long)
解决了,我问了github作者,他给出了这个答案
class MyBitMEXWebsocket(BitMEXWebSocket):
def on_message(self, ws, message):
data = json.loads(message)
if 'table' in data and data['table'] == 'quote':
print(data['data'][0])
WS_BestBid = (data['data'][0]["bidPrice"])
WS_BestAsk = (data['data'][0]["askPrice"])
#print('bid:',WS_BestBid)
#print('ask:',WS_BestAsk)
#print('bid:',data['data'][0]["bidPrice"])
#print('ask:',data['data'][0]["askPrice"])
def f():
MyBitMEXWebsocket(endpoint='wss://www.bitmex.com/realtime?subscribe=quote:XBTUSD,order:XBTUSD')
th1 = threading.Thread(target=f)
th1.start()
if __name__ == '__main__':
Thread(target = f).start()
Thread(target = tradingview).start()
for count_var_short, count_var_long in tradingview():
trader(count_var_short,count_var_long)
我正在尝试将此程序作为程序中的无限线程启动 https://github.com/qLethon/bitmex_simple_websocket
from bitmex_simple_websocket import BitMEXWebSocket
import json
class MyBitMEXWebsocket(BitMEXWebSocket):
def on_message(self, ws, message):
data = json.loads(message)
if 'table' in data and data['table'] == 'tradeBin1m':
print(data['data'][0])
bitmex = MyBitMEXWebsocket(endpoint='wss://www.bitmex.com/realtime?subscribe=tradeBin1m:XBTUSD')
如何在
中启动它if __name__ == '__main__':
作为线程正确
在我当前的代码中,只有第一个线程 myBitMEXWebsocket 函数启动,但是 tradingview 和 trader 不会
if __name__ == '__main__':
Thread(target = MyBitMEXWebsocket(endpoint='wss://www.bitmex.com/realtime?subscribe=quote:XBTUSD')).start()
Thread(target = tradingview).start()
for count_var_short, count_var_long in tradingview():
trader(count_var_short,count_var_long)
解决了,我问了github作者,他给出了这个答案
class MyBitMEXWebsocket(BitMEXWebSocket):
def on_message(self, ws, message):
data = json.loads(message)
if 'table' in data and data['table'] == 'quote':
print(data['data'][0])
WS_BestBid = (data['data'][0]["bidPrice"])
WS_BestAsk = (data['data'][0]["askPrice"])
#print('bid:',WS_BestBid)
#print('ask:',WS_BestAsk)
#print('bid:',data['data'][0]["bidPrice"])
#print('ask:',data['data'][0]["askPrice"])
def f():
MyBitMEXWebsocket(endpoint='wss://www.bitmex.com/realtime?subscribe=quote:XBTUSD,order:XBTUSD')
th1 = threading.Thread(target=f)
th1.start()
if __name__ == '__main__':
Thread(target = f).start()
Thread(target = tradingview).start()
for count_var_short, count_var_long in tradingview():
trader(count_var_short,count_var_long)