October 31, 2023

Тест софта 30-31 v5.3

Так 1 функция, check_balance:

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

Если бы не одно НО: ему абсолютно поебать на значение параметра LIMIT. Какое бы значение там не было выставлено, он всё-равно выводит в эксель все аккаунты, которые ты загнал в софт. Даже при работе в несколько потоков никаких проблем с работой не возникло.

Дальше логично начать тесты функций buy/sell tokens:

  1. Покупка без потоков и каких-то изменений переменных - всё отлично, но что может быть важно при использовании этой функции - время на исполнение ордеров на аккаунтах. Конкретно в этом тесте всего на 4 аккаунта ушло 18,5 секунд, что не есть хорошо.
  2. Продажа токенов с теми же сеттингсами - получилось то же самое, что и с покупкой (проблема только во времени исполнения ордеров, если это можно назвать проблемой)

Далее покупка и продажа определённого кол-ва токенов:
BTC:

  1. Покупка определённого сайза как обычно выставляется в количестве того токена, покупка которого производится, так как у нас происходит использование данной функции в 99% случаев для накручивания конкретного объёма в USDT, то было бы логично данную настройку сделать в виде указания объёма именно в эквиваленте USDT (опять же это просто пожелание, если такое возможно), в остальном софт работает без нареканий.
  2. Продажа токенов - то же самое, только если ты выставил определённое количество токенов на покупку, то в силу того, что количество, которое покупается на аккаунте чуть меньше того значения, которое указано в сеттингасх, то без изменения параметра количества не удастся запустить сразу функцию продажи (то есть чтобы продать всё, что купил ордером ранее, указав конкретный сайз придётся менять AMOUNT на all, чтобы продать всё, что было куплено. В остальном софт работает без нареканий.

ARB:
То же самое, что с BTC, с софтом никаких проблем, только здесь уже удалось продать всю сумму токенов, даже не меняя конкретное кол-во на all.

NEAR:
Также софт никаких проблем не выдал, но не смог продать количество. равное количеству покупки, пришлось менять значение параметра AMOUNT на all.

Далее функция get information about orders:
Для пары, в которой на аккаунтах не было сделано ни одного ордера, софт в качестве вывода предоставил таблицу с прочерками по всем параметрам, как я понимаю, так и должно быть :)

Далее провёл тест на токен NEAR, на котором производил сделки на аккаунтах, софт выдал мне такую таблицу:

Как я могу понять, софт просто не делает фильтрацию по названию токена перед тем, как вывести результат и просто берёт все ордера, произведённые на аккаунтах во всех парах за последнее время (которые помещаются в указанный диапазон)

Ладно, едем дальше

Далее я выставил фильтр выдачи информации по ордерам BTC-USDT и опять же софт выдал информацию вообще по всем ордерам, которые были на аккаунтах:

Софт работает исправно, выдаёт информацию верно, но просто не фильтрует по торговым парам :)

Так, идём дальше
При тесте софта на волюм с различными настройками вылезла вот такая проблема:

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

При прокруте торговой пары BEAM-USDT вылезли такие ошибки:

При том, что торговая пара выглядит так:

А настройки так:

PRICE_PRECISION = 6
LOT_PRECISION = 2
TOTAL_VOLUME = 30000
TOTAL_VOLUME = 0

Возможно, что я с чем-то ошибся при выставлении настроек, но по-моему всё верно и какие-то проблемы в софте конкретно с этмии значениями. Он покупает, но почему-то отказывается продавать и выдаёт ошибку.

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

По первым двум настройкам сеттингсам не было проблем, которые не включат в себя настройки персонально под определённую пару токенов.

На откруте пары VRA-USDT не возникло такой проблемы, как на паре BEAM-USDT, мб какая-то баганая пара или другая проблема, очень странно, ведь настройки одинаковые.

Трансфер вообще прошёл без всяких проблем, как и предполагалось абсолютно на всех аккаунтах с любыми сеттингсами.

Дальше вылезла та проблема, с которой, как мне кажется, мы ещё не сталкивались:

Данная проблема выскочила при попытке продать все токены BTC на аккаунтах, которые есть. Если на аккаунте баланс токена равен нулю, который идёт первым в списке, то софт выдаёт ошибку и не переходит к следующему акку. Балансы акков:

Если из списка кошельков удаляю аккаунт, на котором баланс 0, то софт работает без всяких проблем. Так что это какая-то проблема в софте, нужно фиксить 100%

С тестами на волюм с выставленной задержкой между аккаунтами, как и ожидалось мной, никаких проблем не возникло ни на одной из валютных тестовых пар.

Единственное, так это вылезла 1 раз такая ошибка на тесте пары SOL-USDT:

При перезапуске софта ошибка ушла, разумеется.

Перехожу к тестам на многопотоке.

Покупка-продажа:

Те же самые проблемы, что при выставлении определённого количества на покупку, он покупает немного меньше, чем нужно и в итоге нет возможности продажи, приходится продавать с AMOUNT = all, либо количеством ниже, чем выставлено для покупки.

При тесте с токеном SUI софт выдал вот такой прикольчик, как я могу предположить, мы на этих конкретных аккаунтах не прокликали таблички, который предупреждают о рисках от торговли)))

Добавлю:

Прокликал эту шнягу, всё норм стало работать :)

Дальше функция на волюм, так как она работает в много потоков точно так же, как и в 1, то есть она в принципе не работает в несколько потоков, то логично, что проблем не возникло, так как в 1 поток всё работало исправно. В общем, никаких аномалий, кроме уже стандартных для софта вылетов из-за прекращения работы сервиса API у самого ByBit'a на несколько секунд. Но много акков с ошибкой вылета софта очень сложно запускать. ведь эта параша случается достаточно часто.

Дальше перехожу к тестам выводов:

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

Тесты буду делать только в EVM сетях, так как большая часть работы строится именно на них.

при тесте вывода BNB софт почему-то одновременно абсолютно выдал ошибку и в тот же момент успешную попытку вывода:

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

На аккаунтах 215-227 не удалось вывести USDT со спотового счёта, пришлось сначала делать трансфер на счёт финансирования, а уже только после этого ставить на вывод.

Но это всё не такие большие проблемы, в остальном софт отрабатывает без всяческих проблем выше всяческих похвал :)

Подытожим: Нужно поправить пару функций, чтобы они работали корректно и как нужно и постараться что-то сделать с вылетанием софта, которые происходят на регулярной основе. Если тут ничего нельзя сделать, то как бы ничего и не делать.