Месяц назад я переехал на rudex.org со своей мелочевкой, я даже писал пост с призывом перевести торговлю на rudex.org. Тем более комиссия за перевод туда GOLOS и GBG нулевая. И там можно будет менять токены на рубли.
Собственно на rudex.org я увидел первых в своей жизни трейдерных ботов на btsbots.com. Я настроил несколько штук, с разными настройками, что бы поиграться и выяснить оптимальные. Автоматическая торговля это весело, скажу я вам и по ощущениям это работает. Одна проблема, ботам нужны открытые браузеры иначе они не работают. А так как я иду в отпуск, и оставлять включенным компьютер на месяц я не хочу, то я решил написать торгового бота, аналогичному btsbots.com.
Сказано-сделано, но для начала я решил его испытать на голосе. За один вечер получилось написать скрипт для бота, во второй вечер я приделал к нему telegram с оповещением о закрытых и открытых ордерах. И вот уже пару дней мой бот торгует с попеременным успехом на внутренней бирже. @torgobot. Пока что он обменял все GBG на GOLOS-а из за пампа золотых, но теперь потихонечку начинает выкупать золотые. Доход не ахти какой конечно, но и внутренний рынок не отличается интенсивностью. Пока что я играюсь с настройками, пытаюсь подобрать правильную стратегию.
Я параллельно начал писать такого же бота для bitshares, но различия в блокчейнах оказались более разительными, между голосом и bitshares, чем я ожидал. Поэтому бот для bts еще не совсем готов, но вчера я на пробу запустил его и у него получается торговать. Правда он, выделенные ему 40 BTS за ночь ополовинил, но это наверное потому, что торговал он по 2 BTS ))
Ну а исходники бота для голоса я решил выложить в открытый доступ, возможно кому то пригодится. Если что не пугайтесь. Это был поток моих непричесанных мыслей, немного сумбурных, так как трейдер из меня никакой. Ну и исходники после отпуска постараюсь оформить покрасивее.
Стратегия
Стратегия у бота простая как кирпич - покупать подешевле, продавать подороже. Бот получает список открытых ордеров, и берет bid с самой высокой ценой и ask с самой низкой. Создает ордер с ценой ниже на заданное число процентов относительно лучшего предложения на покупку и другой ордер соответственно с ценой выше самого выгодного предложения на продажу.
Соответственно, если начнут выкупать ордера выше по стакану, то когда нибудь дойдет очередь и до ордера выставленного ботом. Если ордер закроют, то бот выставит новый. Если сверху по стакану добавятся ордера и цена будет "отставать" от рыночной, то бот отменить ордер и выставит с новой ценой.
Смысл, что бот будет реагировать на медленные колебания рынка. )) Так я себе это представляю. Так как я не специалист и умных книжек не читал, то путать вас дальше теорией не буду.
Исходники и настройка
Исходники можно найти на bitbucket.com, в моем аккаунте
https://bitbucket.org/gropox/torgobot
В директории с исходниками есть пример конфигурационного файла. config.json.example. Переименуйте его в config.json и отредактируйте на свое усмотрение
{
"ws" : "wss://ws.golos.io",
"chain_id" : "782a3039b478c839e4cb0c941ff4eaeb7df40bdd68bd441afd444b9da763de12",
"userid" : "torgobot",
"key" : "5K",
"base" : "GBG",
"quote" : "GOLOS",
"bid" : {"percent" : 0.5, "max" : 20},
"ask" : {"percent" : 0.5, "max" : 20},
"telegram" : {
"token" : "333",
"chatid" : 1,
"send_messages" : {
"empty_balance" : true,
"balance" : true,
"top_prices" : true,
"desired_prices" : true,
"open_orders" : true,
"create_order" : true,
"changed_desired" : true,
"filled" : true
}
}
}
Думаю в основном все должно быть понятно. Если нет, то лучше не пытайтесь ))
"bid" : {"percent" : 0.5, "max" : 20},
"ask" : {"percent" : 0.5, "max" : 20},
bid.percent задается процент, на сколько цена создаваемого ордера будет ниже максимального бида, ask.percent соответственно наоборот. max, максимальный размер ордера 20 GBG и 20 GOLOS в данном случае
"telegram" : {
"token" : "333",
"chatid" : 1,
Это если ходите получать уведомления о закрытых и открытых ордерах. (Собственно бот может и не торговать, а только извещать)
Для этого вам надо создать своего персонального бота в телеграме и получить токен к нему у botfather. Как это делается, я расписывать не буду. Полно статей и в интернете и тут на голосе. chatid можно будет узнать в логе, запустив бота его с опцией debug и послав пару сообщений боту. chatid нужен, что бы бот только вам слал сообщения.
"send_messages" : {
"empty_balance" : true,
....
Этими настройками можно включать и выключать (true или false) сообщения, которые бот будет слать в чат телеграма. У меня сейчас сейчас включено следующим образом и мне достаточно, иначе будет приходить слишком много сообщений
"empty_balance" : false,
"balance" : true,
"top_prices" : false,
"desired_prices" : false,
"open_orders" : true,
"create_order" : true,
"changed_desired" : false,
"filled" : true
Запуск
перед запуском, в папке со скриптом, выполните npm install
, что бы установить необходимые библиотеки.
Для запуска бота выполните следующую команду
node index.js broadcast debug
debug можно опустить, если бот работает нормально, что бы не засорять логи
broadcast - если запустить бота без этого параметра, то он не будет ничего делать, только слать сообщения в телеграмм.
Внимание, бот при запуске отменяет все выставленные ордера, лучше его запускать на отдельном, специальном аккаунте.
Пробовать на свой страх и риск, за ваши монеты вы отвечаете сами. )) Помочь с установкой к сожалению сильно не смогу, из-за нехватки времени - сами разбирайтесь. Кое-какие технические навыки лучше иметь, что бы запустить бота. Бот скажем так, не для крипто-обывателей.
Удачи!
Я тоже не специалист, но я бы подружил двух ботов - один пасёт блокчейн на предмет крупного вывода токенов на биржу, а другой сливает, пока не поздно. Выкупить можно на дне, примерные объёмы же ясны. Должно отлично работать, пока какой-нибудь ушлый кит не догадается манипулировать рынком просто переводя токены туда-обратно.
Интересно.
Для криптопии не пробовал ботов делать?
Не, это мой первый бот.
Line 138 вместо "BID.max" должно быть "ASK.max", похоже
Да,спасибо, копипаста видимо. Я обычно одинаковый макс выставлял, не обратил внимания.
@ropox Вот такого бота сделать слабо? https://golos.id/ru--kriptovalyuty/@primus/avtomatizirovannaya-torgovlya-altkoinami-na-birzhakh-kriptovalyut-chast-3-primer-prostogo-torgovogo-algoritma
Да, можно, по сути надо добавить анализ пар, составление списка и балансов. Все остальное есть. Я про битшары и если они еще будут, когда вернусь. И надо будет попросить @primus объснить активити диаграмму. На ней ни одного Да, и ниодного Нет не подписано, может с телефона не видно. Вернусь с отпуска в ноябре. Попробую разобраться.
Спасибо, Георгий. Удачного Пути!
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
yefet, losos, sharker, kalimor, t3ran13, boddhisattva, ianboil, ukrainian, polyideic, andrvik, niiu, eduard, tymba, zoss, larissa, vik, investigator, shuler, brovaryleaks, vadbars, lenarius, arsar, vasilisapor2, nefer, romannn, semasping, tnam0rken, sharps, francesco, bystree, osincevata, yuriks2000, boltyn, on1x, vika-teplo, borisss, candy777, bragr, vpervye1, sam.alexandr, prost, bombo, sareon, manavendra, mr-nikola, kertar, novy, rezonator, lokkie, now, igrinov, vealis, liseykina, zhenek, wedge, eimic, zelivsky, blog.experta, alexko
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас на странице https://golos.io/~witnesses, вот так:
Отлично, надо будет потом на пару GOLOS / GBG /BitRUBLE запустить на DEX маркетмейкить)
Экий вы умелец! Еще б понять, все, что написано.) Репостну-ка я и потом вникну. А вдруг пойму)
Спасибо, Горох! 🙏
А твой @torgobot только на внутренней бирже "Голоса" торговать может?
P. S. Сделаю на всякий случай репост. = )
Ну наверное и на стимовской еще, но не проверял
спасибо
как раз подумываю об автоматизации торговли, а то руки устают:)
для начала подойдет любая биржа