BoxExchanger
Ask or search…
K

Страховка курса

Инструкция по настройке страховки курса

Применение страховки курса

Страховочный курс, при корректной настройке, может быть полезен: - при временной приостановки сервиса, который передает курсы в парсер. К примеру, в случае, если биржа или любой другой сервис уходит на технические работы и курсы могут не обновляться. - при использовании парсера конкуренции. К примеру, для того чтобы указать какой максимальный курс вы готовы отдать клиенту и какое действие будет произведено с направлением, если итоговый курс будет больше чем ваш максимально указанный курс, который вы готовы отдать клиенту (то есть сработает страховка курса)

Алгоритм работы функционала

Определение переменных
inAmount - Сумма обмена отдаем
outAmount - Сумма обмена получаем
outFeeAmount - значение "Сумма комиссии"
FeePercent - значение "Процент комиссии"
discount - значение "DISCOUNT FOR AMOUNT" в настройках направления - шаг "Комиссии"
discountRate - значение "DISCOUNT FOR AMOUNT" разделить на 100, то есть в %
feeRate - значение "Процент комиссии" разделить на 100, то есть в %.
in:out (курс из основного парсера либо курс указанный вручную в настройка направления)
rate - курс обмена с учетом процента комиссии, но без учета суммы комиссий
RateFrom:RateTo ( курс, указанный в страховке. К примеру, 1:39 (он может быть ручным либо из парсера)
defaultPercent - тоже самое, что и значение "Процент комиссиии" только для страховочного курса. Задействуется только когда срабатывает страховка курса.
maxLimitPercent - %, определяющий верхний лимит актуального курса по отношению к курсу, который указан в страховке курса.

Формула расчета курса обмена

feeRate = FeePercent / 100
in = in + (in * feeRate)
discountRate = discount / 100
in = in - (in * discountRate)
rate (курс обмена с учетом процента комиссии) = out / in

Формула расчета страховочного курса

Текущий курс страховки = RateTo / RateFrom - defaultPercent
Курс страхования = Текущий курс страховки + maxLimitPercent.

Варианты работы страховки курса

Если Курс обмена с учетом процента комиссии Курса страхования -> срабатывает страховка курса и в зависимости от действия (action):
а) Для “Установить значение по умолчанию” будет использоваться значение “Текущий курс страховки” в качестве актуального курса
б) Для “Максимальный курс” будет использоваться значение “Курс страхования” в качестве актуального курса
в) Для “Отключить направление” будет отключаться направление.
То есть страховка курса срабатывает когда окончательный курс обмена (курс из парсера основного - (минус) процент комиссии) становится чем курс страхования (текущий курс страховки минус процент комиссии (defaultPercent)) на значение maxLimitPercent %. По сути, в поле "Max limit difference percent" мы указываем насколько мы допускаем отклонение rate от курса страхования.
При срабатывании страховочного курса в админ панеле, направление окрашивается в красный цвет и отображается страховочный курс.
Пример 1 - Страховка не срабатывает
  • Для направления указан курс обмена "Автоматически": из парсера whitebit (BTC-USDT, USDT-USD), курс из парсера (in:out) 1:34256.00.
  • Процент комиссии (FeePercent): 7
  • Значение "DISCOUNT FOR AMOUNT (discount): 0
  • В страховке курса указан тип "Автоматически": парсер kraken (BTC-USD), курс из страховочного парсера (RateFrom:RateTo) 1:34090.
  • Значение "Default percent" (defaultPercent): 7
  • Значение "Max limit difference percent" (maxLimitPercent): 1.1
  • Action выбран "Установить значение по умолчанию"
feeRate = FeePercent / 100 = 7/100 = 0.07 in = in + (in * feeRate) = 1 + (10.07)=1.07 discountRate = discount / 100 = 0 in = in - (in * discountRate) = 1.07 - (1.070) = 1.07 RATE (окончательный курс обмена)= out / in = 34256.00/1.07= 32014.9533
ЕСЛИ RATE ≥ Курс страхования -> срабатывает страховка курса Текущий курс страховки = RateTo/RateFrom-defaultPercent = 34090 / 1 - 7% = 31703.7 Курс страхования = Текущий курс страховки + maxLimitPercent = 31703.7 + 1.1% = 1 : 32052.4407
Rate (32014.9533) < Курса страхования (32052.4407) -> страховка курса не срабатывает и клиент будет видеть курс с учетом процента комиссии, а именно 32014.9533
Пример 2 - Страховка срабатывает / Action: Установить значение по умолчанию
  • Для направления указан курс обмена "Автоматически": из парсера whitebit (BTC-USDT, USDT-USD), курс из парсера (in:out) 1:36256.00.
  • Процент комиссии (FeePercent): 7
  • Значение "DISCOUNT FOR AMOUNT (discount): 0
  • В страховке курса указан тип "Автоматически": парсер kraken (BTC-USD), курс из страховочного парсера (RateFrom:RateTo) 1:34090.
  • Значение "Default percent" (defaultPercent): 7
  • Значение "Max limit difference percent" (maxLimitPercent): 1.1
  • Action выбран "Установить значение по умолчанию"
