Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
ropox
7 лет назад

Торгобот

Здравствуйте мои маленькие криптотрейдеры. Решил вывалить на вас ушат очередных исходников. В этот раз исходники торгового бота со смешным названием - TORGOBOT! ))

Billionaire_Bot.jpg

Месяц назад я переехал на 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 - если запустить бота без этого параметра, то он не будет ничего делать, только слать сообщения в телеграмм.

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

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

Удачи!

3
463.687 GOLOS
На Golos с February 2017
Комментарии (15)
Сортировать по:
Сначала старые