Теги и формулы для расчёта курсов BestChange

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

Используя возможности этих тегов, вы сможете:

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

  • Настраивать гибкие условия для выбора обменника в зависимости от рейтингов, резервов и доверия.

  • Применять коррекции курсов на основе внешних источников (например, Binance и других платформ).

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

  • Рассчитывать сложные аналитические показатели: медианный, средневзвешенный курс, спреды и разницу между курсами.

Список всех доступных тегов:

Тег
Описание (что делает тег)

[pos:N]

Курс указанной позиции из BestChange

[exchanger:N.field]

Данные обменника по позиции (например, резерв, возраст, отзывы)

[skip_exchanger:positions|names]

Пропуск обменников по номерам позиций или названиям

[correct:X,Y,Z%]

Ограничение курса X внешним курсом Y плюс указанный процент Z%

[exchanger_rating:N]

Рейтинг обменника на позиции N

[min:X,Y]

Минимальный курс из указанных источников

[max:X,Y]

Максимальный курс из указанных источников

[cross_rate:X,Y]

Кросс-курс валют или источников (X/Y)

[external_fee:X,Y%]

Внешний курс X минус указанная комиссия Y%

[exchanger_trust:N]

Уровень доверия обменника на позиции N

[liquidity:N]

Показатель ликвидности обменника позиции N

[time:hour|minute|weekday]

Получение текущего часа, минуты или дня недели

[reserve_filter:positions|min_reserve:X]

Выбор позиций с резервом не меньше X

[weighted_avg:positions]

Средневзвешенный курс по резервам указанных позиций

[fallback:X,Y]

Запасной курс (Y), если основной (X) недоступен

[ranked_rate:positions]

Ранжированный курс (с учётом рейтингов) по указанным позициям

[round:X,Y]

Округление числа X до Y знаков после запятой

[spread_external:X,Y]

Спред между курсом X и внешним курсом Y

[rate:N]

Основной курс позиции N

[rankrate:N]

Ранговый курс позиции N

[reserve:N]

Резерв по позиции N

[reserve_min:positions]

Минимальный резерв из указанных позиций

[reserve_max:positions]

Максимальный резерв из указанных позиций

[avg:positions]

Средний арифметический курс указанных позиций

[diff:X,Y]

Разница между курсами X и Y

[spread:X,Y]

Спред между позициями X и Y

[median:positions]

Медианный курс указанных позиций

[minrate:positions]

Минимальный курс среди указанных позиций

[maxrate:positions]

Максимальный курс среди указанных позиций

[inmin:N]

Минимальный лимит обмена для позиции N

[inmax:N]

Максимальный лимит обмена для позиции N

[if] условие значение-да [else] значение-нет [/if]

Условное вычисление курса по указанному условию с возможностью использования [elseif] и [else]

Подробное описание тегов условий и переменных

Тег [pos:N] — Курс позиции из BestChange

Тег позволяет получить курс конкретной позиции из текущего списка BestChange.

Синтаксис:

[pos:N]

Простой пример:

[pos:1]

Курс первой позиции BestChange.

Расширенный пример:

[pos:2,+1%]

Курс второй позиции, увеличенный на 1%.

Сложный пример:

[weighted_avg:[pos:1],[pos:2],[pos:3]]

Средневзвешенный курс первых трёх позиций.

Дополнительные примеры

Пример 1: Сравнение разницы между конкурентами (позициями)

Если разница между курсом позиции №2 и позиции №3 составляет 0,5% или меньше, то используется курс позиции №3, иначе курс позиции №2.

[if] ([pos:2]-[pos:3])/[pos:2]<=0.005 [pos:3] [else] [pos:2] [/if]
  • Берётся курс позиции №2 и сравнивается с курсом позиции №3.

  • Если разница между ними ≤ 0,5%, то выбирается позиция №3 (более выгодный курс).

  • Если разница больше 0,5%, остаётся позиция №2.

Пример 2: Условный выбор лучшей позиции среди первых трёх

Используем позицию №1, если она лучше позиции №2 не менее чем на 0,5%. Если нет — проверяем разницу между позицией №2 и №3, и аналогично выбираем.

[if] ([pos:1]-[pos:2])/[pos:1]>=0.005 [pos:1] 
[elseif] ([pos:2]-[pos:3])/[pos:2]>=0.005 [pos:2] 
[else] [pos:3] [/if]
  • Сначала проверяется разница между позициями №1 и №2.

  • Если позиция №1 выгоднее позиции №2 более чем на 0,5%, выбираем №1.

  • Если разница меньше, проверяем позиции №2 и №3 по аналогии.

  • Если обе разницы менее 0,5%, выбирается позиция №3.