feeRate = FeePercent / 100 = 7/100 = 0.07 in = in + (in * feeRate) = 1 + (10.07)=1.07 discountRate = discount / 100 = 0 in = in - (in * discountRate) = 1.07 - (1.070) = 1.07 RATE (окончательный курс обмена)= out / in = 36256.00/1.07= 33884.1121
ЕСЛИ RATE ≥ Курс страхования -> срабатывает страховка курса Текущий курс страховки = RateTo/RateFrom-defaultPercent = 34090 / 1 - 7% = 31703.7 // этот курс будет установлен если выбрано "Установить курс по умолчанию". То есть курс будет 1:31703.7 Курс страхования = Текущий курс страховки + maxLimitPercent = 31703.7 + 1.1% = 1 : 32052.4407
Rate (33884.1121) > Курса страхования (32052.4407) -> страховка курса срабатывает и клиент будет видеть текущий курс страховки, а именно 31703.7
Пример 3 - Страховка срабатывает / Action: Максимальный курс
  • Для направления указан курс обмена "Автоматически": из парсера whitebit (BTC-USDT, USDT-USD), курс из парсера (in:out) 1:34256.00.
  • Процент комиссии (FeePercent): 7
  • Значение "DISCOUNT FOR AMOUNT (discount): 0
  • В страховке курса указан тип "Автоматически": парсер kraken (BTC-USD), курс из страховочного парсера (RateFrom:RateTo) 1:34090.
  • Значение "Default percent" (defaultPercent): 7
  • Значение "Max limit difference percent" (maxLimitPercent): 0.35
  • Action выбран "Максимальный курс"
feeRate = FeePercent / 100 = 7/100 = 0.07 in = in + (in * feeRate) = 1 + (10.07)=1.07 discountRate = discount / 100 = 0 in = in - (in * discountRate) = 1.07 - (1.070) = 1.07 RATE (окончательный курс обмена)= out / in = 34256.00/1.07= 32014.9533
ЕСЛИ RATE ≥ Курс страхования -> срабатывает страховка курса Текущий курс страховки = RateTo/RateFrom-defaultPercent = 34090 / 1 - 7% = 31703.7 Курс страхования = Текущий курс страховки + maxLimitPercent = 31703.7 + 0.35% = 1 : 31814.6629 Rate (32014.9533) > Курса страхования (31814.6629) -> страховка курса срабатывает и клиент будет видеть Курс страхования, а именно 31814.6629
Пример 4 - Страховка срабатывает / Action: Отключить направление
  • Для направления указан курс обмена "Вручную": (in:out) 1:41.37
  • Процент комиссии (FeePercent): 4
  • Значение "DISCOUNT FOR AMOUNT (discount): 0
  • В страховке курса указан тип "Вручную": (RateFrom:RateTo) 1:42.08
  • Значение "Default percent" (defaultPercent): 8
  • Значение "Max limit difference percent" (maxLimitPercent): 1.1
  • Action выбран "Отключить направление"
feeRate - FeePercent / 100 = 4 / 100 = 0.04
in = in + (in * feeRate) = 1 + (1 * 0.04) = 1.04 discountRate = discount / 100 = 0 / 100 = 0 in = in - (in * discountRate) = 1.04 - (1.04*0) = 1.04 RATE = out / in = 41.37 / 1.04 = 39.778
ЕСЛИ RATE ≥ Курс страхования -> срабатывает страховка курса
Текущий курс страховки = manualRateTo/manualRateFrom-defaultPercent = 42.08 / 1 - 8% = 38.7136 Курс страхования = Текущий курс страховки + maxLimitPercent = 38.7136 + 1.1% = 39.139
RATE (39.778) > Курса страхования (39.139) -> сработает страховка курса и направление будет отключено.
Last modified 2mo ago