作为我正在开发的交易应用程序的一部分,我需要向线程发送一个参数。我已经提到了下面的链接,这些都没有工作
Python Threading String Arguments,
How to pass arguments to thread functions in Python,
python threading - best way to pass arguments to threads
我的代码
order_trigger_loop_initiator = threading.Thread(target=trigger(), args=[company_data['instrument_token']])
renko_loop_initiator.start()
作为线程启动的函数的一部分
def RENKO_TRIMA(token):
global ohlc_final_1min, RENKO_Final, final_position, order_quantity, RENKO, RENKO_temp, Direction, Orderid, Target_order, Target_order_id, renko_thread_running, day_profit_percent
try:
renko_thread_running = "YES"
attained_profit()
quantity()
positions(token)
我已经按照上面提到的网站上的建议做了,甚至试着做类似的事情
renko_loop_initiator = threading.Thread(target=RENKO_TRIMA, args=company_data['instrument_token'])
及
renko_loop_initiator = threading.Thread(target=RENKO_TRIMA, args=[company_data['instrument_token']]))
renko_loop_initiator = threading.Thread(target=RENKO_TRIMA, args=(company_data['instrument_token']))
renko_loop_initiator = threading.Thread(target=RENKO_TRIMA, args=(company_data['instrument_token'],))
似乎什么都没用。作为参数发送的值为1270529
当我尝试上述任何一种方法时,我会收到下面的错误消息
Traceback (most recent call last):
File "C:/Users/win10/PycharmProjects/Trading-Application/USD-INR.py", line 838, in on_ticks
order_trigger_loop_initiator = threading.Thread(target=trigger(), args=[company_data['instrument_token']])
TypeError: trigger() missing 1 required positional argument: 'token'
在错误消息中,您正在调用
trigger
,而不是将其作为函数传递尝试只传递函数:
你正在打电话给
trigger
(你没有在你的问题中发布,这是一个猜测),马上就到了:如果
trigger
是一个不接受任何参数并返回另一个函数的函数,那么这可能会起作用,但如果您想在另一个线程中运行trigger
函数,则需要删除这些括号:相关问题 更多 >
编程相关推荐