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

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

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

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

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

Определение переменных

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 updated