Появилась задача поддерживать ликвидность и автоматизировать торговлю UIA токенами (в первую очередь YMPZM/YMUSDT) здесь на Голосе.
Для этого требуется оптимизация DEX-бота с открытым ПО под Golos Blockchain, который неплохо себя зарекомендовал в торговле на Rudex.
Нужно, чтобы в конечном итоге всё работало "как для бабушек" (как вот по этой инструкции - DEXbot на VPS в докере для бабушек от @alex-pu
Нужны как разработчики самого бота, так и те, кто напишет инструкцию по его использованию.
За инструкцию полагается награда минимум 5 тыс. YmPZM (если считаете, что мало, то сумма обговаривается здесь в комментах).
По ценам самой разработки и временем исполнения не владею информацией, поэтому свой опыт работы и предложения по доработке такого торгового бота для Golos пишите в комментах (в том числе с ценами на реализацию, если готовы выполнить работу).
В качестве эскроу могу предложить @lex в качестве доверенного члена сообщества, если он согласится (или ваши предложения на выбор).
@prizm, могу сделать за 2000$.
Займет месяц-полтора (т.к. параллельно на мне еще и вся разработка Голоса)
Думаю об адаптере, как тут писали в комментах к АПИ голоса. Правок в боте в этом случае не будет или они будут незначительными, так что аудита кода потребуется совсем мало.
@aerostorm1, Предложение принимается! 👍️ 😎
@prizm, подскажите, каков прогресс в этом вопросе?
@virt, Надеюсь, что в течение 1 месяца уже можно будет это опробовать.
@prizm, Уже есть результат?
@ilicoin, Пока еще нет
@prizm, когда теперь ждать, какие успехи?
@shevst, Рано говорить про успехи. Надеюсь, что до конца года справится.
@prizm, https://golos.id/ru--golos/@docsait/cbor-sredst-na-shlyuz-bnb-dlya-komyuniti-golos
@prizm, думаю стоит поинтересоваться у @vvk, т.к. он писал кастомные стратегии и работал в команде DEXбота, на мой взгляд это ценнее в данном случае, т.к. торговое АПИ голоса - оно сырое (это набор в отличии от комплекса ПО бота) не в плане что сырое как разработка (не берусь оценивать) а именно как то что это набор стандартный методов всего лишь, бОьшая часть времени уйдёт именно на понимание и встраивание, а не на понимание как работает само апи голоса, даже если чего то там нет или оно не совсем так как было бы удобнее, но лучше и глубже понимая как работает внутри DEXбот, встроить его будет проще и быстрее, чем зная и понимая апи голоса и влазить и разбираться с нуля в Дэксботе, как то так в общем
@alex-pu, а как думаешь, лучше
или
@lex, наверное проще поправить бота. Наткнулся на этот пост, поискал, что за бот такой DEXbot. Написан на питоне, в нем есть файл bitshares_engine.py, фроде как абстракция бота для работы с биржей, адаптированная под api bitshares. То-есть теоретически надо только адаптировать этот файл, вернее написать свой аналогичный под голос. Судя по всему есть разница, довольно существенная между bitshares и golos.
Питоном не владею, может не так понял. Но очень похоже на то.
Вот если бы кстати https://golos.app/oauth сервис мог работать и из бота, а не только через куки. Можно было бы делать ботов с web интерфейсом. 😎
@payme, интерфейс есть в ботах из коробки, в сборках по GUI линукса, винды и мака, даже в cli он тоже какой никакой графический же, как видно из инструкшена
@alex-pu, Да я там не о том, что есть или нету интерфейс. Это был оффтопик. Сервис oauth голоса позволяет только в браузере работать от имени пользователя. А было бы еще интересно и на стороне сервера отправлять транзакции от имени пользователя. Не спрашивая у него активного ключа.
@lex, Теоретически выглядит лучше выправить API под бота чтобы в него не погружаться, ну и заодно поправить/дополнить/улучшить торговое апи возможно, но чтобы это сделать, найти ту разницу которую править - всё равно надо погрузиться в бота на каком то уровне, пройдя по его базовым методам.
С точки зрения скорости и, соответственно конечной цены, то возможно вариант правок бота через адаптер под голос будет иметь преимущества, по крайней мере в голосе достаточно будет открыть документацию этого апи и всё, а далее погружаться уже в бота.
Но делать так чтобы при мержах обновлений - затрагивался минимум, в идеале только адаптер, чтобы это не доставляло головной боли следующим поколениям :)
В первом случае надо погружаться и туда и туда. Во втором только в DEXбота. Но точнее диагноз поставить можно после вскрытия или @vvk подскажет исходя из своего опыта.
В общем прям точно не знаю, высказал своё видение разных вариантов.
@prizm, вдогонку, пока занимаюсь своими делами, в голове крутятся мысли. не переписывать дексбота, по крайней мере в данный момент, тк. времени и денег уйдет хорошо (имхо), а если все расчитано на "бабушек" сделать след. вариант. в морде голоса делается еще один раздел, в котором будут "кнопки" алгоритм номер 1, алгоритм номер 2 и тд и тп. (ну или кнопка добавляется на страницу с торговой парой). далее, "профитные трейдеры со стажем" пишут алгоритм - "смотрим на счет, выбираем параметры, выставляем ордера, при срабатывании делаем то-то и то-то", дает его мордописателям и те на основе текущей библиотеки пишут алгоритм на кнопку номер 1. у кнопки будут "пара-тройка" параметров, которые вводятся пользователем - "агрессивный трейдинг, трейдинг е..л-дремал, трейдинг - волк с уолл-стрит", пользователь выставил параметры, нажал кнопку, ввел свой активный ключ и вуаля. ну и мануал как подобрать параметры и что от этого будет меняться. также на кнопку номер 2 и тд. и тп.
написать код по выставлению ордеров по данному ТЗ - "грааль для голоса" - это вечер под пивко. самое главное вот этот алгоритм. все, весь хрен до копейки. для тех кому нужна работа бота 24/7/365 - также по своему алгоритму пишется код на том же nodejs , ставится vps, запускается скрипт и вперед косить бабло.
я это все к тому, что писать вундервафлю с менюшками и своим внутренним языком программирования для торговли на голосе - на данный момент такое себе. гораздо проще просто скритп с параметрами и запуском либо в морде, для тех кто не хочет (может) с впс, либо в впс, кто может и хочет запускать вот так.
@ecurrex-ru, по поводу профитных трейдеров: как правило даже стратегии DEXбота притерпевают как минимум незначительные коррекции (замечал такое и не раз) у таких, и как правило в паблик это не выставляется (с чего бы им делиться для всех и писать что то, дёлёжка есть когда есть когда все юзают более менее один набор и выбор сводится к настройкам, там может агрегатор, т.к. он владелец по сути алгоритмов и площадка, сделать такой сервис следования за успешными трейдерами), просто потому что ты не будешь иметь преимущества на рынке за счёт понимания и более тонких настроек рынка, рынки всё же - не благотворительная организация и там все друг с другом конкурируют, так что на коленке за вечерок собрать чудо-бота косящего капусту скорее всего не выйдет, даже адаптировать под голос текущего DEXбота за вечерок нереально, это разница примерно как от первых шагов до олимпийской медали, ходить умеют все, а делать это с профитом и на мировом уровне - единицы.
@ecurrex-ru, примерно так, но всё же вундерфавля с менюшками, это не то же самое что скипт у себя на серваке и давать свои ключи куда то, пусть и сервисам вроде доверенным.
Понятное дело что понимая алгоритм и для себя проще сделать скрипт под пивко за вечерок как ты говоришь. Но тут немного другое, инструмент для БАБУШЕК И ДЕДУШЕК, + шаг к массадопшену всё же, с контролем своих ключей и сохраняя преемственность нынешних наработок в DEXботе сохраняя возможность при его обновлении и доработке стратегий, его обновить силами сообщества, это более универсально же и перспективно, чем очередная вундервафля которая на 99% не будет развиваться далее за пределами сервака.
По моему видению это надо делать как описал выше "заказчик" @prizm , ковыряя код DEXбота, и находя замены по командам в API (вероятно не все с идентичной информаций будут, а каких то может и вовсе не быть), поэтому придётся написать адаптеры (как минимум, а как максимум доработать торговое апи на нодах, если так будет удобнее и быстрее в каких то моментах, это сможет более точно уже определить тот кто плотно работал с торговым апи голоса) чтобы как я выше указал полносью соранить преемственность и наработки текущего бота, но чтобы он работаел в Голосе. И тогда даже инструкций не понадобится (это можно взять за критерий качества адаптации, чем меньше инструкций после - тем выше качество), т.к. останется просто собрать докер и по моей инструкции он заработает
@ecurrex-ru, Как в Okx :-). У них тоже можно на странице рынка выбрать "Боты" и далее выбрать стратегию.
Идея крутая, но вот у нас не cex, а dex, поэтому сложнее всё устроить...
Разве что сделать работу бота при открытой странице, чтоб не передавать никуда ключи...
@denis-skripnik, да, все работает (будет работать если запилят) пока "открыта страница". это конечно те еще костыли, но "за неимением горничной имеем дворника"
@ecurrex-ru, по-хорошему, надо делать и то, и другое. Чем больше автоматизированных инструментов для обычных пользователей, тем лучше 😎
Просто с чего-то надо начать.
Алгоритмы - это и есть основная проблема. Они уже созданы в DEX-боте, но "прочитать" и скопировать их может не каждый :) Но и там они, эти алгоритмы, на самом деле не идеальны. Не всё работает безупречно, периодически что-то отваливается и требует перезапуска.
А так в целом, например, даже в DEX-боте не хватает одного вроде простого алгоритма, который можно было бы реализовать здесь в морде Голоса, и который будет наиболее понятен для масс, на мой взгляд.
Но не думаю, что "под пивко за вечер" это тоже возможно :)
Опишу на всякий случай, может кто-то примет во внимание.
Стратегия "ПРИБЫЛЬ СО СДЕЛКИ":
Коротко - это когда выбираешь :
Пару, в которой хотел бы зарабатывать;
Тот актив в паре, который хотел бы зарабатывать и выводить в качестве прибыли;
Сколько хотел бы зарабатывать и выводить после исполнения одного ордера (сумма за вычетом торговой комиссии);
шаг ордера;
цену покупки первого ордера в списке (откуда стартуем);
аккаунт, куда выводить заработанное при полном выполнении ордера.
В данном случае тип ордера (на покупку или на продажу), будет зависеть от того, какой актив в паре выбрали (п.2). Например, если в паре YmPZM/YmUSDT, мы выбрали заработок YmUSDT, то зарабатываем только при выполнении ордера на Продажу Призм, если выбрали заработок YmPZM, то получаем прибыль только при полном выполнении ордера на покупку Призм.
При частичном выполнении одного ордера на продажу, развороте рынка в другую сторону и полном выполнении ордера на покупку, неполный ордер на продажу отменяется и заменяется полным. Остаток выставляется по следующей цене в соответствии с шагом ордера.
Если остаток превышает сумму, необходимую на один ордер (допустим выполнился не 1 а 2 ордера в противоположном направлении), то выставляется полный ордер, а остаток выставляется ниже по цене в соответствии с шагом ордера.
При стратегии "ПРИБЫЛЬ СО СДЕЛКИ - YmUSDT" и полном выполнении ордера на продажу Призм, прибыль в фиксированном размере (п.3) выводится на указанный аккаунт (п.6);
При стратегии "ПРИБЫЛЬ СО СДЕЛКИ - YmPZM" и полном выполнении ордера на покупку Призм, прибыль в фиксированном размере (п.3) выводится на указанный аккаунт (п.6)
С виду всё просто, но наверняка есть еще какие-то нюансы, и не так-то просто это реализовать.
Как вариант -
После заполнения всех данных жмакаем "Рассчитать"
Предлагается создать пост (с тегом "для личного пользования" )) и табличкой со всеми ордерами покупки/продажи. Для каждой пары - один пост.
Если нас всё устраивает - публикуемся. И после публикации выставляются эти ордера.
Под этим постом в виде комментов можно будет добавлять новые расчеты после каждого выполнения нового ордера и изменения балансов.
Оттуда можно брать данные для бота.
Ну, что-то вроде этого )
@prizm, есть понятие "алгоритм" (берем А складываем с В, вычитаем С и делим на Д) его можно запрограммировать и он будет работать всегда. и есть "искусство торговать", когда смотрим на рынок, да у нас есть алгоритм, но мы на него плюем (отходим и переделываем на ходу, причем каждый раз по разному) и получаем свой законный профит. это тогда надо встаивать в "дексбота" ИИ чтобы он вот так сам и торговал в профит. как пример "простого и тупого алгоритма" - я мог бы привести свой "однопроцентник", который я писал на шаре. вот там чистый алгоритм, который не меняется на любом рынке, на любом движении в любую сторону, но ему нужна ликвидность в стаканах. он хорошо работал, как автомат калашникова в паре шара/юань, либо на бинансе в паре биток/рубли (это я только про то, где сам запускал).
далее. если алгоритм такой что - посмотрели в стакан, посмотрели в кошелек, прикинули хрен к носу, расписали ордера (лесенку или как угодно), выставили в стакан и ждем - то это да, "вечер (два) под пивко". и я думаю, что вот этот вариант "для бабушек" самое то. если переигрываем от каждого пука на рынке, и вообще меняем все на ходу по несколько раз - то смысла писать бота нет. тк. вы будете просто переписывать код, а не "торговать".
ну и я лично за простой код + манименеджмент от райана джонса (фиксировано-пропорциональный метод определения размера ордера для торговли). его, кстати, тоже можно встроить в код. (для тех кто заинтересовался - ищем книгу этого автора "биржевая игра. сделай миллионы играя числами". читать раз пять - десять. с первого раза не дойдет. я читал-перечитывал раз пять, все искал где подвох, тк. такого просто не может быть).
@ecurrex-ru, фиксировано-пропорциональный метод определения размера ордера для торговли как ты говоришь, это уже из коробки в дэксботе есть. Если есть желание улучшить или дополнить, копируешь стартегию, называешь по-своему и меняешь что считаешь нужным.
@alex-pu, дело осталось за малым - прикрутить дексбот к голосу. что, в принципе, и звучало изначально.
@ecurrex-ru, Да и это просто кусок работы, не более, всё делается, я например по DEXботу не предлагаю своих услуг, т.к. нет времени. Полагаю что кто нибудь найдётся в итоге, или ты может вдруг решишь, или @vvk или текущий воркер от @lex
@ecurrex-ru, Игорь, DEXбот не хуже однопоцентника и гибче куда, ты просто не вникал в него чтобы сравнить
@prizm, ничоси! у меня чуть ли не game over был на 1.09.2022 запланирован, а тут такое.
@ecurrex-ru, ээ, харэ, какой геймовер, опять что ли собрался "уходить" ?
@alex-pu, ну а что мне тут дальше делать? хотел поковыряться с кодом шлюзов - поковырялся, даже типа либы для себя сделал, после которой шлюзы можно коробками отгружать. хотел "вспомнить детство золотое" - вспомнил, поставил-настроил сервера и тд и тп. все что хотел для себя - получил (теперь в душ, покурить и спать). востребованность шлюзов на голосе - чуть выше 0, ну точнее когда паре-тройке человек нужно срочно призмой поарбитражить с соседней биржей, тогда "набигают", а так "мертвые с косами стоят. и тишина ...".
обратной связи - тоже 0. я понимаю что ца здесь также далека от шлюзов, как я от котиков и "как я провел лето", поэтому без претензий.
но раз @prizm собрался тут дексбота прикрутить, то пошел делать себе мешок попкорна. интересно чем закончится :)
ну и вы же наконец есть, никуда не "уходите", так что сливать голоса есть где.
@ecurrex-ru, ну и это, чутка "докрутить" хобби чтобы копеечку приносило - никому ещё не вредило 😍, так что не спеши с ухождением )
@ecurrex-ru, я же не знаю мотивы @prizm, по идее это развитие ликвидности и массадопша на голосе в первую очередь, он же крупный держатель стека как минимум, т.к. есил цель просто торговля, "держание" рынков и ликвидность, то Рудекса вполне хватает под эти цели. А также добавив ликвидность на биржу голоса, можно в перспективе получить листинг на коинмаркеткапе, +1 очко для биржи, но ликвидность надо развивать по разным парам а не по одной, иначе затея эта малоперспективная, чтобы место это было привлекательно как биржа я имею ввиду.