Python 无限循环:尝试使用线程同时买卖股票
我正在尝试同时买卖。然而,我遇到了一个问题,尽管它不是每次都发生,这很奇怪。我的代码如下:Python 无限循环:尝试使用线程同时买卖股票,python,multithreading,Python,Multithreading,我正在尝试同时买卖。然而,我遇到了一个问题,尽管它不是每次都发生,这很奇怪。我的代码如下: def post_make_order(...): # get spot price etc etc i=0 time.sleep(1) while i < 1: get order status. if open etc: do somethings with nested if-else el
def post_make_order(...):
# get spot price etc etc
i=0
time.sleep(1)
while i < 1:
get order status.
if open etc:
do somethings with nested if-else
elif closed:
print(order completed etc)
def futures_spread(
self, buy_market, sell_market, total_size: float, clip_size: float
):
number_of_loops = int(total_size / clip_size)
i = 0
while i < int(number_of_loops):
_BUY = (buy_market, "buy", clip_size)
_SELL = (sell_market, "sell", clip_size)
t1 = threading.Thread(
target=self.post_maker_order, args=[buy_market, "buy", clip_size]
)
t2 = threading.Thread(
target=self.post_maker_order, args=[sell_market, "sell", clip_size]
)
t1.start()
t2.start()
t1.join()
t2.join()
time.sleep(1)
def post\u make\u order(…):
#获得现货价格等
i=0
时间。睡眠(1)
而i<1:
获取订单状态。
如果打开等:
用嵌套的if-else做一些事情
elif关闭:
打印(已完成订单等)
期货价差(
self,购买市场,出售市场,总尺寸:浮动,剪辑尺寸:浮动
):
循环数=整数(总大小/剪辑大小)
i=0
而i
但是,有时订单已完成,但代码不会停止运行。我是在用线程做些什么吗?如果真的是“有时”,你可能会遇到竞争情况,你需要使用锁。我也在网上读到过这方面的内容,但我有点不确定在哪里应用锁。。。