Перепрыгнеть в содержание


* * * * * 3 голосов

Обсуждение туториалов под Betfair API


94 ответов в эту тему

#61 OFFLINE   x.x.x

    Пунтер


  • Участник
  • ПипПип
  • 37 сообщения
1

Добавлено 28 January 2012 - 17:52

только начинаю.

когда запускаю исходник появляется эта картинка.которую вы сказали это свойства проекта

#62 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 28 January 2012 - 18:26

Сообщенияx.x.x, on 28 January 2012 - 17:52, сказал:

только начинаю.

Здесь очень много видеороликов для начинающих - msdn.microsoft.com/ru-ru/vstudio/ff459609
Так же кучу роликов можно найти на youtube... Для вас это будет более наглядно, чем буду описывать я... И здесь форум о ставках, а не о программировании. Быстрее пробовать научится самому по книжкам и урокам, нежели ждать ответа на тривиальные вопросы...

И уж извините, но бот для работы с удаленным сервисом, это не то с чего следует начинать..

#63 OFFLINE   x.x.x

    Пунтер


  • Участник
  • ПипПип
  • 37 сообщения
1

Добавлено 28 January 2012 - 18:31

Большое спасибо Вам.

#64 OFFLINE   vlad56

    Специалист


  • Участник II
  • ПипПипПип
  • 460 сообщения
27
  • МестоположениеДнепропетровск

Добавлено 30 January 2012 - 07:07

СообщенияJericho, on 28 January 2012 - 21:16, сказал:

Шаг №5. Часть№3. Получаем всю информацию о рынке(коэф-ты, суммы, графики и.т.д.)


4. .lastPriceMatched - последний сматченный коэф. выбранного нами .runnerPrices():
привязанность 040.png

Красным прямоугольником помечен последний сматченный коэф
Зеленым - сумма. Сумма вычисляется путем запоминания .totalAmountMatched в переменную. А после того, как она изменилась - вычитается из сохраненной. Результат и будет последняя сматченная сумма.


При использовании бесплатных API функций с запросом 1 раз в 1 сек сумма может быть не вся проставленная по этому кф, т.к. в течении сек может быть сделано более чем 1 ставка и не всегда по этому кф. Особенно наглядно это будет заметно на скачках перед забегом за 15 мин и во время забега. Для получения более точных результатов необходимо использовать платное API, которые позволяют делать запросы значительно чаще. А также использовать API функцию getcompletemarketpricescompressed и уже вычислять прирост по нужному нам кф.
А вот как красиво использовать эту фукцию getcompletemarketpricescompressed для вычисления прироста по нужному нам кф? Кто нибудь может че подсказать по этому вопросу?

#65 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 30 January 2012 - 13:39

Да, действительно,
getCompleteMarketPricesCompressed возвращает подобные данные о рынке как и getMarketPrices. Возвращает полный массив коэф-ов для всех событий и рынков... Может быть вызван раз в секунду для Free API. Полученные этой функцией данные необходимо "парсить".

Вот здесь - bdp.betfair.com/index.php?option=com_content&task=view&id=36&Itemid=64 сравнительная таблица возможностей платного и бесплатного API..
По описанию, например - 60 p/m - означает 60 раз в минуту... т.е. 1 вызов в секунду.


Из таблицы видно, что мы можем использовать:
  • getCompleteMarketPricesCompressed - 60 раз в минуту
  • getMarketPrices - 10 раз в минуту
Рассмотрю в туториалах эту функцию...

#66 OFFLINE   vlad56

    Специалист


  • Участник II
  • ПипПипПип
  • 460 сообщения
27
  • МестоположениеДнепропетровск

Добавлено 30 January 2012 - 14:12

СообщенияJericho, on 30 January 2012 - 13:39, сказал:

