ByBit API + Python ч4 | Лимитный Спотовый Ордер ( Spot Limit Orders ) Отправка и отмена.
ฝัง
- เผยแพร่เมื่อ 4 มิ.ย. 2024
- Работа со Spot LimitOrder размещение и отмена (place and cancel) с помощью API ByBit, на Python и с официальным SDK для Питона pybit. Немного теории о работе лимитных заявок. Много внимания к timeInForce стратегии лимитных ордеров. Также получаю список открытых ордеров (get_open_orders) и оменяю открытые ордера (cancel limit orders).
🤑 Спасибо блоггеру
azzrael.ru/spasibo
Рефка для регистрации на ByBit
G5REPY
www.bybit.com/invite?ref=G5REPY
Репозиторий по сериалу
github.com/AzzraelCode/azzyt-...
Docs
bybit-exchange.github.io/docs...
Python Official SDK
github.com/bybit-exchange/pybit
🤘 Таймкоды
00:00 Как работают Лимитные Ордера
02:36 timeInForce в терминале ByBit
06:12 Place Limit Order API ByBit
09:05 Get Open Orders API ByBit
11:49 Cancel Limit Order API ByBit
13:56 Cancel All Orders API ByBit
15:15 timeInForce в place_order API ByBit
19:33 Продажа остатков с помощью лимитного ордера
.
.
.
#bybitapi #python #algotrading
Исходники здесь github.com/AzzraelCode/azzyt-bybit
Опрос будет здесь t.me/azzraelru
Атличный сериал! Особенно круто, что проходишься по всем граничным условиям. Ждем фьючей, а также информацию по открытым позициям и нотификациям по отработке ордеров! Предвкушаю круттизну! Спасиба!
Прекрасный ролик. Ждём продолжения по байбиту.
Большое спасибо. Крутая серия видосов, впрочем как и всегда)
думаю, так как в get open orders параметрах указан конкретный id поэтому возращается отмененый ордер также, и без указания символа, по той же причине
Спасибо за видео! Интересна работа с кошельком, т.е. уже купленными монетами на споте. Допустим как запросить конкретные данные через телеграм бот. К примеру выгрузить среднюю цену. И как вариантнастроить аллерты при повышении цены выше средней допустим на 10%.
Благодарю за полезную информацию
Будет ли разбор по фьючерсам?
В планах есть.
А можно как-то менять ордер? Двитать СЛ, например?)
СЛ это отдельный ордер. Для изменения не исполненных ордеров можно использовать bybit-exchange.github.io/docs/v5/order/amend-order
Отличный ролик. Спасибо за информацию. Подскажите пожалуйста есть ли в документации параметр изменения плеча на фьючах? По умолчанию на Байбит стоит 10 плечо. Хотелось бы как то изменять плечо в коде при различных событиях. Есть ли такая возможность вообще?
Да, возможно, есть метод bybit-exchange.github.io/docs/v5/position/leverage
@@AzzraelCode Благодарю. Буду разбираться. Разобрался. Все отлично работает. Очень помогли как оказалось на очень простой штуке. Теперь все как нужно работает.
Здравствуйте. Подскажите пожалуйста, как в Трейдингвью создать окно с выводом информации и фиксированным положением на графике? Спасибо. За ролик, по этому вопросу, был признателен чрезвычайно)
Прям окно - никак. Но можно вводить например таблицу th-cam.com/video/jPViYytxmuY/w-d-xo.html
Вы лучший)) Спасибо!
Вопрос - Возможно ли через api создавать grid bot в bydit? Если да, то как?)
Ну я таких эндпоинтов в API не видел...
С чем может быть связана ошибка
InvalidRequestError: Order quantity exceeded upper limit. (ErrCode: 170135)
Проверьте что вы отправляете в quantity.
Вопрос - Я хочу выставить лимитный ордер, но мне необходимо чтобы при достижении заданной цены ордер исполнился сразу весь, даже если для этого придется покупать по невыгодной цене (аналог проскальзывания). Как это реализовать? Если я правильно понял, то при FOK, при нехватке ликвидности, ордер будет просто отменен и его придется выставлять заново.
Лимитка так не работает. То что вы хотите реализуется через алгоордера. На разных биржаж они называются и реализованы по разному. У бинанса это называется Stop Market Order. Вы указываете триггерную цену и при её достижении формируется маркетный ордер в любую сторону. Такое же есть у ByBit и называется у них Conditional Order и там можно выбрать срабатывание как Маркет Ордер .
Скрин здесь
t.me/azzraelru/205
@@AzzraelCode Спасибище !!!
Когда дело дошло до программирования оказалось, что существует всего два параметра для ordertype - market и limit.Условного ордера, который есть в терминале, в api я не могу найти (
Если делать вот так при цене 0.16...
category = 'linear',
symbol = 'DOGEUSDT',
side="Buy",
orderType="Market",
qty="20",
triggerprice=0.165,
triggerDirection=1,
isLeverage=50,
triggerBy='LastPrice',
takeprofit=0.167,
stoploss=0.163
, то просто открывается позиция по рыночной цене.
Подскажите пожалуйста почему не срабатывает ордер на покупку про рыночной цене. Тип ордера Market, по описанию api, цена при этом должна игнорится - Market order will ignore this field. На примере avax - 0.2000 выдаёт ошибку - Order value exceeded lower limit. Нижний пределе чего? 8 usdt слишком мало?)
В ошибке написано Order value exceeded lower limit, соотв байбиту не нравится размер ордера.
Вы не написали в какую секцию и какую пару торгуете.
Если спот AVAXUSDT,
то там мин = 0.034 AVAX 1 USDT
www.bybit.com/en/announcement-info/spot-trading-rules/ , то должно проходить
Если бессрочные фьючи, то на AVAXUSDT
Contract Size 1 AVAX
www.bybit.com/en/announcement-info/contract-detail/
@@AzzraelCode spot, AVAXUSDT, Market, 0,2 спотовая же, должна проходить, лимитный же спокойно проходит.
@@AzzraelCode заработало с параметром baseCoin
Подскажите пожалуйста! Я пытаюсь воспользоваться методом get_open_orders в скобках задаю настройки category="linear", и далее при распечатке в консоли (print) выводит такое сообщение 2024-04-04 21:08:31,006 Ошибка при получении открытых ордеров: error sign! origin_string[1712254110761RGooGnmp3N2GJicfb75000category=linear] (ErrCode: 10004)
Что нужно делать?
Этот метод получает информацию по уже открытым позициям или по неисполненным лимиткам?
У вас ошибка подписи. Проверьте ваши ключи, возможно где то попал лишний пробел или символ отрезало...
@@AzzraelCode да дело в том, что код выполняет другие функции такие как вход в позицию на пример, в настройках api ключей задавал все параметра за исключением вывод средств.
Так же пробую воспользоваться методом get_positions и та же самая ошибка. Пробую задать конкретный символ (предварительно захожу в позицию в ручную) и нет выдает ошибку error sing! origin_string и т.д.
Может какие ещё мысли есть? Только эта ошибка меня сейчас стопорит в написании кода)
Прям сейчас проверил
r = HTTP(api_key=API_KEY, api_secret=SECRET_KEY).get_open_orders(category="linear", symbol="BTCUSDT" ) все работает, если с ключами все норм..
@@AzzraelCode да вы правы, скамный чат жпт, мне кожаному мешку, сам переписал секрет Кей. Я ж потом спрашивал у него ещё в чем ошибка, он мне отвечает у вас мол апи ключи не верны.... Ааааа спасибо большое за помощь!)