zenoftrading
zenoftrading личный блог
03 марта 2021, 12:28

Простой торговый робот для биржи Binance без индикаторов

Ссылка на код на github в телеграме

Бот исключительно в демонстрационных целях. Когда я писал своего первого бота мне не хватало чего-то такого.

Идею для торговой стрегии взял из книги Ларри Вильямса «Долгосрочные секреты краткосрочной торговли» и слегка упростил. Он называет это прорыв волатильности. В чём суть:
— считаем разницу между хай и лоу предыдущей свечи
— к цене открытия текущей свечи прибавляем разницу из предыдущего пункта, это и будет ценой для входа в позицию
— если цена достигла этой цены покупаем
— выход на октрытии следующего бара

Всё. Максимально просто.

Теперь ещё раз то же самое на примере.
— Хай прошлой свечи 251 USDT, лоу 248 USDT. Разница 3 USDT.
— Открытие текущей свечи 250 USDT. Цена входа 253 USDT.
— Как только цена достигла 253 USDT покупаем 0,1 BNB
— На следующем открытии свечи выходим. Если цена выше, то заработали что-то, если нет, то нет.

Торговая пара BNB/USDT с биржи binance.

В боте я рассматриваю минутный таймфрейм, чтобы можно было быстро посмотреть что и как работает. График цен можно смотреть на самой бирже Можете поменять на любой на ваше усмотрение.

Торговля идёт фиксированным лотом 0,1 BNB. Можно поменять в переменной `quantity`.

Что нужно для работы:
— установить все зависимости из файла `requirements.txt`
— зарегистрироваться на бирже https://www.binance.com и получить ключи для api и заполнить глобальные переменные `BINANCE_API` и `BINANCE_SECRET`
— залогиниться в тестовой сети testnet.binance.vision/ через github, тоже получить ключи и заполнить переменные `TEST_BINANCE_API` и `TEST_BINANCE_SECRET`
— запустить файл `barackbot.py`

В консоли должны увидеть что-то такое:

Opened connection
Free USDT is 9976.63802, free BNB is 1000.1
Entry price is 249.36929999999998 USDT, quantity is 0.1 BNB
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.15930000 Low: 249.09580000 Close: 249.15880000 Volume: 48.44700000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.32950000 Low: 249.09580000 Close: 249.32760000 Volume: 415.72900000
Buying 0.1 BNB at 249.3693 USDT
Buy order info: {'symbol': 'BNBUSDT', 'orderId': 111111, 'orderListId': -1, 'clientOrderId': '4K1iEdjslkdfjIjhpNb2', 'transactTime': 1614758407134, 'price': '249.36930000', 'origQty': '0.10000000', 'executedQty': '0.00000000', 'cummulativeQuoteQty': '0.00000000', 'status': 'NEW', 'timeInForce': 'GTC', 'type': 'LIMIT', 'side': 'BUY', 'fills': []}
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.49750000 Low: 249.06770000 Close: 249.49740000 Volume: 733.67700000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.50000000 Low: 249.06770000 Close: 249.22690000 Volume: 817.82700000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.50000000 Low: 249.06770000 Close: 249.31670000 Volume: 882.20500000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.66020000 Low: 249.06770000 Close: 249.40270000 Volume: 3068.25600000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.66020000 Low: 249.06770000 Close: 249.48930000 Volume: 3087.31000000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.66020000 Low: 249.06770000 Close: 249.35270000 Volume: 3347.31700000
Time: 2021-03-03 08:00:00 Open: 249.10500000 High: 249.66020000 Low: 249.06770000 Close: 249.35280000 Volume: 3348.73900000
Stop order. Open price is 249.36350000 USDT
Loss is -0.002169999999750871 USDT
Stop order info: {'symbol': 'BNBUSDT', 'orderId': 111112, 'orderListId': -1, 'clientOrderId': 'Qw3zLdoIBqdf98df', 'transactTime': 1614758462874, 'price': '0.00000000', 'origQty': '0.10000000', 'executedQty': '0.10000000', 'cummulativeQuoteQty': '24.93476000', 'status': 'FILLED', 'timeInForce': 'GTC', 'type': 'MARKET', 'side': 'SELL', 'fills': [{'price': '249.34760000', 'qty': '0.10000000', 'commission': '0.00000000', 'commissionAsset': 'USDT', 'tradeId': 35189}]}
Free USDT is 9976.63585, free BNB is 1000.1
Entry price is 249.65974999999997 USDT, quantity is 0.1 BNB
Time: 2021-03-03 08:01:00 Open: 249.36350000 High: 249.42970000 Low: 249.30350000 Close: 249.39350000 Volume: 66.42300000
Time: 2021-03-03 08:01:00 Open: 249.36350000 High: 249.44160000 Low: 249.30350000 Close: 249.42620000 Volume: 88.59900000
Time: 2021-03-03 08:01:00 Open: 249.36350000 High: 249.44160000 Low: 249.30350000 Close: 249.42300000 Volume: 100.39700000

Ещё раз. Бот максимально простой. Не учитывает ни статусы заявок, ни комиссии, нет стопов. Нет обработки минимального лота. Обработка ошибок минимальная. Нет контроля непрерывной работы. Просто механика выставления заявок.
6 Комментариев
  • trader_95
    03 марта 2021, 14:48
    И каковы результаты?
    Не исторические, а текущие
      • ch5oh
        03 марта 2021, 17:43
        zenoftrading, а прогнать в тестере стратегий на истории для начала?

        Машинка с исходниками — это зачет, спасибо.


        Даже странно, что народ вяло реагирует…
  • Billy Bob
    20 апреля 2021, 14:01
    Привет! А можешь написать небольшой индикатор на бинанс?
  • V X
    27 сентября 2021, 23:32
    кто знает как программно использовать конвертацию которая OTC ? 
    поддержка отпрыгивает типа нет такого апи. а мобильное приложение использует  же чето, может скрипт может апи, потому что в нем есть внебиржевая конвертация.  а то выгоднее там закупаться чем на торгах, и че вручную че ли. так курс упрыгает пока там будешь тыкаться

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн