Проблема с возвратом значений при использовании рекурсии может возникать из-за неправильного управления рекурсивными вызовами и возвратами. Возможно, у вас не правильно настроены базовые случаи для завершения рекурсии, либо не использованы возвращаемые значения в нужных местах кода.
Что касается проблемы с timeout при парсинге Р2Р рынка криптобирж, возможно, вы сталкиваетесь с ограничениями времени выполнения запросов или с проблемами сетевого подключения. Чтобы предотвратить timeout, вы можете попробовать увеличить время ожидания запросов или улучшить качество сетевого подключения.
Если вызов return прекращает работу кода после себя, это может быть связано с тем, что функция, в которой находится return, вызывается внутри другой функции или цикла. В таком случае, можно попробовать передавать результаты вычислений между функциями через параметры или переменные вместо использования return. Другой способ - использовать исключения или обработку ошибок, чтобы контролировать поток выполнения программы.
Надеюсь, эти советы помогут вам разобраться с вашими проблемами. Если у вас есть дополнительные вопросы, не стесняйтесь задавать.