Betfair API-NG, тонкости
#141 OFFLINE
Добавлено 26 August 2015 - 10:03
#142 OFFLINE
Добавлено 26 August 2015 - 10:26
Alexs, on 26 August 2015 - 10:03, сказал:
С недавних пор апи ругается на http-заголовок "Expect: 100-Continue", который HttpWebRequest добавляет всегда. Отключите его
System.Net.ServicePointManager.Expect100Continue = false;но это всё догадки
Отредактировано denvb, 26 August 2015 - 10:32.
#143 OFFLINE
Добавлено 26 August 2015 - 10:28
Sub TodaysRaces()
Try
Dim strCatalogue As String = GetMarketCatalogue()
Dim objJson = JsonConvert.DeserializeObject(Of MarketCatalogue)(strCatalogue)
Dim intNofRaces As Integer = nudNumOfRaces.Value '~~> 12 Default amount
Dim i As Integer = 0
Dim strMkt As String = ""
tvMarkets.Nodes.Clear()
tvMarkets.Nodes.Add(New TreeNode("ALL RACES"))
For i = 0 To intNofRaces - 1
With objJson.Result(i)
strMkt = .MarketStartTime.ToString("HH:mm") & " " & .EventInfo.MeetingName & " " & .RaceType & " " & " " & .MarketId
tvMarkets.Nodes(0).Nodes.Add(New TreeNode(strMkt))
End With
Next
tvMarkets.Nodes(0).Expand()
Catch ex As Exception
Static oops As Integer = nudNumOfRaces.Value
nudNumOfRaces.Value = oops - 1
Exit Sub
txtLog.Text = "Tree Problem" & vbCrLf & ex.Message
Exit Sub
End Try
End Sub
Private Sub btnTodaysRaces_Click(sender As Object, e As EventArgs) Handles btnTodaysRaces.Click
TodaysRaces()
End Sub
На скрине студия выделила красным координаты кнопки. Не понял почему.
Attached File(s)
#144 OFFLINE
#145 OFFLINE
Добавлено 26 August 2015 - 10:52
denvb, on 26 August 2015 - 10:26, сказал:
С недавних пор апи ругается на http-заголовок "Expect: 100-Continue", который HttpWebRequest добавляет всегда. Отключите его
System.Net.ServicePointManager.Expect100Continue = false;но это всё догадки
Без вас никогда бы не нашёл бы этой ошибки.
Огромнейшее спасибо.
Теперь у меня забегов стало на 12 больше.
А как получить все забеги?
Вот эта строка ограничивает количество забегов 12 штук
Dim intNofRaces As Integer = nudNumOfRaces.Value
А как её изменить чтобы получить все забеги UK?
#146 OFFLINE
Добавлено 26 August 2015 - 11:57
Может кто подскажет?
Теперь надо выводить суммы.
Отредактировано Alexs, 26 August 2015 - 12:02.
#147 OFFLINE
Добавлено 26 August 2015 - 12:45
2. nudNumOfRaces - это что?
Может сперва доки почитать, с платформой освоиться? Всё-таки с деньгами будите работать. Если не секрет, что конструируете?
#148 OFFLINE
Добавлено 26 August 2015 - 14:01
denvb, on 26 August 2015 - 12:45, сказал:
2. nudNumOfRaces - это что?
Может сперва доки почитать, с платформой освоиться? Всё-таки с деньгами будите работать. Если не секрет, что конструируете?
nudNumOfRaces Это элемент NumericUpDown с панели элементов. Который имеет свойтво value.
Исходник то что вы дали под 2 номером. Пытаюсь выжать с него то что смогу.
С удовольствием почитал бы. Но на русском нет. Через Google пробую, но много не понятно. Да и документы не совсем для чайников.
А вам большое спасибо за помощь.
Бот хочу сделать для получения графиков 1 и 2 лошади по всем забегам. Для поиска чисто ниспадающих, горизонтальных и растущих графиков. На графиках качелях постоянно залёты. А так уменьшаю вероятность залёта. Так вручную следить за графиками это издевательство над собой. А затем уже делать ставки.
А чтобы вы могли бы посоветовать почитать для такого бота. Какие главы?
Отредактировано Alexs, 26 August 2015 - 14:10.
#149 OFFLINE
Добавлено 27 August 2015 - 10:22
как получить баланс
пытаюсь через getAccountFunds выдает ошибку что операции не существует
#150 OFFLINE
#151 OFFLINE
Добавлено 27 August 2015 - 11:17
Jericho, on 27 August 2015 - 11:04, сказал:
Для получения не сматченных ставок пытаюсь использовать listMarketBook.
Использую такие строки
Dim strBookRequest As String = "{""jsonrpc"": ""2.0"", ""method"": ""SportsAPING/v1.0/listMarketBook"", ""params"": {""marketIds"":[""" & txtMktID.Text & """],""priceProjection"":{""priceData"":[""EX_BEST_OFFERS"",""SP_AVAILABLE""],""exBestOffersOverrides"":{""bestPricesDepth"":1} }}, ""id"": 1}" ListMarketBookResponse = CreateRequest(UseAppKey, GetSessToken, strBookRequest)Результата нет. Количество денег на Lay и Back не получаю.
Что делаю не так?
Как правильно получить суммы на на Lay и Back?
Отредактировано Alexs, 27 August 2015 - 11:23.
#152 OFFLINE
Добавлено 27 August 2015 - 12:34
Public Class MarketBook Private m_result As List(Of BookInfo) '~~> "result" <JsonProperty(PropertyName:="result")> _ Public Property Result() As List(Of BookInfo) '~~> This can now be called anything InfoResult etc Get Return m_result End Get Set(value As List(Of BookInfo)) m_result = value End Set End Property '"result" End Class 'MarketBook Top Level **************************************************************************** Sub TreeClick(MarketID As String, e As Object) ........................................................................... Dim strPrices As String = "" Dim BackList As New List(Of Double) Dim LayList As New List(Of Double) BackList.Clear() LayList.Clear() Dim strBookRequest As String = "{""jsonrpc"": ""2.0"", ""method"": ""SportsAPING/v1.0/listMarketBook"", ""params"": {""marketIds"":[""" & txtMktID.Text & """],""priceProjection"":{""priceData"":[""EX_BEST_OFFERS"",""SP_AVAILABLE""],""exBestOffersOverrides"":{""bestPricesDepth"":1} }}, ""id"": 1}" ListMarketBookResponse = CreateRequest(UseAppKey, GetSessToken, strBookRequest) Dim jsonBookObject = Newtonsoft.Json.JsonConvert.DeserializeObject(Of MarketBook)(ListMarketBookResponse) For i = 0 To objDataGrid.RowCount - 2 With jsonBookObject.Result(0).Runners(i).ExchangePrices Dim dblBack() As Double = {} Dim dblLay() As Double = {} 'Get the Prices in the array For t = 0 To .AvailableToBack.Count 'I only have the one here If .AvailableToBack IsNot Nothing AndAlso .AvailableToBack.Count > 0 Then dblBack = {.AvailableToBack(0).Price} ' Else dblBack = {0.0} 'Use zero rather than nothing End If If .AvailableToLay IsNot Nothing AndAlso .AvailableToLay.Count > 0 Then dblLay = {.AvailableToLay(0).Price} Else dblLay = {0.0} 'Use zero rather than nothing End If ' Next t strPrices = dblBack(0) & " | " & dblLay(0) & vbCrLf 'Use/Test in a TextBox etc BackList.Add(dblBack(0)) 'Add to our List LayList.Add(dblLay(0)) 'Add to our List End With 'Json Book Exchange prices Next ........................................................................................................... End SubТеперь осталось переделать код под нашу форму. И пойду дальше.
Следущий ход.
Как получать графики по первой лошади каждого забега?
Какие функции можно использовать для этого?
Отредактировано Alexs, 27 August 2015 - 12:44.
#153 OFFLINE
Добавлено 28 August 2015 - 08:03
Возник вопрос по суммам.
Имеем
.Available To Back(0).Price
А как получить Price на Back(1), Back(2)?
Аналогично на Lay.
Буду очень благодарен тому кто поможет.
#154 OFFLINE
Добавлено 28 August 2015 - 08:20
Alexs, on 28 August 2015 - 08:03, сказал:
.Available To Back(0).Price
А как получить Price на Back(1), Back(2)?
Аналогично на Lay.
вам график то может лучше строить по сматченным, а не по ценам?
Отредактировано denvb, 28 August 2015 - 08:25.
#155 OFFLINE
#156 OFFLINE
Добавлено 28 August 2015 - 08:55
Надо поменять запрос
EX_BEST_OFFERS
на
EX_ALL_OFFERS
В строке
Dim strBookRequest As String = "{""jsonrpc"": ""2.0"", ""method"": ""SportsAPING/v1.0/listMarketBook"", ""params"": {""marketIds"":[""" & txtMktID.Text & """],""priceProjection"":{""priceData"":[""EX_ALL_OFFERS"",""SP_AVAILABLE""],""exBestOffersOverrides"":{""bestPricesDepth"":1} }}, ""id"": 1}"
Сразу получаем все кф и суммы для них.
Может кому то поможет.
#157 OFFLINE
Добавлено 28 August 2015 - 09:10
denvb, on 28 August 2015 - 08:20, сказал:
вам график то может лучше строить по сматченным, а не по ценам?
Надо стараться делать дело как можно лучше, хуже оно само получиться.
А вот по графикам. Думаю добавить на форму табконтрол, чтобы все графики поместить на одном экране.
Чтобы было сразу видно - какой график лучше для моих целей подходит.
Графики буду брать готовые с сайта и обновлять их постоянно.
Буду очень благодарен всем кто что то подскажет своё.
Отредактировано Alexs, 28 August 2015 - 09:16.
#158 OFFLINE
Добавлено 28 August 2015 - 09:25
#159 OFFLINE
Добавлено 28 August 2015 - 09:55
Alexs, on 28 August 2015 - 09:25, сказал:
Про графики - я то думал ты хочешь ботом их анализировать и тогда нужно самому их собирать. А если просто глазами посмотреть, то такие сервисы есть, где показаны несколько сразу, на форуме недавно давали ссылку. Так что может и не запариваться с кодом?
#160 OFFLINE
Добавлено 28 August 2015 - 10:42
dblBack = {.AvailableToBack(0).Price}
Кф не получаю.
Подскажите пожалуйста как получить кф и сумму под этот кф.
denvb, on 28 August 2015 - 09:55, сказал:
Про графики - я то думал ты хочешь ботом их анализировать и тогда нужно самому их собирать. А если просто глазами посмотреть, то такие сервисы есть, где показаны несколько сразу, на форуме недавно давали ссылку. Так что может и не запариваться с кодом?
Писал макросы для Excel . Поэтому vb net ближе мне.
За ссылку спасибо. Сейчас посмотрю.