> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/guide/kursy/formuly/standartnye-formuly.md).

# Стандартные формулы

В данном разделе представлены наиболее распространённые формулы, которые используются при настройке обменных пунктов.

Все примеры можно использовать как готовые шаблоны или адаптировать под собственные задачи.

Перед использованием убедитесь, что все необходимые курсы уже добавлены в соответствующих разделах:

* «Парсер курсов» — «Курсы из источников»
* «Парсер курсов» — «Курсы конкурентов»
* «Парсер курсов» — «Курсы из файла»
* «Парсер курсов» — «Коэффициенты»

***

## Базовые формулы

{% stepper %}
{% step %}

### Обратный курс

Используется для получения обратного значения уже существующего курса.

Например, если существует курс: BTC - RUB

то для получения курса: RUB - BTC

используйте формулу:

```
1 / [index_btc-rub]
```

{% endstep %}

{% step %}

### Конвертация через промежуточную валюту

Если прямой курс отсутствует, его можно получить через промежуточную валюту.

Например:

* BTC - USDT
* USD - RUB

Получаем: **BTC - RUB**

```
[rapira_btc-usdt_ask] * [russiancentralbank_usd-rub]
```

{% endstep %}

{% step %}

### Ручной курс через коэффициент

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

```
[rapira_btc-usdt_ask] * [index_usd-manual]
```

Где:

\[index\_usd-manual] — созданный вами коэффициент.
{% endstep %}
{% endstepper %}

***

## Формулы с комиссией

{% stepper %}
{% step %}

### Добавление комиссии 1%

```
[rapira_btc-usdt_ask] + 1%
```

{% endstep %}

{% step %}

### Добавление комиссии 2%

```
[rapira_btc-usdt_ask] + 2%
```

{% endstep %}

{% step %}

### Уменьшение курса на 1%

```
[rapira_btc-usdt_ask] - 1%
```

{% endstep %}

{% step %}

### Уменьшение курса на 1.5%

```
[rapira_btc-usdt_ask] - 1.5%
```

{% endstep %}

{% step %}

### Курс с остатком после комиссии

Если необходимо удержать комиссию 1.5%:

```
[rapira_btc-usdt_ask] * 98.5%
```

Если комиссия составляет 2%:

```
[rapira_btc-usdt_ask] * 98%
```

{% endstep %}
{% endstepper %}

***

## Средние значения

{% stepper %}
{% step %}

### Средний курс двух источников

```
([source_1] + [source_2]) / 2
```

Пример:

```
([binance_btc-usdt] + [bybit_btc-usdt]) / 2
```

{% endstep %}

{% step %}

### Средний курс трёх источников

```
([source_1] + [source_2] + [source_3]) / 3
```

Пример:

```
([binance_btc-usdt] + [bybit_btc-usdt] + [rapira_btc-usdt_ask]) / 3
```

{% endstep %}

{% step %}

### Средний курс четырёх источников

```
([source_1] + [source_2] + [source_3] + [source_4]) / 4
```

{% endstep %}
{% endstepper %}

***

## Формулы для RUB

{% stepper %}
{% step %}

### BTC - RUB

```
[rapira_btc-usdt_ask] * [russiancentralbank_usd-rub]
```

{% endstep %}

{% step %}

### ETH - RUB

```
[rapira_eth-usdt_ask] * [russiancentralbank_usd-rub]
```

{% endstep %}
{% endstepper %}

***

## Формулы для обратных направлений

{% stepper %}
{% step %}

### RUB - BTC

```
1 / ([rapira_btc-usdt_ask] * [russiancentralbank_usd-rub])
```

{% endstep %}

{% step %}

### RUB - USDT

```
1 / [russiancentralbank_usd-rub]
```

{% endstep %}
{% endstepper %}

***

## Формулы с несколькими источниками

{% stepper %}
{% step %}

### Средний курс BTC - RUB из двух поставщиков

```
(
([provider_1] + [provider_2]) / 2
)
*
[russiancentralbank_usd-rub]
```

{% endstep %}

{% step %}

### Средний курс BTC - RUB из трёх поставщиков

```
(
([provider_1] + [provider_2] + [provider_3]) / 3
)
*
[russiancentralbank_usd-rub]
```

{% endstep %}
{% endstepper %}

***

## Формулы с резервным источником

Если основной источник временно недоступен, рекомендуется использовать резервный.

Пример:

```
[fallback][binance_btc-usdt],[bybit_btc-usdt][/fallback]
```

Система сначала попробует использовать Binance.

Если курс отсутствует, будет автоматически использован ByBit.

***

## Формулы с ограничением курса

Минимальный курс:

```
[limit][binance_btc-usdt],90000,999999999[/limit]
```

Максимальный курс:

```
[limit][binance_btc-usdt],0,120000[/limit]
```

Минимальный и максимальный курс одновременно:

```
[limit][binance_btc-usdt],90000,120000[/limit]
```

***

## Формулы через коэффициенты

### Использование фиксированного коэффициента

```
[binance_btc-usdt] * [index_margin]
```

### Использование шаблона формулы

Коэффициент:

```
[index_btc-rub]
```

может содержать:

```
[rapira_btc-usdt_ask] * [russiancentralbank_usd-rub]
```

После этого в остальных формулах можно использовать только:

```
[index_btc-rub]
```

вместо длинного выражения.

***

## Готовые решения

| Задача                 | Формула                                                      |
| ---------------------- | ------------------------------------------------------------ |
| BTC - RUB              | `[rapira_btc-usdt_ask] * [russiancentralbank_usd-rub]`       |
| RUB - BTC              | `1 / ([rapira_btc-usdt_ask] * [russiancentralbank_usd-rub])` |
| Средний курс двух бирж | `([source1] + [source2]) / 2`                                |
| Средний курс трёх бирж | `([source1] + [source2] + [source3]) / 3`                    |
| Наценка 2%             | `[rate] + 2%`                                                |
| Скидка 1%              | `[rate] - 1%`                                                |
| Комиссия 1.5%          | `[rate] * 98.5%`                                             |
| Резервный источник     | `[fallback][source1],[source2][/fallback]`                   |
| Обратный курс          | `1 / [rate]`                                                 |

***

## Рекомендации

* Используйте коэффициенты для длинных формул.
* Используйте несколько источников для получения среднего значения.
* Настраивайте резервные источники для повышения отказоустойчивости.
* Проверяйте результат формулы перед сохранением.
* Для сложных расчётов разбивайте логику на несколько коэффициентов вместо одной длинной формулы.

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.iexexchanger.com/guide/kursy/formuly/standartnye-formuly.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
