получчаю непонятную ошибку , выкидывает из дебагера

ошибка

"Traceback (most recent call last):
  File "_pydevd_frame_eval/pydevd_frame_evaluator.pyx", line 293, in _pydevd_frame_eval.pydevd_frame_evaluator.get_func_code_info
  File "_pydevd_frame_eval/pydevd_frame_evaluator.pyx", line 379, in _pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.compute_force_stay_in_untraced_mode
  File "_pydevd_frame_eval/pydevd_frame_evaluator.pyx", line 391, in _pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.compute_force_stay_in_untraced_mode
TypeError: 'NoneType' object is not iterable
Exception ignored in: '_pydevd_frame_eval.pydevd_frame_evaluator.get_bytecode_while_frame_eval_39'
Traceback (most recent call last):
  File "_pydevd_frame_eval/pydevd_frame_evaluator.pyx", line 293, in _pydevd_frame_eval.pydevd_frame_evaluator.get_func_code_info
  File "_pydevd_frame_eval/pydevd_frame_evaluator.pyx", line 379, in _pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.compute_force_stay_in_untraced_mode
  File "_pydevd_frame_eval/pydevd_frame_evaluator.pyx", line 391, in _pydevd_frame_eval.pydevd_frame_evaluator._CacheValue.compute_force_stay_in_untraced_mode
TypeError: 'NoneType' object is not iterable"

это мой код , я только осваиваю асинхронность и работу с классами ,через дебаг не получается отловить эту ошибку , разные части кода запускаю отдельно все работает

import asyncio
import json
import time 
import websockets

# сделки по монете 
class simbol_volue:
    
    # инициализация объекта класса 
    def __init__(self, name,trades = None):
        self.name = name
        self.trades = []

    # пополнение списка сделок 
    def trades_append(self,value,time):
        self.trades.append([value,time])

    # получение суммы всех сделок 
    def get_trades_value(self):
        value = 0
        for i in self.trades:
            value += int(i[0])
        return value

    # возвращает последнюю сделку 
    def get_last_trade(self):
        return self.trades[len(self.trades)-1]

    # очищает список сделок от первых len сделок
    def list_cleanup(self,long):
        if len(self.trades)>0:
            for i in range(long):
                self.trades.pop(0)

    # поиск сделок прошедших в последнюю минуту
    def volume_search_in_1_minute(self):
        volume = 0 
        count = 0
        # если сделок больше одной считаю объем , удаляю эти сделки
        if len(self.trades) > 1:
            current_time = self.trades[0][1].tm_min
            for i in self.trades:
                if i[1].tm_min == current_time:
                    volume += int(i[0])
                    count += 1
            self.list_cleanup(count)
            return volume
        # если сделок 1 или 0 удаляю эти сделки 
        else:
            self.list_cleanup(len(self.trades))
            return volume

simbol = {}
simbol['adausdt'] = simbol_volue('adausdt')
simbol['galusdt'] = simbol_volue('galausdt')
simbol['awaxusdt'] = simbol_volue('awaxusdt')
simbol['neousdt'] = simbol_volue('neousdt')




# запуск в 02 секунду

# while True:
#     if time.localtime()[5] == 2:
#         time.sleep(1)
#         break

min = False

async def time_print():
    while True:
        print(time.strftime('%X'))
        await asyncio.sleep(1)

async def timer():
    global min 
    while True:
        if time.localtime()[5] == 1:
            min = True
        await asyncio.sleep(0.5)

async def get_volue_in_min():
    global min ,simbol
    while True:
        if min is True and time.localtime()[5]==2:
            for i in simbol:
                t_prnt = time.localtime()
                print(t_prnt[3],':',t_prnt[4],':',t_prnt[5],'  ',i,' ',simbol[i].volume_search_in_1_minute())
            min = False
        await asyncio.sleep(0.5)

async def get_trades():
    async with websockets.connect("wss://fstream.binance.com/stream?streams=adausdt@aggTrade/galusdt@aggTrade/awaxusdt@aggTrade/neousdt@aggTrade") as websocket:
        while True:
            response = await websocket.recv()             
    
            data = json.loads(response)
            trans_time = time.localtime(data['data']['T']/1000)
            trans_value = data['data']['q']
            name = data['data']['s'].lower()
            simbol[name].trades_append(trans_value,trans_time)


async def main():

    task1 = asyncio.create_task(timer())
    task2 = asyncio.create_task(get_trades())
    task3 = asyncio.create_task(time_print())
    task4 = asyncio.create_task(get_volue_in_min())
    await task1
    await task2
    await task3
    await task4

asyncio.run(main())

Ответы (0 шт):