Блог им. algofintrader

Pump crypto Bot обновление C# с 40 мс до 20 мс на выставление

В продолжении к моему прошлому посту про заработок на пампах. 

KuCoin выпустил немного сыроватое специальное HF APi, которое я протестировал буквально недавно. 
Оно создано специально, чтобы иметь минимальную задержку. Отвечает такое API только за отправку и отмену ордеров.

Вы даже не сможете завести себе отдельный счет внутри своего аккаунта, если не сделаете перевод через их API.
Только после этого в личном кабинете появиться специальный аккаунт «HF» 

Pump crypto Bot обновление C# с 40 мс до 20 мс на выставление

Я, честно говоря, думал, что это чисто маркетинг, но оказалось, что новое АПИ реально быстрее почти в 2 раза. 
В среднем мы имели скорость от 35 до 42 мс на выставления ордера, после использования специализированно HF API стали получать по 20 мс. 
Замеры с коло из Токио ->

1 ордер — 98 мс (прогрев)
2 ордер — 56 мс (прогрев)
3 ордер — 26 мс
4 ордер — 20 мс
5 ордер — 30 мс
6 ордер — 28 мс
7 ордер — 18 мс
8 ордер — 19 мс
9 ордер — 16 мс

Наша прошлая версия:

Pump crypto Bot обновление C# с 40 мс до 20 мс на выставление

Так что мы побежали быстрее все переписывать, чтобы воспользоваться моментом, пока другие игроки не переобулись :)
★1
2 комментария
Прочитал слово «прогрев» и улыбнуло.

Короче целый ряд алго очень долго использовали специализированные сетевухи с bypass.  В том числе специализировавшиеся на low latency задачах.

Производитель выпустил очередные фитчи, которые прям вот кстати были в ту пору. Ну и надо было их заюзать. Все было очень даже не плохо, но при тестах первые пакеты с заявками уходили не так быстро как хотелось бы.

Ну ладно. Примерно понимаю в чем дело. Подрубаю профилировщик, начинаю отлаживать их драйвер и обертку к нему. А там промох по кешу на промох по кешу и промохом погоняет. Короче в момент первой отправки заявки, данные не горячие. Лезу в их драйвер, начинаю править его руками сам. За пару дней поправил.

Составляю в поддержку иностранную письмецо к ним. Мол так и так ребята. Приходится в вашем low latency коде самому прогревать ваши данные, иначе вообще не айс. Да говорят, спасибо, видим недоработку. Но пока, если вам не хочется исправлять наш драйвер постоянно, просто отправляйте левые пакеты, чтобы быть всегда прогретым. Спасибо говорю, так тоже приходится делать.

Вот так и приходится всем и всегда «прогревать кабель», чтобы и первые заявки уходили норм.

А потом они кстати серию апдейтов выпустили, где функции так и обозвали _warm. )
avatar
Андрей К, да это условно. На самом деле, там нет никакого прогрева. Просто мы быстро заменили библиотеку, которая ранее была нами же и переписана. А поскольку мы брали свежую версию с Nuget, то она полезла со всеми вытекающими замедлителями. Которые я условно назвал «прогревом», ну а так это конечно «лол», никаких прогревов там нет :) 

спасибо за комментарии!
avatar

теги блога algofintrader

....все тэги



UPDONW
Новый дизайн