Перейти к публикации
Форум ботоводов

admin

Administrators
  • Публикации

    141
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    40

Последний раз admin выиграл 30 июля

Публикации admin были самыми популярными!

Репутация

65 Excellent

11 подписчиков

Посетители профиля

Блок посетителей профиля отключен и не будет отображаться другим пользователям

  1. Сейчас ругается на отступы, вы когда добавляли, поставили видимо не правильное кол-во пробелов/табуляций вначале строки или вокруг неё. На MacOS не подойдут файлы, собранные под Windows
  2. Найдите в скрипте строки # main events cycle while True: event = td_receive() if event: И измените вот так # main events cycle while True: event = td_receive() if event: print(event) # <--- И смотрите в процессе, какой поток сообщений вам пишет, особенно после ввода цифр. Может быть у вас телеграм требует дополнительной авторизации через телефон или вроде того, такие вещи есть в протоколе, но не поддерживаются в скрипте Киньте вывод сюда если что
  3. admin

    База курсов BTC на binance

    Здравствуйте, конечно можно, можно брать исторические данные по свечам, можно брать историю сделок по периодам (сдвигая окна timestamp). Эта информация официально доступна через API биржи Подробности можете посмотреть здесь https://bablofil.ru/binance-api/ (методы klines, aggTrades и т.п.)
  4. Да Там же в binance_api после requests есть и проверка на доп ответы Binance с их внутренними кодами (code)
  5. Да, забавно, если взять калькулятор, подставить в формулу значения и посчитать самому, то всё сходится 0.58*(1/0.01)/1(1/0.01) = 0.58 А если считать в питоне, то споткнемся на >>> 0.58*(1/0.01) 57.99999999999999 Нужно будет использовать модуль Decimal https://docs.python.org/3/library/decimal.html
  6. В binance_api найдите строку response = requests.request(method=self.methods[command]['method'], url=api_url, data="" if self.methods[command]['method'] == 'GET' else payload_str, headers=headers) и после неё добавьте if response.status_code == 429: ...
  7. admin

    Бот для Bittrex (MACD+RSI)

    Я не планирую, т.к. в свое время разочаровался в биттрексе - часть данных в апи кешировалась, иногда были перепутаны buy и sell (в истории торгов одни данные, в апи - другие), даже как видел, как по одному и тому же запросу возвращались данные разных пар (10 раз возвращаются данные BTCUSDT, один раз - LTCUSDT). Сейчас наверняка часть уже поправили, но еще осталась их политика - этих обслуживаем, этих нет и т.п. Может быть кто-то другой возьмется, добавит логики, код весь доступен.
  8. admin

    Бот для Bittrex (MACD+RSI)

    Это ограничение API Bittrex. Впрочем, можно брать минутные свечи или любые другие, и агрегировать их в нужный интервал, например по три шт.
  9. Она и не должна запускаться, она нужна будет другим скриптам в дальнейшем. У вас ругается на cmake, его нужно будет установить (там дальше в статье это есть и ссылка). На данном этапе вы просто добавили путь к gnuwin и должны продолжать устанавливать всякие программы дальше. Либо взять готовые либы из п.3 и не париться)
  10. Просто пролистайте дальше, скачайте готовые файлы и запустите )
  11. Конечно можно, но придется писать много кода. Можно даже уместить логику в текущем боте, завести массив открытых слотов и создавать баи пока слоты не заполнятся. На каждом селле высвобождать слот и проверять, в какую пару стоит вложиться.
  12. Люди тратят время, отвечают вам корректно и по делу а вы критикуете, нехорошо. В тексте ответа, который вы выложили, написано о том, что доступ запрещен, потому что проксирующий сервер Йобита запрещает вам доступ, обычно это связано с тем, что либо сам йобит защищается от атак и ограничил доступ вообще всем ботам, либо вы запустили несколько ботов одновременно, вас сочли атакующим и запретили доступ. Нужно попробовать сменить домены с yobit.io на yobit.net в коде, другой вариант - воспользоваться VPN.
  13. Кстати говоря, я упростил эту формулу, и сделал более точной, но пока руки не дошли в боте поменять (планирую это сделать). Если кому нужно, вот как я сейчас делаю в голанге coins = math.Floor(coins*(1/symbols_params[pair].StepSize)) / (1 / symbols_params[pair].StepSize) sell_price = math.Floor(sell_price*(1/symbols_params[pair].TickSize)) / (1 / symbols_params[pair].TickSize) Если переложить её на питон, можно написать вот так from math import floor def adjust_to_step(value, step, increase=False): return floor(value*(1/step)) / (1 / step) +(float(step) if increase else 0) """ print(adjust_to_step(0.12345678, 0.001, False)) print(adjust_to_step(0.12345678, 0.001, True)) print(adjust_to_step(0.12345678, 0.1, False)) print(adjust_to_step(0.12345678, 0.1, True)) print(adjust_to_step(0.12345678, 0.00000001, False)) print(adjust_to_step(0.12345678, 0.00000001, True)) """ Можно еще проще написать, но это уже на грани from math import floor def adjust_to_step(value, step, increase=False): return floor(value*(1/step)) / (1 / step) +(float(step) *increase)
  14. admin

    бот выдает ошибку

    На балансе нет BNB, скорее всего. Поэтому бот покупает кол-во монет N, а получает кол-во монет N за вычетом комиссии, потом пытается продать N, но на балансе нет N, есть меньше монет. Если у вас есть BNB и стоит галка платить комисиию в них (а она стоит по дефолту), то комиссия списывается с вашего баланса BNB, по какой бы вы паре не торговали, и N не изменятся в процессе торгов.
  15. Посмотрите вот эту тему Тут как раз что-то похожее обсуждали, можете взять за образец. Книжки читать нужно и правильно, я считаю, можно еще уроки на ютубе или coursera посмотреть
×
×
  • Создать...