# Формирование количества

## Описание

В системе Antares существует несколько способов указания количества для ордеров. Количество может быть задано явно в абсолютных значениях или рассчитано автоматически на основе процентов от баланса или позиции.

## Типы количества

### 1. Абсолютное количество

#### qty

Точное количество в базовой валюте (например, BTC в паре BTCUSDT)

```
qty=0.1        # купить/продать точно 0.1 BTC
qty=1.5        # купить/продать точно 1.5 ETH
```

#### quqty / ququantity

Точное количество в квотовой валюте (например, USDT в паре BTCUSDT)

```
quqty=100      # купить BTC на 100 USDT
quqty=500      # купить ETH на 500 USDT
```

### 2. Процентное количество

#### openpro

Процент от **свободного (незаблокированного)** баланса для открытия позиций

```
openpro=25     # использовать 25% свободного баланса
openpro=50     # использовать 50% свободного баланса
openpro=100    # использовать весь свободный баланс
```

**Применение:**

* **Spot**: процент от свободного баланса квотовой валюты (USDT для покупки, базовой валюты для продажи)
* **Futures**: процент от свободного баланса для открытия новой позиции

#### closepro

Процент для закрытия позиций

```
closepro=50    # закрыть 50% позиции/баланса
closepro=100   # закрыть всю позицию/весь баланс
```

**Применение:**

* **Spot**: процент от баланса монеты для продажи
* **Futures**: процент от открытой позиции для закрытия

#### depopro

Процент от **общего депозита** (свободный + заблокированный баланс)

```
depopro=30     # использовать 30% от общего депозита
depopro=100    # использовать весь депозит
```

**Применение:**

* Учитывает как свободные, так и заблокированные в ордерах средства
* Полезно для оценки общей загрузки депозита

### 3. Устаревшие параметры

#### ququantity (устаревший)

Аналог `quqty`, оставлен для совместимости

```
ququantity=100  # то же что quqty=100
```

#### openquantityproc / closequantityproc (устаревшие)

Аналоги `openpro` и `closepro`

```
openquantityproc=25   # то же что openpro=25
closequantityproc=50  # то же что closepro=50
```

## Приоритет параметров

Если указано несколько параметров количества, система использует их в следующем порядке:

1. `qty` - наивысший приоритет
2. `quqty` / `ququantity`
3. `openpro` / `closepro` / `depopro`
4. Устаревшие параметры

## Расчет с плечом (только futures)

### levforqty

Использовать плечо для расчета количества

```
openpro=25;lev=10;levforqty=true    # 25% баланса × 10 плечо
levforqty!                          # сокращенная запись levforqty=true
```

При использовании `levforqty=true` финальное количество умножается на значение плеча.

## Примеры расчетов

### Спотовая торговля

**Покупка Bitcoin на 50% свободного USDT:**

```
mktype=spot;symbol=BTCUSDT;side=BUY;type=MARKET;openpro=50
```

**Продажа 100 USDT эквивалента Ethereum:**

```
mktype=spot;symbol=ETHUSDT;side=SELL;type=MARKET;quqty=100
```

**Продажа всего Ethereum из баланса:**

```
mktype=spot;symbol=ETHUSDT;side=SELL;type=MARKET;closepro=100
```

### Фьючерсная торговля

**Открытие лонга на 25% баланса с плечом 10x:**

```
mktype=futures;symbol=BTCUSDT;side=BUY;type=MARKET;openpro=25;lev=10;levforqty=true
```

**Закрытие 50% позиции:**

```
mktype=futures;symbol=BTCUSDT;side=SELL;type=MARKET;closepro=50;reduceonly=true
```

**Открытие позиции на весь депозит:**

```
mktype=futures;symbol=ETHUSDT;side=BUY;type=MARKET;depopro=100
```

## Особенности расчета

### Фильтры биржи

Система автоматически применяет фильтры биржи:

* Минимальное/максимальное количество
* Шаг количества (step size)
* Минимальная стоимость ордера (notional)

### Округление

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

### Проверка баланса

При использовании процентных параметров система проверяет доступность средств и может скорректировать количество.

## Диагностика

Для проверки расчетов используйте GET-экшены:

```
# Получить рассчитанное количество
mktype=spot;symbol=BTCUSDT;get=QUQTY;openpro=50

# Получить информацию о процентах
mktype=futures;symbol=ETHUSDT;get=QUANTITYPROC;closepro=25
```

## Связанные разделы

* [Процентные ордеры](https://antares-ts.gitbook.io/doc/procentnye-ordery) - подробнее о процентных расчетах
* [Создание ордера](https://antares-ts.gitbook.io/doc/sozdanie-ordera) - основы создания ордеров
* [GET](https://antares-ts.gitbook.io/doc/actions/get) - получение расчетных данных
