ByBit API + Python ч.6 | Фьючерсы - Ордера (Рыночные и Лимитные), Позиции.

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 มิ.ย. 2024
  • Работаю с Фьючерсами (Linear Perpetual Futures) на ByBit с API ByBit на Python с библиотекой pybit. Сегодня отправляю лимитные и рыночные ордера. Отменяю лимитки. Получаю текущие Позиции, переворачиваю и закрываю. В Одностороннем Режиме (One-Way Position Mode). Подробный разбор примеров кода и пушей событий в Websocket API Bybit параллельно.
    🤑 Спасибо блоггеру
    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:18 Односторонний Режим Позиции (One Way Position Mode)
    03:55 Получаю фильтры символа (мин лот, округления цены и лота)
    05:55 Отправка Лимитного Ордера на Бессрочный Фьючерс ByBit
    10:07 Что такое OrderLinkID
    14:40 Отмена ВСЕХ Открытых Ордеров в секции Perpetual Futures
    16:55 Отмена 1 лимитки по её OrderLinkID
    18:43 Рыночный Ордер с размером в Базовой Валюте (SHIB)
    23:44 Market Order в USDT
    25:30 Текущая Позиция на фьючерсе байбит
    26:35 Переворот Позиции
    27:25 Закрытие Позиции
    .
    .
    .
    #bybitapi #python #futures