Пример 3: Сравнение с внешним источником

Используем курс позиции №1, если он ниже внешнего источника Binance (с учётом комиссии 0.1%). Если выше, то используем внешний источник.

[if] [pos:1]<=[external_fee:[binance-usdt_btc],0.1%] [pos:1] 
[else] [external_fee:[binance-usdt_btc],0.1%] [/if]
  • Сравниваем курс первой позиции с внешним курсом Binance, за вычетом 0.1% комиссии.

  • Используем более выгодный из них.

Используйте этот тег, чтобы указать конкретную позицию, на основе которой нужно установить курс. Можно использовать проценты и любые дополнительные расчёты.


Тег [exchanger:N.field] — Данные обменника по позиции

Позволяет получить любые данные обменника (резерв, возраст, отзывы и др.) из позиции N в списке BestChange.

Синтаксис:

[exchanger:позиция.поле]

Простой пример:

[exchanger:1.reserve]

Резерв обменника первой позиции.

Расширенный пример:

[if][exchanger:1.reserve]>10000 [pos:1] [else] [pos:2] [/if]

Если резерв первой позиции больше 10000, используется её курс, иначе второй позиции.

Сложный пример:

[set]min_reserve=5000[/set]
[if][exchanger:1.reserve]>[min_reserve] [pos:1] 
[elseif][exchanger:2.reserve]>[min_reserve] [pos:2] 
[else][pos:3][/if]

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

Используйте этот тег для фильтрации обменников по любым критериям: резерв, отзывы, возраст и т.д.

Тег [skip_exchanger:positions|names] — Пропуск обменников

Позволяет исключать из расчётов обменники по номеру позиции или названию.

Синтаксис:

[skip_exchanger:позиции|названия]

Простой пример:

[skip_exchanger:1,2|50Cents]

Исключить обменники на позициях 1,2 и с названием “50Cents”.

Расширенный пример:

[skip_exchanger:1,2,3|SuperChange,50Cents,FastChange]

Исключить несколько позиций и обменников сразу.

Сложный пример:

[weighted_avg:[skip_exchanger:1,2|SuperChange,50Cents],[pos:3],[pos:4]]

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

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


Тег [correct:X,Y,Z%] — Ограничение курса

Ограничивает курс X курсом внешнего источника Y плюс указанный процент Z%.

Синтаксис:

[correct:курс,внешний_источник,процент]

Простой пример:

[correct:[pos:1],[binance-usdt_btc],0.5%]

Курс позиции 1 ограничен курсом Binance плюс 0.5%.

Расширенный пример:

[correct:[weighted_avg:1,2,3],[rapira_btc-usdt_ask],0.1%]

Средневзвешенный курс ограничен курсом внешнего источника Rapira.

Сложный пример:

[set]max_limit=[correct:[pos:1],[binance-usdt_btc],0.5%][/set]
[if][pos:2]<[max_limit] [pos:2] [else] [max_limit] [/if]

Максимальный предел курса на основе внешнего источника.


Тег [exchanger_rating:N] — Рейтинг обменника на позиции

Получение рейтинга обменника на конкретной позиции.

Синтаксис:

[exchanger_rating:N]

Простой пример:

[exchanger_rating:1]

Рейтинг обменника первой позиции.

Расширенный пример:

[if][exchanger_rating:1]>90 [pos:1] [else] [pos:2] [/if]

Если рейтинг обменника выше 90, берем его курс.

Сложный пример:

[set]min_rating=80[/set]
[if][exchanger_rating:1]>[min_rating] [pos:1] 
[elseif][exchanger_rating:2]>[min_rating] [pos:2] 
[else][pos:3][/if]

Последовательная проверка рейтингов обменников.

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


Теги [min:X,Y] и [max:X,Y] — Минимальный или максимальный курс

Выбор минимального или максимального значения курса из указанных источников.

Синтаксис:

[min:курс1,курс2]
[max:курс1,курс2]

Простой пример:

[min:[pos:1],[pos:2]]

Минимальный курс из двух позиций.

[max:[pos:1],[binance-usdt_btc]]

Максимальный курс между позицией и Binance.

Расширенный пример:

[min:[weighted_avg:1,2],[external_fee:[binance-usdt_btc],0.1%]]

Минимальный средневзвешенный курс позиций и внешнего источника с комиссией.

Сложный пример:

[set]best_rate=[max:[pos:1],[pos:2],[pos:3]][/set]
[correct:[best_rate],[binance-usdt_btc],0.5%]

Максимальный курс из нескольких позиций с последующей коррекцией.

Используйте эти теги для автоматического определения оптимального курса обмена.


Тег [cross_rate:X,Y] — Кросс-курс валют или источников

