Настройка многозадачности внутри одного потока на примере работы с api криптобиржи

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 385
Баллы
113
Многопоточность для сбора истории спотовых цен на Binance.

Сбор полной доступной истории цен спотовых торговых пар на бинансе, торгующихся на данный момент.

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

Это дополнение к конкурсной статье в 10-ом конкурсе шаблонов, так как вместе они не могли ужиться с правилами проведения конкурса шаблонов, а до конкурса статей не хочется оставлять.
Описание алгоритма по которому работают оба шаблона в той же конкурсной статье. Дублировать здесь не стал.

Настройки простые, как 3 копейки.

1679318015847.png

2 режима работы:

1) "собрать монеты" - собрать все наименования пар, чтобы было что запускать вторым режимом.
Другие настройки игнорируются этим режимом. В результате работы в корне проекта создается файл symbols.txt - там список всех торговых пар.

2) "парсинг" - собрать историю цен.
Выбираем интервал свечек;
Указываем список торговых пар из symbols.txt(можно выбрать только интересующие или же добавить все);
Путь к файлу с прокси обязательно, если планируете запуск в много потоков;
Максимальное количество потоков не должно превышать количество прокси, иначе можно загнать их в бан.

Жмем старт, +1 и смотрим, как идет работа.

1679317985626.png

Каждый поток по завершении записывает собранные данные в .csv. для каждой пары своя папка.

104879


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


Минимальная версия для запуска шаблона 7.2.0.0
 

Вложения

Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование:
  • Спасибо
Реакции: Zedx и samsonnn

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 652
Благодарностей
1 319
Баллы
113
Супер, спасибо огромное)
 
Последнее редактирование:
  • Спасибо
Реакции: Alexmd

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 127
Благодарностей
484
Баллы
83
Вот это уже интереснее. Хорошая работа!
 

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 127
Благодарностей
484
Баллы
83
p.s. лучше б такие статьи были на конкурсе. Пустите человека без его заявки!)
 
  • Спасибо
Реакции: samsonnn

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)