> 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/help-center/ai-base/kursy/rates-reserves-reference.md).

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

Этот справочник помогает отвечать на вопросы “откуда берётся курс”, “почему курс другой”, “почему нет резерва”, “как настроить BestChange”, “как проверить формулу”, “как подключить файл курсов”.

## Общая цепочка курса

| Элемент              | Что делает                                   | Где настраивается              | Что проверить при ошибке                                         |
| -------------------- | -------------------------------------------- | ------------------------------ | ---------------------------------------------------------------- |
| Источник курса       | Получает рыночный курс из внешнего источника | Парсер курсов — Источники      | Активность источника, API-ключи, прокси, история обновлений      |
| Пара источника       | Конкретный курс, например `BTC - USDT`       | Внутри источника курсов        | Статус пары, коды валют, последнее обновление                    |
| Формула              | Считает курс из нескольких источников        | Парсер курсов — Формулы        | Теги, математические операции, деление на ноль, пустые источники |
| BestChange           | Берёт курс из рынка BestChange               | Парсер курсов — BestChange API | Валюты, город, черный список, whitelist, позиция, top N          |
| Файловый курс        | Берёт курс из файла                          | Парсер курсов — Файловые курсы | Ссылка, формат, preview, группа, статус                          |
| Конкурент            | Берёт курс с конкурента                      | Парсер курсов — Конкуренты     | Ссылка, парсинг, история, доступность сайта                      |
| Направление          | Применяет курс к клиентской паре             | Карточка направления — Курсы   | Источник, добавка, комиссии, лимиты                              |
| Калькулятор на сайте | Показывает курс клиенту                      | Публичный сайт                 | Кеш, выбранная пара, интервал обновления                         |

## Источники курсов

| Поле / настройка     | Что означает                      | Как правильно заполнять                               | Рекомендация                               |
| -------------------- | --------------------------------- | ----------------------------------------------------- | ------------------------------------------ |
| Название источника   | Имя источника в админке           | Например Binance, CoinMarketCap, WhiteBit             | Должно быть понятно менеджеру              |
| Алиас источника      | Системное короткое имя            | Используйте латиницу без пробелов                     | Алиас нужен для тегов формул               |
| Статус источника     | Включен ли источник               | Включайте только рабочие источники                    | Выключенный источник не обновляет пары     |
| API-ключ источника   | Ключ доступа, если нужен          | Вставляется только в закрытой админке                 | Не добавляйте ключ в документацию          |
| Proxy                | Через какой прокси делать запросы | Выберите только если источник блокирует прямой доступ | Неверный прокси даст пустые курсы          |
| Пара источника       | Какая валютная пара парсится      | `BTC - USDT`, `USDT - RUB`                            | Коды должны совпадать с источником         |
| Статус пары          | Включена ли конкретная пара       | Включайте нужные пары                                 | Выключенная пара не даст курс направлению  |
| Последнее обновление | Когда курс был обновлён           | Смотрите при жалобе на старый курс                    | Если давно, проверьте CRON                 |
| История курса        | Лог изменений                     | Используйте для споров и диагностики                  | Работает, если включено логирование курсов |

## BestChange API

| Поле / настройка               | Что означает                                   | Как правильно заполнять                     | Рекомендация                                      |
| ------------------------------ | ---------------------------------------------- | ------------------------------------------- | ------------------------------------------------- |
| Статус пары                    | Использовать ли BestChange-пару                | Включайте после проверки рейтинга           | Не включайте пустую пару                          |
| Валюта входа                   | Что отдаёт клиент на BestChange                | Сопоставьте с направлением                  | Ошибка меняет рынок                               |
| Валюта выхода                  | Что получает клиент на BestChange              | Сопоставьте с направлением                  | Проверяйте обратные пары                          |
| Город                          | Город для cash-направлений                     | Заполняйте при наличных                     | Без города рынок может быть нерелевантным         |
| Режим “позиция”                | Брать курс конкретной строки                   | Укажите номер позиции                       | Первая позиция может быть нестабильной            |
| Режим “медиана top N”          | Брать медианное значение из top N              | Укажите N                                   | Хорошо против выбросов                            |
| Режим “средневзвешенный top N” | Учитывать несколько обменников и веса          | Укажите N                                   | Устойчивее, но сложнее объяснить                  |
| Шаг                            | Смещение от рынка                              | Заполняйте по стратегии                     | Проверяйте итоговый курс                          |
| Формула                        | Дополнительная формула расчёта                 | Используйте только при понятной логике      | Ошибка формулы ломает курс                        |
| Черный список обменников       | Исключить обменники                            | Добавляйте нерелевантных или подозрительных | Слишком большой черный список уберёт рынок        |
| Whitelist обменников           | Использовать только выбранных                  | Для строгой стратегии                       | Если whitelist узкий, курс может пропасть         |
| Минимальный резерв             | Игнорировать обменники с малым резервом        | Укажите по объёму ваших заявок              | Слишком высокий минимум уберёт рынок              |
| Максимальный резерв            | Игнорировать слишком крупные или нерелевантные | Обычно используется редко                   | Не ставьте без причины                            |
| Минимальная сумма              | Фильтр по сумме обмена                         | Укажите по рабочим заявкам                  | Должен совпадать с лимитами направления           |
| Максимальная сумма             | Верхний фильтр суммы                           | Укажите по рабочим лимитам                  | Иначе курс для крупных заявок может быть неверным |
| Сброс курса                    | Что делать при ошибке                          | Включайте для защиты от старого курса       | Может временно убрать курс                        |
| Стандартный курс               | Запасной курс                                  | Укажите только как fallback                 | Не должен быть устаревшим                         |
| Favorite                       | Пометка избранной пары                         | Используйте для важных пар                  | Не влияет на сам расчёт                           |
| Rating                         | Рейтинг обменников                             | Смотрите для анализа рынка                  | Не является гарантией выгодности                  |
| Bulk update                    | Массовое изменение BestChange-пар              | Используйте после preview                   | Осторожно: влияет на много направлений            |

