Закрытие открытых позиций на Binance

Я использую Binance Python API (Python 3.x)

Когда кто-то использует функцию create_order, он создает ордер на бирже SPOT со СТАТУСОМ NEW. Когда он будет заполнен, СТАТУС переходит в ЗАПОЛНЕННЫЙ.

Кроме того, когда он ЗАПОЛНЕН, я понимаю, что создается ПОЗИЦИЯ (длинная или короткая)

У меня следующий вопрос: какую конечную точку я могу использовать для получения списка открытых позиций.

Зачем мне это нужно? Если позиция находится на стороне ПРОДАЖА, я хотел бы выполнить ПОКУПКУ, чтобы закрыть ее. Если позиция находится на стороне ПОКУПКИ, я хотел бы выполнить ПРОДАЖУ, чтобы закрыть ее.

Можно ли это сделать?

Мы будем очень благодарны за любую помощь, подсказки или советы.

TIA

@michaeldel ETA: Я использую это здесь: https://python-binance.readthedocs.io/en/latest/

Что касается заказов, я следую: https://python-binance.readthedocs.io/en/latest/account.html?highlight=orders#orders.

Можете ли вы отметить, какой эквивалент будет эквивалентом в этом (Python) API?

Я использовал: "get_all_orders" с фокусом "STATUS" как "FILLED". https://python-binance.readthedocs.io/en/latest/binance.html#binance.client.Client.get_all_orders

Я искал открытые позиции (не ордера)

Если позиция BTCUSDT SELL со статусом = ЗАПОЛНЕНА с origQty = .20, я хочу иметь возможность отменить ее с помощью ПОКУПКИ и количества 0.20.

Если позиция BTCUSDT BUY имеет status = FILLED и origQty = .30, я хочу иметь возможность отменить ее с помощью SELL и Quantity 30

Имеет ли это смысл?

Есть ли способ лучше? Я что-то упускаю?

Спасибо за вклад!


person Casey Harrils    schedule 07.06.2020    source источник
comment
binance-docs.github.io/apidocs/spot / ru /   -  person michaeldel    schedule 07.06.2020
comment
Спасибо за ответ! Пожалуйста, смотрите обновление в сообщении. TIA   -  person Casey Harrils    schedule 07.06.2020


Ответы (2)


Кроме того, когда он ЗАПОЛНЕН, я понимаю, что создается ПОЗИЦИЯ (длинная или короткая)

Насколько мне известно, Binance не предоставляет семантику позиции (с точки зрения торговли). Такие абстракции обычно применяются для деривативов (например фьючерсов), когда дело касается валютных рынков, поскольку покупка и продажа валюты с целью получения прибыли - не единственное их использование.

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

Вы можете абстрагироваться от позиций сами, но это может потребовать гораздо больше работы, особенно с учетом гетерогенных цепочек транзакций (например BTC -> ETH -> USDT -> BTC), частичного заполнения и т. Д.

person michaeldel    schedule 07.06.2020
comment
Спасибо, я начал это видеть - person Casey Harrils; 07.06.2020

Для фьючерсов на binance эта функция была добавлена ​​18 мая 2020 года!

С STOP_MARKET или TAKE_PROFIT_MARKET вы можете использовать closePosition параметр!

closePosition=true

В соответствии с изменением, указанным в документе api, здесь:

2020-05-18

Новый параметр closePosition для конечной точки POST / fapi / v1 / order: если срабатывает ордер STOP_MARKET или TAKE_PROFIT_MARKET с closePosition = true , вся текущая длинная позиция (если ордер SELL) или текущая короткая позиция (если ордер BUY) будут закрыты.

Новое поле closePosition в ответ на конечные точки:

  • POST / fapi / v1 / заказ
  • POST / fapi / v1 / batchOrders
  • ПОЛУЧИТЬ / fapi / v1 / заказать
  • УДАЛИТЬ / fapi / v1 / заказ
  • УДАЛИТЬ / fapi / v1 / batchOrders
  • ПОЛУЧИТЬ / fapi / v1 / openOrder
  • ПОЛУЧИТЬ / fapi / v1 / openOrders
  • ПОЛУЧИТЬ / fapi / v1 / allOrders

Проверьте описание документа нового заказа.

person Mohamed Allal    schedule 22.12.2020
comment
Я думаю, что TAKE_PROFIT_MARKET и STOP_MARKET - это рыночный порядок. можем ли мы закрыть позицию с типом ордера мейкера, используя closePosition? - person soung; 03.05.2021