运行时错误:带有 ib_insync 和 django 的线程“Thread-1”中没有当前事件循环

问题描述

我是 ib_insync 的新手,我正在用 django 实现 ib_insync。当我使用 placeOrder() 下订单时,我收到错误 RuntimeError: 线程 'Thread-1' 中没有当前事件循环。

我的views.py

def placeOrder(request,account):
    print("ACCOUNT: ",account)
    symbol = 'AAPL'
    action = 'BUY'
    strike = 145
    date = '20210430'
    quantity = 1
    currency = 'USD'
    secType = 'OPT'
    exchange = 'SMART'
    right = 'C'

    contract,order = create_contract(action,quantity,symbol,secType,date,strike,right,exchange,account)
    trade = place_order(contract,order)

方法如下

def place_order(contract,order):
    place_order = ib.placeOrder(contract,order)

    return place_order


def create_contract(action,lastTradeDateOrContractMonth,account):

    contract = Option(symbol,exchange)
    order = MarketOrder(action,quantity)
    order.account = account

    return contract,order

错误:

  File "C:\Users\Jason\Desktop\TradeApp\venv\lib\site-packages\ib_insync\client.py",line 268,in sendMsg
      loop = asyncio.get_event_loop()
  File "c:\users\jason\appdata\local\programs\python\python39\lib\asyncio\events.py",line 642,in get_event_loop
      raise RuntimeError('There is no current event loop in thread %r.'
  RuntimeError: There is no current event loop in thread 'Thread-1' 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)