## Формулы курсов

| Поле / настройка        | Что означает                           | Как правильно заполнять                             | Рекомендация                                       |
| ----------------------- | -------------------------------------- | --------------------------------------------------- | -------------------------------------------------- |
| Название формулы        | Имя правила                            | Пишите по смыслу, например `BTC USDT через Binance` | Название должно объяснять источник                 |
| Теги источников         | Курс из источника в квадратных скобках | Используйте теги из каталога                        | Пример: `[binance_btc-usdt]`                       |
| Операции                | Математика формулы                     | Можно умножать, делить, складывать, вычитать        | Не усложняйте без необходимости                    |
| Проценты                | Быстрая надбавка/скидка                | Используйте аккуратно                               | Проверяйте итог на тестовой сумме                  |
| Запрос / preview        | Проверка результата формулы            | Всегда проверяйте перед привязкой                   | Если результат пустой, направление не получит курс |
| Коэффициенты            | Дополнительные множители               | Используйте для маржи или корректировки             | Документируйте бизнес-смысл                        |
| Привязанные направления | Где используется формула               | Проверяйте перед изменением                         | Изменение формулы влияет на все пары               |

## Файловые курсы

| Поле / настройка | Что означает                           | Как правильно заполнять                                    | Рекомендация                                    |
| ---------------- | -------------------------------------- | ---------------------------------------------------------- | ----------------------------------------------- |
| Группа файла     | Источник или партнёр файловых курсов   | Создайте отдельную группу для каждого поставщика           | Удобно отключать проблемный источник            |
| Название группы  | Имя источника                          | Например Partner rates                                     | Должно быть понятно                             |
| Ссылка на файл   | URL или путь к файлу                   | Указывайте только рабочий публичный или серверный источник | Не добавляйте приватные URL в документацию      |
| Формат файла     | Как читать данные                      | Используйте поддержанный формат                            | Проверяйте preview                              |
| Предпросмотр     | Предпросмотр распознанных курсов       | Всегда проверяйте после изменения                          | Показывает ошибки формата                       |
| Пара файла       | Конкретная пара, например `BTC - USDT` | Привяжите к направлению                                    | Коды должны совпадать                           |
| Статус пары      | Использовать ли пару                   | Включайте только валидные пары                             | Пустая пара не даст курс                        |
| Обновление       | Когда файл был загружен                | Смотрите при старом курсе                                  | Если старое, проверьте CRON и доступность файла |

## Конкуренты

| Поле / настройка   | Что означает               | Как правильно заполнять         | Рекомендация                            |
| ------------------ | -------------------------- | ------------------------------- | --------------------------------------- |
| Группа конкурентов | Набор сайтов-конкурентов   | Отдельно по рынкам или регионам | Удобно анализировать                    |
| Ссылка конкурента  | Откуда брать курс          | Указывайте рабочий URL          | Не используйте приватные ссылки         |
| Пара конкурента    | Какая пара читается        | `BTC - USDT`                    | Проверяйте соответствие сторон          |
| История            | Изменения курса конкурента | Используйте для анализа         | Если история пустая, парсер не работает |
| Статус             | Использовать или нет       | Включайте только рабочие ссылки | Нерабочая ссылка замедляет обновления   |

## Настройки курсов и CRON

| Поле / настройка            | Что означает                        | Как правильно заполнять                  | Рекомендация                                                  |
| --------------------------- | ----------------------------------- | ---------------------------------------- | ------------------------------------------------------------- |
| Логирование курсов          | Сохранять историю курса             | Включайте для контроля и графиков        | Увеличивает объём логов                                       |
| Знаки отображения           | Сколько знаков показывать в админке | Настройте под валюты                     | Не путать с точностью расчёта                                 |
| Режим обновления источников | Ручной или автоматический           | Для рабочего сайта обычно автоматический | Ручной режим означает, что обновление запускает администратор |
| Интервал источников         | Как часто обновлять обычные курсы   | Не ставьте слишком часто                 | Слишком частые запросы перегружают API                        |
| Режим BestChange            | manual, auto                        | Auto при использовании BestChange        | Иначе BestChange устареет                                     |
| Режим файлов                | manual, auto, event                 | Auto или event по сценарию               | Сверяйте с частотой обновления файла                          |