Да, действительно,
getCompleteMarketPricesCompressed возвращает подобные данные о рынке как и getMarketPrices. Возвращает полный массив коэф-ов для всех событий и рынков... Может быть вызван раз в секунду для Free API. Полученные этой функцией данные необходимо "парсить".
При простановки ставки берем просматченую сумму из getCompleteMarketPricesCompressed по данному кф, складываем с суммой которая еще не сматчена по даному кф и запоминаем в переменную. После того как по этому кф заключаются сделки сверяем с переменной, и можно даже вести график очереди нашей ставки. Это очень удобно при игре до in play. А также по обьему денег, заключенных сделок, можно делать очень часто достаточно точный прогноз, куда двинется кф. А это немало для удачной игры.

#67 OFFLINE   Forytty

    Новичок


  • Участник
  • Пип
  • 3 сообщения
0

Добавлено 12 March 2012 - 07:39

Jericho, добрый день! Будет ли продолжена тема с туториалом? Есть ли возможноть с вами связаться, а написал вам на гмейл, но ответа не получил.

#68 OFFLINE   kuz

    Специалист


  • Участник II
  • ПипПипПип
  • 298 сообщения
9

Добавлено 28 March 2012 - 23:07

Привет Джерико. У меня есть несколько задумок которые хотелось бы автоматизировать. Есть ли у тебя возможность и время чтобы взяться за проект? Естественно не за простое спасибо:-)

#69 Гость_bKscan_*


  • Не Местный

Добавлено 29 March 2012 - 12:38

Уехал на багамы наверное, греет попу
:)

#70 OFFLINE   vigame

    Новичок


  • Участник
  • Пип
  • 16 сообщения
0

Добавлено 05 April 2012 - 10:50

Предлагаю сразу засунуть сюда перерисовку рынков :) :

Private Sub ComboBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedValueChanged
selSport = ComboBox1.SelectedItem
GetEventsEx()
End Sub
Private Sub ComboBox2_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedValueChanged
selTime = ComboBox2.SelectedItem
GetEventsEx()
End Sub
Private Sub ComboBox3_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedValueChanged
selType = ComboBox3.SelectedItem
GetEventsEx()
End Sub

#71 OFFLINE   Dr. Robert

    Новичок


  • Участник
  • Пип
  • 10 сообщения
0

Добавлено 15 April 2012 - 13:20

В справочнике функций Betfair API нет описания метода BFGlobalServiceClient, что не мешает активно использовать его уважаемому Jericho. Конкретное применение напрмер здесь:
Public BetfairGL As New BFGlobal.BFGlobalServiceClient
....
....
....
With oLoginReq
   .username = "логин"
   .password = "пароль"
   .productId = 82
End With
oLoginRes = BetfairGL.login(oLoginReq)
В принципе суть метода ясна - присвоение значений свойствам response. Наверное что-то типа Refresh. Но хотелось бы почитать его описание.
Подскажите пожалуйста где.

Отредактировано Dr. Robert, 15 April 2012 - 13:21.


#72 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 15 April 2012 - 15:42

СообщенияDr. Robert, on 15 April 2012 - 13:20, сказал:

В принципе суть метода ясна - присвоение значений свойствам response. Наверное что-то типа Refresh. Но хотелось бы почитать его описание.
Подскажите пожалуйста где.

BFGlobalServiceClient - это большой класс, который содержит в себе функции, такие как Login, Logout, getEvents (все которые относятся к классу Global - есть в описании API на сайте биржи)

В констркуторе класса идет подключение к сервису, передача запросов, и получение ответа...

тут
Public BetfairGL As New BFGlobal.BFGlobalServiceClient

ты создаешь экземпляр BetfairGL класса BFGlobal.BFGlobalServiceClient... Поэтому описания как такого и нет.. а все методы этого класса описаны в документации.

#73 OFFLINE   Dr. Robert

    Новичок


  • Участник
  • Пип
  • 10 сообщения
0

Добавлено 15 April 2012 - 19:16

Цитата

