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

Andrei22

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

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

  • Посещение

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

    9

Последний раз Andrei22 выиграл 7 февраля

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

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

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

Andrei22's Achievements

Newbie

Newbie (1/14)

  • Week One Done
  • One Month Later Rare
  • One Year In Rare

Recent Badges

11

Репутация

  1. https://www.youtube.com/watch?v=oybUBSnFilM
  2. Достаточно разобраться из чего состоит облако, и тогда все что нужно можно взять в талибе.
  3. Тут есть что тебе надо для начала https://mrjbq7.github.io/ta-lib/func_groups/momentum_indicators.html
  4. Поверь на слово, если ты не знаешь как подключать индикаторы, не стоит использовать маржинальное плечо.
  5. Нет. На примере бинанса: Бинанс разрешает что ваше время не может быть больше чем на 1 секунду чем время сервера, иными словами вы не можете ордер поставить из будущего. Одну сек они видимо на погрешность дают. Ваше время может быть меньше чем на бинансе, если я правильно помню они дают 5 сек на это, здесь уже расчет идет на то что сеть может быть загружена, интернет плохой т.п. Другими словами они считают нормой 5 сек если ордер затеряется, но они позволяют и вручную создавать это окно времени в которое по вашему времени может быть нормальная задержка. Это параметр recWindow, он если память не изменяет допустим до 60 сек., иными словами если ордер дойдет до биржи в течении минуты то его примут, только это время в прошлом а не в будущем ! Если не указать recWindow то примется стандартное окно (толи 5, толи 15 сек). Синхронизация нужна только для `авторизованных` запросов, там где ключи используются. Для свечек, курсов не важна синхронизация, там придет когда придет (запрос-ответ).
  6. Для начала по дружески ключи поменяй, а то вся страна их уже увидела )))
  7. Andrei22

    Бот для Yobit

    создай бат файл там же где лежит бот, например start.bat внутрь: @ECHO OFF TIMEOUT /T 30 MODE 120,20 title Yobit bot ))) setlocal set PYTHONPATH=./ python ./yobit_perc.py endlocal pause далее, ПКМ создать ярлык (ярлык это ссылка на этот бат файл) далее ПКМ на Пуск -> выполнить -> пишешь shell:startup (откроется папка автозагрузки) далее ПКМ на ярлык - > копировать -> вставить в папку автозагрузки звук проверь что диск с ))) и есть ли этот wave там: import winsound soundfile = "c:/Windows/Media/chimes.wav" winsound.PlaySound(soundfile, winsound.SND_FILENAME | winsound.SND_ASYNC)
  8. спс, что то не подумал в документацию по request заглянуть ))) А это точно так? status_code насколько я понял ошибки по протоколу http вернет типа (200, 304, 404, 500 и т.п.), а бинанс свои ошибки создает 429, -2013 (причем минус 2013), - 2011 и т.д А вот бинансные -2013, -2011 таким способом не увидеть?
  9. Делаю так: # Получаем по ордеру последнюю информацию по бирже stock_order_data = bot.orderInfo(symbol=orders_info[order]['order_pair'], orderId=order) # проверка запроса на предупреждение бана check = stock_order_data for i in check: if i == 'code': code_error = int(check["code"]) if code_error == 429: time.sleep(3) Интересует как убедиться что bot.orderInfo не возвращает 429. А еще лучше чтоб это прописать в файл binance.api ко всем запросам не обязательно orderinfo и там делать проверку, а в самом main файле уже не проверять.
  10. ))) Все равно Андрей у тебя не правильно, обрати внимание именно на каких цифрах не правильно считает в первом посту Попробуй print(adjust_to_step(0.58,0.01000000)) и вернет 0.57
  11. Трёхногий арбитраж ))) Я только в танках знаю трехногих раков ))) По сути:У Андрея тут в блогах уже готовые есть https://bablofil.ru/inner-arbitrage/ и это https://bablofil.ru/vnutrenniy-arbitraj-chast-2/
  12. # Ф-ция, которая приводит любое число к числу, кратному шагу, указанному биржей # Если передать параметр increase=True то округление произойдет к следующему шагу def adjust_to_step(value, step, increase=False): return ((int(value * 100000000) - int(value * 100000000) % int( float(step) * 100000000)) / 100000000)+(float(step) if increase else 0) если пара BNBUSDT, ее CURR_LIMITS['filters'][2]['stepSize'] получит с биржи 0.01000000 если settings['amount'] дать цифру 0.58 (settings['amount']=0.58) quantity = adjust_to_step(settings['amount'], CURR_LIMITS['filters'][2]['stepSize']) quantity будет равна 0.57 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! пол дня голову ломал, решение нашел только такое: перед вызовом функции adjust_to_step сделать settings['amount'] = float(settings['amount'] + 0.00000001) а далее уже quantity = adjust_to_step(settings['amount'], CURR_LIMITS['filters'][2]['stepSize']) Проблемные цифры нашел только 0.57, 0.58, 1.13 ))) Та же проблема если округлять так: ticks = {} for filt in CURR_LIMITS['filters']: if filt['filterType'] == 'LOT_SIZE': ticks[pair] = filt['stepSize'].find('1') - 1 break quantity = settings['amount'] order_quantity = math.floor(quantity * 10 ** ticks[pair]) / float(10 ** ticks[pair]) *************************** settings['amount'] = float(settings['amount'] + 0.00000001) - спасает
  13. Я как бэктестер ))) Нашел одинаковое условие в 1.0.7 версии: if macd[-1] > macdsignal[-1] and macdhist[-1] > 0: # Линия макд выше сигнальной и на гистограмме они выше нуля Тут или комментарий неправильно написан или условие. Условие между and всегда одинаковое, когда линия макд больше сигнальной то гистограмма всегда больше 0. А если коммент написан как задумывалось то должно быть так: if macd[-1] > macdsignal[-1] and macd[-1] > 0 and macdsignal[-1] > 0:
×
×
  • Создать...