PERCENT_PRICE Filter failure #
ExchangeInfo format:
1 { 2 "filterType": "PERCENT_PRICE", 3 "multiplierUp": "1.3000", 4 "multiplierDown": "0.7000", 5 "avgPriceMins": 5 6 }
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:
Пример, в логе TSLab
06:45:02.80[13]DEBUG:[Crypto] API: 2022/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.
Убедитесь, что в торговых настройках агента не установлено огромное проскальзывание для условных заявок.
Убедитесь, что цена в лимитной заявке выставляется верной.
Исправьте скрипт, при необходимости.
Когда не понятно, откуда такая цена рассчитывается, поиск проблемы может быть следующим: Выведите все зависимые величины на график, от которых зависит расчет цены для заявки.
Если в скрипте лаборатории всё рассчитывается верно, то сравните скрипт лаборатории и агент в момент выставления заявки.