BFGlobalServiceClient - это большой класс, который содержит в себе функции, такие как Login, Logout, getEvents (все которые относятся к классу Global - есть в описании API на сайте биржи)
Открыл онлайн документацию по Betfair API, ввёл в поиск BFGlobalServiceClient. Ответ пустой.
В главе Login только описание свойств LoginReq, LoginResp и перечисления LoginErrorEnum. Про функцию ничего не нашёл. А у вас вот тут функция есть.
oLoginRes = BetfairGL.login(oLoginReq)
А где вы про BFGlobalServiceClient читали? Дайте ссылочку пожалуйста.

#74 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 15 April 2012 - 20:09

СообщенияDr. Robert, on 15 April 2012 - 19:16, сказал:

Открыл онлайн документацию по Betfair API, ввёл в поиск BFGlobalServiceClient. Ответ пустой.
В главе Login только описание свойств LoginReq, LoginResp и перечисления LoginErrorEnum. Про функцию ничего не нашёл. А у вас вот тут функция есть.

Еще раз пишу - BetfairGL экземпляр класса BFGlobal.BFGlobalServiceClient. Т.е. в переменной BetfairGL все функции и методы, которые есть в классе BFGlobalServiceClient.

СообщенияDr. Robert, on 15 April 2012 - 19:16, сказал:

А где вы про BFGlobalServiceClient читали? Дайте ссылочку пожалуйста.

Нигде. Оно и не нужно это описание, поэтому его и нет... Это просто название класса, у которого в конструкторе прописано "работать как клиент". Есть описание функций и методов.

А просмотреть можно так: правой кнопкой на BFGlobalServiceClient -> Go to defenition:
Прикрепленный файл  556.png   9.83K   6 Количество загрузок
откроется класс, и вам станет понятно...

#75 OFFLINE   regal

    Пунтер


  • Участник
  • ПипПип
  • 57 сообщения
2

Добавлено 18 August 2012 - 21:07

Я пытаюсь разобраться в программировании бота и вот застрял на одном месте((. При вызове процедуры GetSoccerEvents() возникает ошибка в строке: With BetFairUK.getAllMarkets(oMarketsReq). В ошибке написано "Ошибка десериализации тела ответного сообщения для операции "getAllMarkets"." Что это означает и как это исправить? Был бы весьма признателен за ответ.

#76 OFFLINE   regal

    Пунтер


  • Участник
  • ПипПип
  • 57 сообщения
2

Добавлено 24 August 2012 - 15:55

И что, никто не знает ответа? В исходнике код процедуры в модуле точь в точь совпадает с моим, но там работает, а у меня нет. Почему так происходит?

#77 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 24 August 2012 - 18:43

Сообщенияregal, on 18 August 2012 - 21:07, сказал:

Я пытаюсь разобраться в программировании бота и вот застрял на одном месте((. При вызове процедуры GetSoccerEvents() возникает ошибка в строке: With BetFairUK.getAllMarkets(oMarketsReq). В ошибке написано "Ошибка десериализации тела ответного сообщения для операции "getAllMarkets"." Что это означает и как это исправить? Был бы весьма признателен за ответ.
Проект свой заново создавали с нуля? Или использовали мой как шаблон?

#78 OFFLINE   regal

    Пунтер


  • Участник
  • ПипПип
  • 57 сообщения
2

Добавлено 24 August 2012 - 18:53

Заново с ноля.

#79 OFFLINE   Jericho

    Иерихон


  • RSB
  • ПипПипПипПипПип
  • 2226 сообщения
859

Добавлено 24 August 2012 - 18:54

Сообщенияregal, on 24 August 2012 - 18:53, сказал:

Заново с ноля.
Сделайте следующее
Скачайте файл из того поста, и вставте в свой проект.

Или скачайте исходники проекта отсюда, и используйте его за основу.

#80 OFFLINE   regal

    Пунтер


  • Участник
  • ПипПип
  • 57 сообщения
2

Добавлено 24 August 2012 - 19:01

Цифры в конфиге я менял и сейчас специально проверил нет ли ошибок. Что характерно, процедура GetEvents работает на тестовом Listbox1 как надо, если ее привязать к отдельной кнопке, а эта не хочет, поменял процедуру GetSoccerEvents на GetEventsEx, таже байда :(