PERCENT_PRICE Filter failure

ExchangeInfo format:

{
"filterType": "PERCENT_PRICE",
"multiplierUp": "1.3000",
"multiplierDown": "0.7000",
"avgPriceMins": 5
}

The PERCENT_PRICE filter defines valid range for a price based on the average of the previous trades. avgPriceMins is the number of minutes the average price is calculated over. 0 means the last price is used.

In order to pass the percent price, the following must be true for price:

price<=weightedAveragePricemultiplierUpprice <= weightedAveragePrice * multiplierUp
price>=weightedAveragePricemultiplierDownprice >= weightedAveragePrice * multiplierDown

Пример, в логе TSLab

06:45:02.80[13]DEBUG:[Crypto] API: 2020/02/23 06:45:02:808 | Warning | Server returned an error: {"code":-1013,"msg":"Filter failure: PERCENT_PRICE"}

Причина: Слишком маленькая цена, при выставлении заявки или слишком высокая. 06:45:01.78[45]DEBUG:Crypto:Crypto:BTCUSDT:Binance:New order starting for id=123456789 buy=True price=1 quantity=0.048084 cnt=6 sp=

06:45:02.83[46]DEBUG:Агент 'XX':383295470:[Crypto:Crypto]:-1013: Filter failure: PERCENT_PRICE

06:45:02.84[46]INFO :206:Error:TradeScript:(Script:XX)(DSName:Crypto):Агент 'XX'123456789:[Crypto:Crypto]:-1013: Filter failure: PERCENT_PRICE

Агент выставляет заявку по цене price=1 , при текущей порядка 6600.

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

Убедитесь, что цена в лимитной заявке выставляется верной.

Исправьте скрипт, при необходимости.

Когда не понятно, откуда такая цена расчитывается, поиск проблемы может быть следующим: Выведите все зависимые величины на график, от которых зависит расчет цены для заявки.

Если в скрипте лаборатории всё рассчитывается верно, то сравните скрипт лаборатории и агент в момент выставления заявки.

Last updated