Вычисляет кросс-курс между двумя указанными валютами или источниками (отношение X к Y).

Синтаксис:

[cross_rate:валюта_X,валюта_Y]

Простой пример:

[cross_rate:[pos:1],[pos:2]]

Отношение курса позиции 1 к позиции 2.

Расширенный пример:

[cross_rate:[weighted_avg:1,2,3],[binance-usdt_btc]]

Отношение средневзвешенного курса BestChange к внешнему курсу Binance.


Тег [external_fee:X,Y%] — Внешний курс с комиссией

Получает внешний курс с вычетом указанной комиссии.

Синтаксис:

[external_fee:источник,комиссия%]

Простой пример:

[external_fee:[binance-usdt_btc],0.1%]

Курс Binance с вычетом 0.1% комиссии.

Расширенный пример:

[external_fee:[pos:1],0.5%]

Курс первой позиции с вычетом 0.5% комиссии.

Используйте, чтобы автоматически вычитать комиссию из внешних источников или собственных курсов.


Тег [exchanger_trust:N] — Уровень доверия обменника

Получает уровень доверия обменника на указанной позиции.

Синтаксис:

[exchanger_trust:N]

Простой пример:

[exchanger_trust:1]

Уровень доверия обменника на позиции 1.

Расширенный пример:

[if][exchanger_trust:1]>90 [pos:1] [else] [pos:2][/if]

Использовать курс позиции 1, если её доверие выше 90.


Тег [reserve_filter:positions|min_reserve:X] — Фильтрация по резервам

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

Синтаксис:

[reserve_filter:позиции|min_reserve:X]

Простой пример:

[reserve_filter:1,2,3|min_reserve:10000]

Первая позиция с резервом от 10000 и выше.

Расширенный пример:

[reserve_filter:1,2,3,4|min_reserve:5000]

Выбор позиций с достаточным резервом из нескольких вариантов.

Используйте этот тег, чтобы автоматически выбирать обменники с нужным минимальным резервом.


Тег [weighted_avg:positions] — Средневзвешенный курс

Расчёт средневзвешенного курса позиций с учётом их резервов.

Синтаксис:

[weighted_avg:позиции]

Простой пример:

[weighted_avg:1,2,3]

Средневзвешенный курс первых трёх позиций.

Расширенный пример:

[weighted_avg:[skip_exchanger:1,2|50Cents],3,4]

Средневзвешенный курс после исключения обменников.

Сложный пример:

[correct:[weighted_avg:1,2,3],[binance-usdt_btc],0.5%]

Средневзвешенный курс с ограничением внешним курсом.

Используйте для наиболее точного определения курса с учётом резервов обменников.


Тег [fallback:X,Y] — Запасной курс

Использует запасной курс (Y), если основной курс (X) недоступен.

Синтаксис:

[fallback:основной_курс,запасной_курс]

Простой пример:

[fallback:[pos:1],[binance-usdt_btc]]

Использовать Binance, если позиция 1 недоступна.

Расширенный пример:

[fallback:[weighted_avg:1,2],[external_fee:[binance-usdt_btc],0.1%]]

Запасной курс с комиссией.

Используйте этот тег для обеспечения непрерывности работы расчёта курсов при недоступности основного источника.


Тег [ranked_rate:positions] — Ранжированный курс позиций

Получает курс лучшей позиции из указанных, с учетом их рейтинга и надежности.

Синтаксис:

[ranked_rate:позиции]

Простой пример:

[ranked_rate:1,2,3]

Лучший курс из первых трёх позиций.

Расширенный пример:

[ranked_rate:[skip_exchanger:1|SuperChange],2,3]

Лучший курс из указанных позиций после исключения обменника.


Тег [round:X,Y] — Округление чисел

Округляет число до указанного количества знаков после запятой.

Синтаксис:

[round:число,знаков]

Простой пример:

[round:[pos:1],2]

Курс позиции 1, округлённый до 2 знаков.

Расширенный пример:

[round:[weighted_avg:1,2,3],4]

Средневзвешенный курс, округлённый до 4 знаков.


Тег [spread_external:X,Y] — Спред с внешним источником

Получает спред (разницу) между указанным курсом и внешним источником.

Синтаксис:

[spread_external:курс,внешний_курс]

Простой пример:

[spread_external:[pos:1],[binance-usdt_btc]]

Спред между позицией 1 и Binance.

Расширенный пример:

[spread_external:[weighted_avg:1,2,3],[external_fee:[binance-usdt_btc],0.1%]]

Спред между средневзвешенным курсом и внешним курсом Binance с комиссией.


Теги [rate:N] и [rankrate:N] — Основной и ранговый курс позиции

Позволяют получить курс позиции (обычный или ранговый) из BestChange.

