Инструкция
s0menicknameПервый шаг. Зарегистрироваться на yourserver.se и арендовать сервер. При аренде нужно выбрать OC Ubuntu 16.04. Бэкапы не нужны, никаких ценных данных на сервере храниться не будет.
Второй шаг. Открыть панель управления сервером (Servers -> My Servers -> View Details), нажать кнопку "Console"
Откроется страница с временными данными для входа:
Третий шаг. Открыть терминал.
1. Click the Finder icon in your dock. 2. Click Go. 3. Click Utilities. 4. Double-click Terminal.
В терминале нужно ввести ssh username@ip (вместо username и ip - данные со страницы из предыдущего шага) и нажать Enter. После этого терминал спросит, добавить ли новый ключ (написать "yes") и запросит пароль (брать с той же самой страницы).
Четвертый шаг. После удачного подключения к серверу вводи следующие команды:
adduser username
passwd username (задать пароль)
Где username - любое желаемое имя пользователя.
Потом выйди с сервера командой exit
Пятый шаг. В панели управления сервером есть IP для постоянного подключения к серверу. Заходить нужно с именем пользователя и паролем, которые настраивал в предыдущем шаге.
Развертывание бота
Подключись к серверу.
Введи команду su. Она запросит пароль, возьми его в панели управления в поле "root password"
Если вход прошел успешно, введи команду echo "username ALL=(ALL:ALL) ALL" | tee /etc/sudoers, где username - имя пользователя, которого ты создавал в четвертом шаге
Далее, если команда не вывела ничего, выйди из суперпользователя командой exit.
Дальше последовательно вводи эти команды:
cd
sudo apt update
sudo apt --yes upgrade
sudo apt --yes install python3 python3-pip python3-virtualenv curl screen
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" | tee .bashrc
echo "source /usr/bin/virtualenvwrapper.sh" | tee .bashrc
sudo pip3 install virtualenvwrapper
После этого следует выйти командой exit, и зайти на сервер снова. Если никаких ошибок не напишет, то двигайся дальше, если напишет, то скидывай их мне в телегу.
mkdir first_bot
cd first_bot
mkvirtualenv first_bot
pip3 install bitmex-market-maker
marketmaker setup
rm settings.py
curl ix.io/1aS1 > settings.py
UPD 10/06/2018. Более оптимальный конфиг расположен здесь: ix.io/1cUY. Т. е. команда будет такая:
curl ix.io/1cUY > settings.py
После этого нужно отредактировать settings.py командой nano settings.py. Там нужно поменять:
- API_KEY и API_SECRET. Ну тут все понятно, API-ключи.
- ORDER_START_SIZE и ORDER_STEP_SIZE. ORDER_START_SIZE - это первоначальный размер ордера. ORDER_STEP_SIZE - шаг увеличения ордеров. Я рекомендую для плеча x25 сделать значения этих параметров равными 1/16 от размера депозита в долларах (оба, можно округлить). Например, для депозита 0.4 BTC при курсе 8000$/BTC я бы рекомендовал установить значения этих параметров, равные 200.
- MIN_POSITION и MAX_POSITION. Лимиты размера позиции для шортов и лонгов. Рекомундую в 100 раз больше ORDER_START_SIZE.
Остальные параметры там более-менее оптимальные, буду писать если найду лучше.
Основная работа сделана, осталось немного.
sudo systemctl enable cron
sudo systemctl start cron - включаем cron
EDITOR=nano crontab -e и в конце дописываем:
6 * * * * killall marketmaker
Тогда бот будет перезапускаться каждый час в 6 минут.
Теперь выходим из virtualenv командой deactivate и запускаем screen (это нужно, чтобы можно было отсоединиться от сервера, при этом не выключая бота):
screen -S first_bot
Откроется новая командная оболочка, в ней вводим:
workon first_bot
cd ~/first_bot
Бот готов к запуску. Запускаем:
while true; do marketmaker XBTUSD; sleep 2; done
Чтобы перезапустить бота, чаще всего достаточно нажать Ctrl-C (на Mac ⌘-C) и сразу отпустить. Если нет - нажать и подержать, а потом нажать стрелку вверх и перезапустить цикл.
Чтобы свернуть бота, нужно нажать Ctrl-A (соответственно, на Mac ⌘-A), потом отпустить и нажать d. Чтобы развернуть - ввести команду screen -r first_bot