我创建了方法update_instance,但是当我调用它时,我不断得到类型为'NoneType'的错误对象没有len()的意图是,仅当len(BREG_TRADE_GOING rows)> 0时才更新实例属性,预先感谢您的帮助
def update_instance(self):
#db = self.file_path
conn = sqlite3.connect(self.file_path)
c = conn.cursor()
c.execute("SELECT * FROM BREG_TRADE_GOING")
rows = c.fetchall()
print(rows)
print (len(rows))
if len(rows) > 0:
try:
for row in rows:
if row[1] in StockData.symbol_list:
symbol = row[1]
StockData.symbol_instance_dict[symbol].target_order_id = row[0]
StockData.symbol_instance_dict[symbol].symbol = row[1]
StockData.symbol_instance_dict[symbol].min_quantity = row[2]
StockData.symbol_instance_dict[symbol].min_price = row[3]
StockData.symbol_instance_dict[symbol].asset = row[4]
StockData.symbol_instance_dict[symbol].crossover_type = row[5]
StockData.symbol_instance_dict[symbol].trade_type = row[6]
StockData.symbol_instance_dict[symbol].trade_price = row[7]
StockData.symbol_instance_dict[symbol].entry_time = row[8]
StockData.symbol_instance_dict[symbol].entry_trade_amount = row[9]
StockData.symbol_instance_dict[symbol].buy_order_id = row[10]
StockData.symbol_instance_dict[symbol].sell_amount = row[11]
StockData.symbol_instance_dict[symbol].trade_going = True
StockData.symbol_instance_dict[symbol].buy_order_filled = True
StockData.symbol_instance_dict[symbol].target_order_placed = True
StockData.symbol_instance_dict[symbol].exit_time = row[15]
StockData.open_positions.append(symbol)
except sqlite3.Error as e:
self.log.error("Database error: %s" % e)
except Exception as e:
self.log.error("Exception in _query: %s" % e)
finally:
if conn:
conn.close()
回溯:
[(17814868, 'symbol', 1.0, 2.9e-07, 'BTC', 'positive', 'buy', 2.93e-06, '23/10/2018 12:46:38', 717.0, 17814857, 716.0, 1, 1, 1, None), (25999559, 'symbol', 1.0, 2.519e-05, 'BTC', 'positive', 'buy', 0.00025567, '23/10/2018 13:02:52', 8.0, 25999466, 8.0, 1, 1, 1, None), (31585121, 'symbol', 1.0, 2e-07, 'BTC', 'positive', 'buy', 1.92e-06, '23/10/2018 16:32:01', 1094.0, 31585118, 1093.0, 1, 1, 1, None)]
3
Started...
web socket started...
object of type 'NoneType' has no len()