Синтаксис:

[rate:N]
[rankrate:N]

Простой пример:

[rate:1]
[rankrate:1]

Обычный и ранговый курс первой позиции.

Расширенный пример:

[if][rankrate:1]>[rate:1] [rankrate:1] [else] [rate:1][/if]

Использовать лучший курс из двух.

Сложный пример:

[weighted_avg:[rate:1],[rankrate:2],[rate:3]]

Средневзвешенный курс разных типов.


Тег [reserve:N] — Резерв позиции

Получает текущий резерв валюты обменника по указанной позиции.

Синтаксис:

[reserve:N]

Простой пример:

[reserve:1]

Резерв первой позиции.

Расширенный пример:

[if][reserve:1]>50000 [pos:1] [else] [pos:2][/if]

Выбор позиции с резервом больше 50000.


Теги [reserve_min:positions] и [reserve_max:positions] — Мин./макс. резерв позиций

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

Синтаксис:

[reserve_min:позиции]
[reserve_max:позиции]

Простой пример:

[reserve_min:1,2,3]
[reserve_max:1,2,3]

Мин. и макс. резервы первых трёх позиций.

Расширенный пример:

[if][reserve_max:1,2,3]>100000 [weighted_avg:1,2,3] [else] [pos:4][/if]

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


Теги [diff:X,Y] и [spread:X,Y] — Разница и спред между курсами

Получают разницу (X–Y) и спред (абсолютная разница) между курсами.

Синтаксис:

[diff:курс1,курс2]
[spread:курс1,курс2]

Простой пример:

[diff:[pos:1],[pos:2]]
[spread:[pos:1],[pos:2]]

Разница и спред между первой и второй позицией.

Расширенный пример:

[spread:[weighted_avg:1,2],[binance-usdt_btc]]

Спред между средневзвешенным и внешним курсом.


Тег [median:positions] — Медианный курс позиций

Определяет медианный (срединный) курс среди указанных позиций.

Синтаксис:

[median:позиции]

Простой пример:

[median:1,2,3]

Средний курс из трёх указанных позиций.

Расширенный пример:

[median:[pos:1,+0.5%],[pos:2],[pos:3,-0.3%]]

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

Сложный пример:

[correct:[median:1,2,3],[binance-usdt_btc],0.3%]

Медианный курс позиций с ограничением относительно внешнего источника.

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


Тег [minrate:positions] — Минимальный курс из указанных позиций

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

Синтаксис:

[minrate:позиции]

Простой пример:

[minrate:1,2,3]

Минимальный курс среди первых трёх позиций.

Расширенный пример:

[minrate:[pos:1,+1%],[pos:2,-0.5%],[pos:3]]

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

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


Тег [maxrate:positions] — Максимальный курс из указанных позиций

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

Синтаксис:

[maxrate:позиции]

Простой пример:

[maxrate:1,2,3]

Максимальный курс среди первых трёх позиций.

Расширенный пример:

[maxrate:[pos:1,-1%],[pos:2,+0.5%],[pos:3]]

Максимальный курс после модификации.

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


Тег [inmin:N] — Минимальный лимит обмена позиции

Показывает минимальную сумму обмена для позиции N.

Синтаксис:

[inmin:N]

Простой пример:

[inmin:1]

Минимальный лимит позиции 1.

Расширенный пример:

[if][inmin:1]<=1000 [pos:1] [else] [pos:2][/if]

Выбор позиции, исходя из лимита обмена.


Тег [inmax:N] — Максимальный лимит обмена позиции

Показывает максимальную сумму обмена для позиции N.

Синтаксис:

[inmax:N]

Простой пример:

[inmax:1]

Максимальный лимит позиции 1.

Расширенный пример:

[if][inmax:1]>=5000 [pos:1] [else] [pos:2][/if]

Использовать позицию с достаточным максимальным лимитом.

Используйте этот тег для выбора обменников, способных удовлетворить крупные обменные операции.


Тег [if] — Условные вычисления

Выполняет расчёт в зависимости от условий. Поддерживает [else] и [elseif].

Синтаксис:

[if] условие значение-да [else] значение-нет [/if]

[if] условие1 значение-да1 [elseif] условие2 значение-да2 [else] значение-нет [/if]

Простой пример:

[if] [pos:1]>[pos:2] [pos:1] [else] [pos:2] [/if]

Выбирает лучший курс из двух позиций.

Расширенный пример:

[if][time:hour]>=22 [pos:1,+0.5%] [else] [pos:1][/if]

Используйте тег [if] для создания динамичных формул, которые будут изменять курс на основе текущих рыночных условий или внутренних требований вашей платформы.

Last updated

Was this helpful?