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

admin

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

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

  • Посещение

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

    34

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

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

Репутация

57 Excellent

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

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

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

  1. Она и не должна запускаться, она нужна будет другим скриптам в дальнейшем. У вас ругается на cmake, его нужно будет установить (там дальше в статье это есть и ссылка). На данном этапе вы просто добавили путь к gnuwin и должны продолжать устанавливать всякие программы дальше. Либо взять готовые либы из п.3 и не париться)
  2. Просто пролистайте дальше, скачайте готовые файлы и запустите )
  3. Конечно можно, но придется писать много кода. Можно даже уместить логику в текущем боте, завести массив открытых слотов и создавать баи пока слоты не заполнятся. На каждом селле высвобождать слот и проверять, в какую пару стоит вложиться.
  4. Люди тратят время, отвечают вам корректно и по делу а вы критикуете, нехорошо. В тексте ответа, который вы выложили, написано о том, что доступ запрещен, потому что проксирующий сервер Йобита запрещает вам доступ, обычно это связано с тем, что либо сам йобит защищается от атак и ограничил доступ вообще всем ботам, либо вы запустили несколько ботов одновременно, вас сочли атакующим и запретили доступ. Нужно попробовать сменить домены с yobit.io на yobit.net в коде, другой вариант - воспользоваться VPN.
  5. Кстати говоря, я упростил эту формулу, и сделал более точной, но пока руки не дошли в боте поменять (планирую это сделать). Если кому нужно, вот как я сейчас делаю в голанге 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)
  6. admin

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

    На балансе нет BNB, скорее всего. Поэтому бот покупает кол-во монет N, а получает кол-во монет N за вычетом комиссии, потом пытается продать N, но на балансе нет N, есть меньше монет. Если у вас есть BNB и стоит галка платить комисиию в них (а она стоит по дефолту), то комиссия списывается с вашего баланса BNB, по какой бы вы паре не торговали, и N не изменятся в процессе торгов.
  7. Посмотрите вот эту тему Тут как раз что-то похожее обсуждали, можете взять за образец. Книжки читать нужно и правильно, я считаю, можно еще уроки на ютубе или coursera посмотреть
  8. Я в основном делаю через веб, это удобно, когда например бота переносишь на облако и управляешь им потом с телефона. Правда при этом приходится писать больше кода, и не всегда на питоне.. Но зато универсально и кроссплатформенно
  9. Да, этот, но еще есть события ИЛИ, например SELL висит уже 5 часов и упал на 2.5% SELL упал на 3.5% но висит только 1 минуту Что бы сделать так, как вам нужно (срабатывают два условия сразу), подойдет такой код if ((1 - curr_rate/orders_info[order]['buy_price'])*100 >= all_pairs[orders_info[order]['order_pair']]['stop_loss']) and int(time.time()) - int(orders_info[order]['sell_created']) > 3*60*60 : log.debug("{pair} Цена упала до стоплосс (покупали по {b:0.8f}, сейчас {s:0.8f}), пора продавать".format( pair=orders_info[order]['order_pair'], b=orders_info[order]['buy_price'], s=curr_rate )) 3*60*60 это 3 часа по 60 минут и 60 секунд, лучше конечно вынести это в переменную
  10. Можно например не закупать, если цена выше 70% от суточной, а так же выше 70% от месячной. Но не закупая на хаях можно пропустить весь рост, почему бы не продумать стратегию безопасного ухода с купленного хая (например, так)
  11. У вас может не хватать какого-то модуля, который вызывается в процессе. Скачайте программу dependency walker, она покажет какой либы не хватает
  12. Полгода назад кажется пересчитывали, всё сходилось, 0.075% была комиссия. В вашем примере берёте сумму сделки в долларах, считаете от неё процент, на эту сумму списываете BNB по курсу на момент сделки, как то так
  13. Ордер по маркету исполняется всегда, потому что он идет из противоположного стакана. Отсутствие ликвидности будет только тогда, когда в стакане ничего нет. В любом случае биржа вернет вам ответ сразу, но если что-то пошло не так, то да, перейдете в ветку else
  14. admin

    Не работает функция

    virtualB это не функция, уберите скобки for struct in virtualB['balances']:
  15. admin

    Не работает функция

    Так вы монету не передаёте, замените get_virtual_balance() на get_virtual_balance("BTC")
×
×
  • Создать...