## Резервы

| Поле / настройка     | Что означает                    | Как правильно заполнять                       | Рекомендация                                  |
| -------------------- | ------------------------------- | --------------------------------------------- | --------------------------------------------- |
| Название резерва     | Как резерв называется в админке | Пишите валюту и источник                      | Например `USDT TRC20 основной`                |
| Сумма                | Сколько доступно                | Указывайте реальный доступный остаток         | Не завышайте резерв                           |
| Фиксированный резерв | Не менять автоматически         | Включайте для ручного контроля                | Автоматические изменения не будут применяться |
| Файловый резерв      | Брать сумму из файла            | Выберите источник файла                       | Полезно для внешних балансов                  |
| Родительский резерв  | Связь с другим резервом         | Используйте при общей ликвидности             | Требует аккуратной проверки                   |
| Комментарий          | Внутренняя заметка              | Пишите без секретов                           | Не добавляйте приватные реквизиты             |
| Сортировка           | Порядок отображения             | Важные резервы выше                           | Влияет на удобство админки                    |
| Логи резерва         | История изменений               | Смотрите при споре или ошибке                 | Показывает было, стало, менеджера, дату       |
| Отвязать резерв      | Убрать связь                    | Используйте, если резерв больше не нужен паре | Проверьте направления после отвязки           |

## Файлы резервов

| Поле / настройка | Что означает                    | Как правильно заполнять        | Рекомендация                             |
| ---------------- | ------------------------------- | ------------------------------ | ---------------------------------------- |
| Группа файлов    | Источник резервов               | Создайте по каждому поставщику | Удобно отключать                         |
| Файл / ссылка    | Откуда брать остатки            | Укажите рабочий источник       | Не документируйте приватные URL          |
| Валюта           | К какой валюте относится резерв | Выберите точную валюту и сеть  | USDT TRC20 и USDT ERC20 — разные резервы |
| Статус           | Использовать файл               | Включайте после preview        | Нерабочий файл даст неверный резерв      |

## Как проверить неправильный курс

| Шаг | Что сделать                                      | Что означает результат                             |
| --- | ------------------------------------------------ | -------------------------------------------------- |
| 1   | Откройте направление и посмотрите источник курса | Понимаете, ручной курс это или парсер              |
| 2   | Проверьте сам источник                           | Если источник пустой, направление не виновато      |
| 3   | Проверьте добавки и комиссии направления         | Итоговый курс может отличаться от рыночного        |
| 4   | Проверьте историю курсов                         | Видно, когда курс изменился                        |
| 5   | Проверьте CRON                                   | Если давно не было обновления, проблема в процессе |
| 6   | Очистите кеш при необходимости                   | Сайт может показывать старые данные                |
| 7   | Откройте публичную пару                          | Сверьте, что клиент видит тот же итог              |

## Как проверить неправильный резерв

| Шаг | Что сделать                                | Что означает результат                        |
| --- | ------------------------------------------ | --------------------------------------------- |
| 1   | Откройте валюту “Получаю”                  | Резерв чаще относится к стороне выплаты       |
| 2   | Проверьте резерв валюты                    | Сумма может быть меньше заявки                |
| 3   | Проверьте резерв направления               | Индивидуальный резерв может ограничивать пару |
| 4   | Проверьте максимальный отображаемый резерв | Клиент может видеть меньше факта              |
| 5   | Проверьте файл резервов                    | Если резерв из файла, источник мог устареть   |
| 6   | Проверьте логи резерва                     | Видно, кто и когда изменил сумму              |

## Типовые ошибки

| Ошибка / ситуация          | Причина                                                            | Что сделать                              |
| -------------------------- | ------------------------------------------------------------------ | ---------------------------------------- |
| Курс равен нулю            | Источник не вернул курс, формула пустая, ручной курс не задан      | Проверить источник, формулу, направление |
| Курс сильно отличается     | Добавка, комиссия, обратная пара, неверный XML/код                 | Сверить пару и итоговые комиссии         |
| BestChange не даёт курс    | Слишком строгие фильтры, город, черный список/whitelist, нет рынка | Ослабить фильтры и проверить рейтинг     |
| Формула не считается       | Неверный тег или нет данных источника                              | Проверить каталог тегов и preview        |
| Файловый курс не обновился | Файл недоступен или CRON выключен                                  | Проверить preview, ссылку, CRON          |
| Резерв не меняется         | Включён фиксированный резерв                                       | Отключить fixed или обновить вручную     |
| Резерв на сайте другой     | Максимальный показ, кеш или резерв направления                     | Проверить настройки отображения и кеш    |


---

# 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:

```
GET https://docs.iexexchanger.com/help-center/ai-base/kursy/rates-reserves-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