ความคิดเห็น • 44

  • @AzzraelCode
    @AzzraelCode  2 หลายเดือนก่อน

    Исходники github.com/AzzraelCode/azzyt-bybit/blob/main/videos/V6FuturesOrders.py
    Спасибо блоггеру azzrael.ru/spasibo
    Telegram t.me/azzraelru

    • @user-qf7so6ho1u
      @user-qf7so6ho1u 2 หลายเดือนก่อน

      Привет 🖐, на трейдингвю есть одна стратегия с открытим исходным кодом туда просто надо добавит интерфейс и я хочу его подключит из виндовс на бинанс фьючерс, копитрейдинг и на других биржах через Api для авто торговли напишите❓

  • @rj_45j79
    @rj_45j79 2 หลายเดือนก่อน

    Денис, хоть ролик еще не опубликован, но по описанию - это то что нужно!!!
    С нетерпением жду видео!
    Спасибо за ролик и за то, что действительно записал видео, из вопросов в комментах!🤝

  • @user-eu8pd8lc6c
    @user-eu8pd8lc6c 2 หลายเดือนก่อน

    очень классные и полезные видосы! Спасибо, Денис за труд! Было очень круто в конце сериала запилить видос на тему прикрутки всего этого хозяйства к телеграму, чтобы можно было ставить/снимать ордера прям из ТГ бота,

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      Рад что нравится. Что касается телеги, вот прям торговлю врядли я буду делать. Но прикрутить телегу к апишкам ради какой-то аналитики и сигналов - такое вполне возможно.

  • @user-uu3zz6zi1o
    @user-uu3zz6zi1o 2 หลายเดือนก่อน

    Очень ожидаемый ролик.

  • @mihailbirukov5924
    @mihailbirukov5924 2 หลายเดือนก่อน

    Большая благодарность за контент, за канал, обязательно сделаю донат с прибыли от торговли

  • @darik_val1681
    @darik_val1681 2 หลายเดือนก่อน

    Круть, спасибо за ролик, очень полезно, жду следующее видео

  • @user-xi4xk3fq4o
    @user-xi4xk3fq4o หลายเดือนก่อน

    Спасибо за видео.
    Но хотелось бы еще увидеть способы закрытия ордера в режиме Хеджирования

    • @AzzraelCode
      @AzzraelCode  หลายเดือนก่อน +1

      В этом сериале только про OneWay, мешать с хенджмодом не буду. Но в целом там не сложно, нужно лишь добавить positionIdx 1 или 2 в зав от напр позы.

  • @user-jq5rz5jk7d
    @user-jq5rz5jk7d หลายเดือนก่อน

    Господи, это просто охуенно!

  • @user-oq9jr3ui7e
    @user-oq9jr3ui7e 2 หลายเดือนก่อน

    Отличный ролик. Ждал его. Много информации. Столкнулся с таким моментом и может вы подскажите почему так. Получаю кодом информацию по открытым ордерам. Выдается словарь в котором явно указано Buy. Но ордера открыты на Sell. С открытыми ордерами на Buy такая же история. В выдаче запроса указано Sell. Сижу голову ломаю)

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      Попробуйте проверить отдельными запросами к каждому ордеру.

  • @anthonyrakov549
    @anthonyrakov549 2 หลายเดือนก่อน

    Спасибо за отличные видео!
    Подскажите с вопросом: возможно ли иметь две открытых позиций по одному тикеру с разными плечами? Как я не пробовал, когда выставляется плечо, то новое плечо уже влияет на открытую сделку (изменяет размер в маржи внутри ордера). Может быть есть где-то настройки, что на каждую позицию можно выставлять свое плечо исходя из риск менеджмента?

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน +1

      Нет, так не получится. Плечо применяется к инструменту.

  • @user-ms9nv4iw8n
    @user-ms9nv4iw8n 2 หลายเดือนก่อน

    Здравствуйте Денис, у меня вопрос, немного не относящийся к теме видео - А есть ли удобные библиотеки или API для бектестинга на байбит? Думал что Bybit testnet является такой, а там все цены и котировки никоим образом не пересекаются с реальными. Можете что-нибудь посоветовать (или посоветовать посмотреть) если вас не затруднит?

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      Про бэктесты я писал пост в телеге t.me/azzraelru/201 , там довольно развернуто.

  • @user-um3xt4fj7s
    @user-um3xt4fj7s 2 หลายเดือนก่อน

    Спасибо что делишься такими знаниями. Возник вопрос. Есть ли смысл писать робота на питоне при наличие платформы tslab? Я питон только изучаю а на tslabe уже прилично торгую агентами. Вот и думаю стоит пробовать переписывать роботов на питон. Или остаться на тслабе.

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      TSLab классный инструмент. Если вы торгуете на себя и все получается в рамках тслаба, то кмк питон лишняя трата времени. Взять хотябы задачу визуализации сделок. Например для бота на питоне вам придется городить свой интерфейс (хотя бы для отладки), что задача не тривиальная особенно при большом колве баров . А в TSLab уже все есть. Лично я использую компромисс - c# кубик где вся торговая логика и интерфейсы TSLab и этой схемой невероятно доволен.

    • @user-um3xt4fj7s
      @user-um3xt4fj7s 2 หลายเดือนก่อน

      @@AzzraelCode спасибо за ответ.

  • @user-bo6ik1cm3e
    @user-bo6ik1cm3e 2 หลายเดือนก่อน

    Спасибо за разбор, супер 🔥
    А как установить лимитный ордер на закрытие по % pnl?

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      Только посчитав расчетную цену от средней цены позы.

    • @user-bo6ik1cm3e
      @user-bo6ik1cm3e 2 หลายเดือนก่อน

      Спасибо
      Еще вопрос)
      Как получить инфо сколько было покупок по одной монете ?
      К примеру купил атом, потом еще докупил , и еще , получается что 3 покупки но не продавал ,
      И как это узнать сколько сейчас покупок 3 или ?

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      > инфо сколько было покупок по одной монете
      Другими словами вам нужен список исполненных ордеров на покупку.
      Для этого есть эндпоинт bybit-exchange.github.io/docs/v5/order/order-list

    • @user-bo6ik1cm3e
      @user-bo6ik1cm3e 2 หลายเดือนก่อน

      Вопрос от части в эндпоинте, но там отображаются все заказы ,
      А Необходимо найти ордера по монете которые исполнены в ходе донабора (при условии что поза еще не закрыта )
      Я вижу в реалтайме 1 ордер а доборы не знаю как получить

  • @user-bo6ik1cm3e
    @user-bo6ik1cm3e 2 หลายเดือนก่อน

    Извиняюсь за свою назойливость ))
    Можно ли как то сделать replace order для лимитного ордера?
    На самой бирже это возможно, а вот как кодом еще не знаю 🤷

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      Можно изменить не исполненный (или partially filled) ордер с помощью bybit-exchange.github.io/docs/v5/order/amend-order

    • @user-bo6ik1cm3e
      @user-bo6ik1cm3e 2 หลายเดือนก่อน

      Огромное спасибо

  • @Oleg_Bashmanov
    @Oleg_Bashmanov หลายเดือนก่อน

    @AzzraelCode Помогите , бюсь уже сутки. Есть часть кода для запроса по API на биржу Bybit. Ордер отправляется, но проблема с тейкпрофитом. Он применяется ко всей позиции, а надо чтобы только на ту на которую ордер. То есть если уже была позиция на 15 контрактов то когда отправляю запрос на покупку еще 15 контрактов с тейкпрофитом, то при срабатывании он покупает 15 и устанавливает ТР на всю (30) позицию. А надо чтобы на15 )
    tpSlMode = 'Partial' не помогло
    Дайте хоть подсказку куда копать

    • @AzzraelCode
      @AzzraelCode  หลายเดือนก่อน

      Мне кажется вы все делаете правильно. Кмк вы просто опечатались в tpSlMode ;) Спецом на ваш коммент сделал пост t.me/azzraelru/241 другим тоже пригодится.

  • @rj_45j79
    @rj_45j79 2 หลายเดือนก่อน

    Доброе утро, Денис. Возможно ли как-то посотрудничать?
    У меня есть стратегия, но ее надо написать с использованием tradingview - алертов. Как можем обсудить условия?

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน +1

      Если у вас есть ТЗ можете написать azzrael.ru/spasibo#contacts
      Но сразу скажу - сейчас я крайне загружен и шансы что я возьмусь крайне минимальны. Пока рыночек так активен как нынче надо брать с него что можно, а не фрилансить )))

    • @rj_45j79
      @rj_45j79 2 หลายเดือนก่อน

      @@AzzraelCode подготовлю текст и напишу письмо. Думаю должно быть интересно ;)

  • @ru39diman
    @ru39diman หลายเดือนก่อน

    привет Денис, при запросе f.place_limit_order_by_percent(f.min_qty, "Sell", 3) получаю следующую ошибку:
    ByBit API Request Error | 10029 | The requested symbol is not whitelisted.
    в твоём коде кроме API_KEY/SECRET ничего не менял.
    в управлении АПИ включил всё что можно, настройка one-way-mode тоже включена
    уже несколько часов безуспешно потею перед монитором...
    подкинь идею какие параметры стоит подкорректировать

    • @ru39diman
      @ru39diman หลายเดือนก่อน

      самое смешное то, что при том-же самом запросе, но с другой торговой парой (ETHUSDT) код ошибки изменился несмотря на то что обе пары находятся на Вайтлисте как спота с маржей, так и деривативов...
      ByBit API Request Error | 10010 | Unmatched IP, please check your API key's bound IP addresses.

    • @AzzraelCode
      @AzzraelCode  หลายเดือนก่อน

      Ну сходу я бы просто пересоздал ключи заново, проверил без вайтлиста и только когда все заработало включал вайтлист...

    • @ru39diman
      @ru39diman หลายเดือนก่อน

      @@AzzraelCode Новый ключ создан, все ограничения сняты, но проблема осталась, причём подключение к приватному webSocketStream так-же как и сделки по споту проходят гладко.
      В настройках Вайтлистинг деривативов отображено следующее уведомление: "Когда активен вайтлистинг деривативов, группировка для интерфейса ордеров отключена."
      это как-то связанно? 🤔

    • @AzzraelCode
      @AzzraelCode  หลายเดือนก่อน +1

      Ну тогда стоит идти по порядку:
      - Проверить нет ли ограничений на акк - попробуйте торгануть вашу пару руками из терминала.
      - Запросить список доступных пар для торговли v5/market/instrument и проверить есть ли там ваша пара для вашего рынка spot/linear
      - Запросить v5/user/apikey-info - вам интересен раздел permissions
      ...

  • @alexandrm5897
    @alexandrm5897 2 หลายเดือนก่อน

    Я правильно понял,... - открыть условный отложенный стоп ордер с помощью API невозможно?... так же как и трейлинг стоп установить с помощью API невозможно...
    Так же как и развернуть позицию по достижении определенной цены с помощью отложенных ордеров тоже невозможно...
    Вопросы риторические, т.к. я всё это уже многократно пытался исполнить.... не получается.
    Пока ждал этот ролик, уже многое понял эмпирическим путём. В итоге мои роботы работают "по колхозному". Получаю котировки по подписке и когда цена достигает нужного мне уровня просто отправляю приказ на покупку или продажу по рыночной цене. Отложенными ордерами не пользуюсь совсем. Только Sell и Buy по текущей цене. Минус такой работы очевиден, цена исполнения всегда отличается от текущей цены.... причем бывает иногда и в мою сторону. Плюс - не гружу поток и в целом всё очень просто работает. Как показывает практика иногда бывает (редко, но бывает) не все котировки приходят по подписке. Обидно, когда не приходит экстремум, но это ооооочень редко. На качество связи не грешу, т.к. роботы размещаю на сервере в Голландии.
    Что хочу сказать про работу на ByBit в целом. Это мой первый опыт работы с помощью роботов на криптобирже. Зарабатывать можно и даже очень не плохо. ByBit гуманнее всех по комиссиям. А все вышеперечисленные недостатки не критичны. По сравнению с форексом мне криптобиржи больше нравится, т.к. работает биржа 24х7, ликвидных пар намного больше чем на форексе и всегда можно найти хорошую возможность для торговли. Однако, когда комиссии больше 0.1%, становится работать не очень интересно... Знаю три биржи, где комиссии 0.1 или меньше, но пока мне и байбита хватает.
    Спасибо за видео. Они мне очень помогли быстрее понять как и что работает. Всем нам удачи!!!
    p.s. Я так и не понял, почему все хвалят python. Мне кажется этот язык был создан для неаккуратных программистов. Кому лень код писать и для тех, кто скучает по бейсику.

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      > условный отложенный стоп ордер с помощью API невозможно?
      Хмм, пол ролика же именно этим и занимались - ставили лимитки, посмотрите ещё разок, там в самом начале
      > трейлинг стоп установить с помощью API невозможно
      В сегодняшнем ролике этого не было, но он ставится также легко как и лимитки. Примеры будут, но в сл сериях.
      > этот язык был создан для неаккуратных программистов
      Возможно вы не далеки от истины. Некоторые считают одной из причин популярности питона то, что его преподают в штатовских школах. Однако рыночек уже порешал, python + js сейчас в топе и это факт, нравится это кому то или нет...

    • @alexandrm5897
      @alexandrm5897 2 หลายเดือนก่อน

      @@AzzraelCode Я внимательно посмотрел ролик. Вы ставите отложенный лимит ордер. Вы попробуйте поставить отложенный стоп ордер. В начале 7-й минуты вы сами об этом говорите, что если бы попробовали поставить ордер на покупку выше текущей цены, то ордер исполнился бы сразу. Руками поставить такой ордер можно, через api нельзя. В документации к API сказано, что это можно сделать через установку триггерной цены. Но не работает. Если я не прав, покажите в следующем ролике пожалуйста.
      Про трейлинг стоп тоже очень интересно. Я не нашел как с помощью place order это сделать. Как это сделать руками понятно, как с помощью API пока не знаю. Только если самостоятельно код писать.

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      Комментарий в модерацию свалился, поэтому поздно отвечаю.
      > Вы ставите отложенный лимит ордер. Вы попробуйте поставить отложенный стоп ордер.
      Да, я ваш коммент не внимательно прочитал. В ролике действительно было просто про простые лимитки, а не про стопы. В планах есть ролики про стопы (Conditional, TP/SL), но посмотрим, пока похоже аудитория устала от байбита...
      > В документации к API сказано, что это можно сделать через установку триггерной цены. Но не работает
      Проверьте не забываете ли вы при установки триггерной цены про параметр triggerDirection.
      Те на самом деле схема простая - вы собираете параметры для вашего лимитного или рыночного ордера. Затем добавляете triggerDirection и triggerPrice, и получаете Conditional.

    • @alexandrm5897
      @alexandrm5897 2 หลายเดือนก่อน

      @@AzzraelCode Я уже всё перепробовал
      res = cl.place_order (
      category = 'linear',
      symbol = 'ADAUSDT',
      side="Buy",
      orderType="Market",
      qty='10',
      triggerprice='0.635',
      price='0.635', #если убрать эту строку ничего не меняется
      triggerDirection=1
      )
      Не работает...
      Я не думаю, что народ устал от байбита. Людей, которые с нуля пишут боты, крайне мало. В основном все готовыми пользуются.

    • @AzzraelCode
      @AzzraelCode  2 หลายเดือนก่อน

      Сделал специально для вас пример t.me/azzraelru/214 ;)