TypeError:float()参数必须是字符串或数字,而不是';dict';用Python

TypeError:float()参数必须是字符串或数字,而不是';dict';用Python,python,jupyter-notebook,round-robin,Python,Jupyter Notebook,Round Robin,我正在尝试购买robinhood_stock API。我需要把价格转换成本地号码。我正在使用Jupyter笔记本电脑 这应该是非常简单的,但我仍然失败,我想出售我目前拥有的全部金额 #Initiate our scheduler so we can keep checking every minute for new price changes s = sched.scheduler(time.time, time.sleep) RQ = r.crypto.get_crypto_quo

我正在尝试购买robinhood_stock API。我需要把价格转换成本地号码。我正在使用Jupyter笔记本电脑 这应该是非常简单的,但我仍然失败,我想出售我目前拥有的全部金额

    #Initiate our scheduler so we can keep checking every minute for new price changes
s = sched.scheduler(time.time, time.sleep)

RQ = r.crypto.get_crypto_quote('ETH', info=None)
hqA = (RQ['ask_price'])
hqBid= (RQ['bid_price'])


def run(sc): 
    
    RQ = r.crypto.get_crypto_quote('ETH', info=None)
    ME = r.profiles.load_account_profile(info=None)
    ETH = r.stocks.get_ratings('ETH', info=None)
    sell = r.crypto.get_crypto_positions(info='quantity_available')
    
    SELL=(sell[0])
    bp= (ME['crypto_buying_power'])
    hqM= (RQ['mark_price'])
    

    
    global enteredTrade

    if hqA == hqM or hqA < hqM and SELL != 0:
        #Sell $1 worth of Ethereum
        r.orders.order_sell_crypto_by_price('ETH', SELL, priceType=None, timeInForce=None)
        RQ = r.crypto.get_crypto_quote('ETH', info=None)
        print('Sell')
        s.cancel(sc)
            
    else:
        print('Ask'+hqA+'>='+hqM+'Mark')
        print('Stay')
    if hqBid == hqM or hqBid > hqM and bp != 0:
        #Buy $1 worth of Ethereum
        r.orders.order_sell_crypto_by_price('ETH', hqBid, priceType=None, timeInForce=None)
        RQ = r.crypto.get_crypto_quote('ETH', info=None)
        print("Buy")
        s.cancel(sc)

    else:
        print('Bid'+hqBid+'<='+hqM+'Mark')
        print('Stay')
    
    #call this method again every 10 for new price changes
    s.enter(1, 1, run, (sc,))
s.enter(1, 1, run, (s,))
s.run()
#启动我们的调度程序,以便我们可以随时检查新的价格变化
s=sched.scheduler(time.time,time.sleep)
RQ=r.crypto.get_crypto_quote('ETH',info=None)
hqA=(RQ[‘要价’)
hqBid=(RQ[投标价格])
def运行(sc):
RQ=r.crypto.get_crypto_quote('ETH',info=None)
ME=r.profiles.load\u account\u profile(信息=None)
ETH=r.stocks.get_评级('ETH',info=None)
sell=r.crypto.get_crypto_positions(info='quantity'u available')
卖出=(卖出[0])
bp=(ME[“加密购买力])
hqM=(RQ[‘标价’)
全球企业贸易
如果hqA==hqM或hqA='+hqM+'Mark')
打印('停留')
如果hqBid==hqM或hqBid>hqM和bp!=0:
#购买价值1美元的以太坊
r、 orders.order\u sell\u crypto\u by\u price('ETH',hqBid,priceType=None,TimeInfo=None)
RQ=r.crypto.get_crypto_quote('ETH',info=None)
打印(“购买”)
s、 取消(sc)
其他:

打印('Bid'+hqBid+'尝试打印
sell[0]
并检查结果。其他一切似乎都是正确的
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-d758c73dd1c4> in <module>
     51     s.enter(5, 1, run, (sc,))
     52 s.enter(1, 1, run, (s,))
---> 53 s.run()

~\Anaconda3\lib\sched.py in run(self, blocking)
    149                 delayfunc(time - now)
    150             else:
--> 151                 action(*argument, **kwargs)
    152                 delayfunc(0)   # Let other threads run
    153 

<ipython-input-9-d758c73dd1c4> in run(sc)
     29     if hqA == hqM or hqA < hqM and SELL != 0:
     30         #Sell $1 worth of Ethereum
---> 31         r.orders.order_sell_crypto_by_price('ETH', str(SELL), priceType=None, timeInForce=None)
     32         RQ = r.crypto.get_crypto_quote('ETH', info=None)
     33         print('Sell')

~\Anaconda3\lib\site-packages\robin_stocks\helper.py in login_wrapper(*args, **kwargs)
     38             raise Exception('{} can only be called when logged in'.format(
     39                 func.__name__))
---> 40         return(func(*args, **kwargs))
     41     return(login_wrapper)
     42 

~\Anaconda3\lib\site-packages\robin_stocks\orders.py in order_sell_crypto_by_price(symbol, amountInDollars, priceType, timeInForce)
   1569     crypto_info = crypto.get_crypto_info(symbol)
   1570     price = helper.round_price(crypto.get_crypto_quote_from_id(
-> 1571         crypto_info['id'], info=priceType))
   1572     # turn the money amount into decimal number of shares
   1573     try:

~\Anaconda3\lib\site-packages\robin_stocks\helper.py in round_price(price)
    162 
    163     """
--> 164     price = float(price)
    165     if price <= 1e-2:
    166         returnPrice = round(price, 6)

TypeError: float() argument must be a string or a number, not 'dict'