Betfair API-NG, тонкости
#1 OFFLINE
Posted 26 August 2014 - 00:21
сталкиваюсь с некоторыми тонкостями работы с ним.
к примеру. если использовать delayed AppKey то рынок сильно (очень сильно) отстает от реального. а также количество ставок по рынку = 5 иногда чуть больше. то есть мы не видим ladder. что торгуется также не приходит.
но стоит сменить AppKey на рабочий как все сразу меняется.
вообщем несколько часов убил на это.
и теперь вопрос к тем кто также что-то писал под этот апи.
делаю запрос listMarketBook "marketIds" : [123], priceProjection" : {"priceData" : ["EX_ALL_OFFERS", "EX_TRADED"], "exBestOffersOverrides":{"bestPricesDepth":30},"locale" : "RU" }- в результате приходит пустота на некоторых рынках
причем по одному событию (футбол) только 2 или 3 рынка приходят пустыми. остальные пашут корректно.
если делаю тот же запрос тут https://developer.be...rts-operations/
то все отлично. данные вижу.
в чем причина? кто-нибудь сталкивался?
#2 OFFLINE
Posted 16 September 2014 - 22:11
не очень внимательно читал документацию. marketId - это строка. и все ид рынков обязательно заключать в кавычки. после этого рынки стали приходить нормально
аналогично с другими параметрами. если в доке написано string - значит всегда в кавычки
по большей части бот готов. API освоил.
уже есть первые результаты от выставления ставок. режим работы бота круглосуточно.
#3 OFFLINE
Posted 17 September 2014 - 07:10
#4 OFFLINE
Posted 17 September 2014 - 11:01
#5 OFFLINE
Posted 17 September 2014 - 15:43
#6 OFFLINE
Posted 17 September 2014 - 17:05
#7 OFFLINE
Posted 17 September 2014 - 17:36
#8 OFFLINE
Posted 17 September 2014 - 18:59
использую ряд библиотек для облегчения жизни. для HTTP - это ICS
для json - superobject
gzip, bass и прочее...
в итоге получился довольно быстрый бот который не сильно грузит проц, не жрет память и не валится с ошибками.
была цель написать именно быстрого бота, который сможет стоять на сотнях рынков одновременно и успевать реагировать.
в выходные тестировал 120 рынков онлайн на 1 клиенте. полет нормальный.
#9 OFFLINE
Posted 17 September 2014 - 19:14
но это ключевая фишка именно NG и почему я решил писать именно под этот АПИ.
в одном запросе listMarketBook тобишь запрос рынков. можно запросить сразу кучу рынков с кучи разных событий. и все придет в одном запросе. соответственно сильно увеличивается количество рынков которые можем мониторить до получения сообщения TOO_MANY_REQUESTS.
но есть один ньюанс. у каждого параметра в listMarketBook есть свой "вес" и вес в одном запросе не должен превышать 200 единиц...
#10 OFFLINE
Posted 18 September 2014 - 08:30
arksu, не сочти за грубость, но предположу, что как истинный кодер с кучей языков, ты сразу ринулся в бой. Однако суровая реальность заставила полистать мануалы. Иначе не понимаю смысла пихать дабл вместо стринга... Но раз освоил NG, было бы интересно узнать действительно о тонкостях, чего нет в доке, что придумал сам.
Да хотя бы кто что предпочитает, RPC или REST и почему? Я спрашивал об этом на оффоруме, у обоих есть свои поклонники, но внятного объяснения своего выбора так и не услышал. А между тем, если покопать суть, то протоколы то разные, начиная с разницы в весе (небольшой конечно, но разницы).
pozitrone23, on 17 September 2014 - 17:05, сказал:
#11 OFFLINE
Posted 19 September 2014 - 08:00
сам я ничего особого не придумал. обычный пул запросов.... gzip сжатие.
что реально я понял сам так это ограничение на количество запросов когда валится TOO_MANY_REQUESTS не зависит от сессии. двумя клиентами с разных токенов слал запросы. обоим шел отлуп. хотя они не достигали предела по одиночке.
возможно удастся обойти это используя прокси чтобы бф видел запросы с разных ip, это пока не тестил.
#12 OFFLINE
Posted 19 September 2014 - 08:08
#13 OFFLINE
Posted 19 September 2014 - 08:25
arksu, on 19 September 2014 - 08:00, сказал:
возможно удастся обойти это используя прокси чтобы бф видел запросы с разных ip, это пока не тестил.
clerk, on 19 September 2014 - 08:08, сказал:
#14 OFFLINE
Posted 19 September 2014 - 10:16
Или я не понял вас, denvb?
#15 OFFLINE
Posted 19 September 2014 - 10:47
clerk, on 19 September 2014 - 10:16, сказал:
Или я не понял вас, denvb?
Такая мысль - а можно на одном аккаунте создать несколько ключей? Если да, то как будут лимитироваться запросы? Это можно проверить, да только вряд ли бетфаер позволит так по-детски себя обманывать
#16 OFFLINE
Posted 19 September 2014 - 13:43
denvb, on 19 September 2014 - 10:47, сказал:
Такая мысль - а можно на одном аккаунте создать несколько ключей? Если да, то как будут лимитироваться запросы? Это можно проверить, да только вряд ли бетфаер позволит так по-детски себя обманывать
Ключ, думается, для того и ввели, чтобы упростить контроль.
По поводу ключей - попробуйте в визуализаторе сформировать запрос на новый ключ под своим акком. Мне кажется, что ключ вам дадут, но будет ли действителен старый? Впрочем, можно спросить и на форуме у разработчиков апи.
#17 OFFLINE
Posted 19 September 2014 - 17:05
сегодня протестирую можно ли работать под одним акком с разными ключами
#18 OFFLINE
Posted 28 September 2014 - 09:22
Edited by bardmauzer, 28 September 2014 - 09:23.
#19 OFFLINE
Posted 28 September 2014 - 18:20
arksu, on 17 September 2014 - 11:01, сказал:
по какой стратегии ставки делает?
вилки ловит в лайве?
з.ы. тоже планирую писать бота, а пока что изучаю рынок
Edited by d_electric, 28 September 2014 - 18:21.
#20 OFFLINE
Posted 29 September 2014 - 17:45
разглашать не вижу смысла) иначе они перестанут работать
вилки не ловит. не вижу смысла. редкость и выхлоп мизерный.
использование API-NG - бесплатно.