Skip to content

DEX (Decentralised Exchange) bot trader for Erachain blockchain

License

Notifications You must be signed in to change notification settings

erachain/dex-trader

 
 

Repository files navigation

Erachain DEX Bot Trader

Торговый робот для децентрализованной биржи в блокчейн-платформе Erachain

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

Erachain

В программе есть разные потоки, получающие курсы с бирж по заданным парам (курсовик - Rater) и потоки, осуществляющие торговлю по заданному алгоритму (трейдеры Trader)

Для работы бота нужно запустить на локальной машине полную ноду Erachain и открыть доступ по RPC (на локальный адрес 127.0.0.1) и задать пароль у кошелька более 8-ми символов.

Перезадать пароль для кошелька можно так:

  • удалить из рабочей папки ноды папки walletKeys и dataWallet
  • запустить ноду и восстановить по СИДу кошелек и задать нужный пароль

Пароль доступа к кошельку и секретные ключи к API внешних сервисов

Скопируйте файл secret-keys-orig.json в secret-keys.json и задайте в нем ключи доступа:

  1. к кошельку ноды Erachain - в параметре wallet
  2. к вашему аккаунту на metals-api.com - в параметре metals-api.com

Начальная настройка

Скопируйте файл settings-orig.json в settings.json и задайте в нем нужные параметры:

  1. Для выбора нужной сети блокчейн - отладочная или боевая используйте network
  2. Для запуска без запуска торговцев: only_raters: true

Циклический запуск

Лучше всего запускать run.bat - так как там вставлен циклический запуск и другие настройки

Проверка жизнидеятельности

Логи см в папке logs

Принудительный останов

Нажмите в черном окошке, где крутится прога Crtl-C

Замечания

Если доступа к полной ноде нет то прога выйдет сразу же.
Если курс для трейдера не найден (например связь с биржой пропала) трейдер снимет все заявки.

Настройка источников для получени курсов

Есть 4 курсовика (настройка пар внутри кода):

  • RaterLiveCoin - за один запрос только одну пару
  • RaterLiveCoinRUR - за один запрос только одну пару
  • RaterPolonex - за один запрос выбирает все пары
  • RaterWEX - бывший BTC-e, сейчас не работает

Каждый курсовик использует АПИ соотвествующей биржи. Так как данные бесплатные, не рекомендую чаще чем раз в 10 минут получать курсы

Настройки Трейдера

Файл настройки трейдеров содержит список настроек, каждый элемент которого запускающий своего трейдера. Причем трейдеры отличаются по названиям:

  • Guard - страж позиции, держит заданные позиции в стакане относительно курса обмена с внешних источников

  • GuardAbs - страж позиции с абсолютными значениями, то же что и Guard но отступы заданы в абсолютных значениях

  • RandomHit - случайные покупки по заданной схеме

    { "traderAddress": "7NhZBb8Ce1H2S2MkPerrMnKLZNf9ryNYtP", "sleepTime": 200, "cleanAllOnStart": true, "haveAssetKey": 1106, "wantAssetKey": 1108, "sourceExchange":"polonex", "limitUP": "0.01", "limitDown": "0.02", "scheme": { "1000":"0.1", "100":"0.03", "10":"0.001", "-10":"0.001", "-100":"0.03", "-1000":"0.1" }

traderAddress - счет с котрого будут создаваться ордера, должен быть в вашем кошельке sleepTime - время сна - лучше ставить не чаще чем один блок
cleanAllOnStart - при запуске очищать стокан от всех своих ордеров. Очень удобно если у вас слетела прога
haveAssetKey - номер актива в Erachain. Прога найдет его и возьмет Имя из блокчейна
wantAssetKey - номер актива в Erachain
sourceExchange - по курсу какого источника работаем
limitUP - если превышена разница вверх нового курса от старого, то переносим все заявки в стакане
limitDown - если превышена разница вних нового курса от старого, то переносим все заявки в стакане
scheme - схема заявок в стакане:

  1. Количество продажи/покупки. Минус у количества означает покупку.
  2. Отклонение к среднему курсу. Минус означает отклонение "по рынку". Например минус задаем для торговца RandomHit

G

Вы можете разрабатывать дальнейшие стратегии бота, создавая свои классы и внедряя их в org.erachain.dextrader.traders.TradersManager.start

About

DEX (Decentralised Exchange) bot trader for Erachain blockchain

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 98.4%
  • Batchfile 1.6%