Betfair API mit Java und Netbeans (Teil3) – Anleitung/Tutorial – Alle Märkte auflisten
Hier im dritten Teil des Tutorials zur Betfair API Programmierung mit Java und Netbeans zeige ich euch wie ihr alle Märkte von Betfair auslesen und auflisten könnt. Voraussetzung für dieses Tutorial ist, dass ihr den Login zur Betfairseite bereits hergestellt habt. Wie das genau geht, hab ich bereits im zweiten Teil des Tutorials beschrieben.
Das Arbeiten mit der Betfair API läuft immer nach dem selben Schema ab. Wenn ihr das Konzept einmal raus habt, könnt ihr nach herzenslust verschiedene Funktionen ausprobieren. Zuerst wird immer eine Anfrage/Request erstellt, dem wir den Header unserer Loginsession übergeben. In diesem Header ist eine Zeichenkette (Session Token) die eine identifikation für unseren aktuellen Login darstellt. Diese Zeichenkette sollte wir immer aus der vorherigen Abfrage übernehmen. In der API Dokumentation können wir sehen, welche Daten wir dem Request noch anfügen müssen. Ist der Request erstellt senden wir diesen über den entsprechenden Webservice an die Betfairseite und erhalten eine Rückgabe/Respone die wir dann auswerden können.
Eine kleine Anmerkung vorweg. Der Array wird bei im Beispielcode am Anfang mit vorgegebener Größe erstellt. Das ist nicht gerade schön und sollte noch so verändert werden, dass dieser erst nach Ermittlung der notwendigen Größe erstellt wird. Es sind ca. 10.000 Märkte auf Betfair. Zum ausprobieren sollte es also auch mit meinem Codebeispiel klappen.
Hier also der Java Code mit dem wir alle Märkte auf Betfair erfragen:
// Ergebnisarray
String[][] output = new String[20000][20];
// Felder Beschriftung
final int MARKETID = 1;
final int MARKETNAME = 2;
final int MARKETTYPE = 3;
final int MARKETSTATUS = 4;
final int EVENTDATE = 5;
final int MENUPATH = 6;
final int EVENTHIERARCHY = 7;
final int BETDELAY = 8;
final int EXCHANGEID = 9;
final int ISO3COUNTRYCODE = 10;
final int LASTREFRESH = 11;
final int NUMMBEROFRUNNERS = 12;
final int NUMMBEROFWINNERS = 13;
final int TOTALAMOUNTMATCHED = 14;
final int BSPMARKET = 15;
final int TURNINGINPLAY = 16;
// Exchange Service
BFExchangeService_Service bFExchangeService_Service = new BFExchangeService_Service();
BFExchangeService bFExchangeService = bFExchangeService_Service.getBFExchangeService();
// Get Markets
GetAllMarketsReq getAllMarketsReq = new GetAllMarketsReq();
com.betfair.publicapi.types.exchange.v5.APIRequestHeader newHeader = new com.betfair.publicapi.types.exchange.v5.APIRequestHeader();
newHeader.setSessionToken(sessionToken);
getAllMarketsReq.setHeader(newHeader);
GetAllMarketsResp getAllMarketsResp = bFExchangeService.getAllMarkets(getAllMarketsReq);
if (getAllMarketsResp.getErrorCode().equals(GetAllMarketsErrorEnum.OK)) {
// Market Data
String marketData = getAllMarketsResp.getMarketData();
String[] splitMarkets = marketData.split(":");
int i = 0;
for (String part1 : splitMarkets) {
String[] splitMarket = part1.split("~");
int j = 1;
for (String part2 : splitMarket) {
output[i][j] = part2;
j++;
}
i++;
}
// Beispielanwendung
// Suchen nach Pferderennen im Menüpfad:
CharSequence suche = "Pferdergennen";
for (String[] test : output) {
if (test[MENUPATH] != null) {
if (test[MENUPATH].contains(suche)) {
System.out.println("Marktid: " + test[MARKETID]);
}
}
}
} else {
System.out.println("Get All Markets Error: " + getAllMarketsResp.getErrorCode());
}
Am Anfang lege ich finale Variabeln fest die mit ihrem Namen bestimmte Eigenschaften der Märkte repräsentieren. Dies dient einzig und alleine zur besseren Übersicht für den Programmierer. Seht euch dazu Table 13-3: marketData in der Betfair API Dokumentation an.
Als nächstes erstelle ich mir den entsprechenden Webservice über den ich die GetAllMarkets Anfrage an den Betfairserver senden werde. Dies geschiet auf die selbe weise wie beim Login, nur dass hier der Exchange Service und nicht der Global Service angesprochen wird. Bei einer komplexeren Anwendung könnt ihr die beiden Service an einem zentralen Punkt erstellen und immer wieder darauf zugreifen.
Danach erstelle ich eine GetAllMarkets Anfrage. Dieser muss nur der Header übergeben werden, der wie schon erwähnt den Session Token beinhaltet. Also erstell ich mir einen neuen Header und weise ihm den SessionToken zu. Den Session Token bekommt ihr von der letzten Antwort des Servers. Also zum Beispiel:
sessionToken = loginResp.getHeader().getSessionToken();
Ich erstelle hier im Beispiel einen neuen Header, da der Loginheader einen anderen Typ hat. Ansonsten müsste es auch gehen, den Header aus der Loginantwort zu übernehmen.
Es folgt die eigentlich Anfrage nach dem oben beschrieben Schema. Wie beim Login wird Antwort anhand des Error Codes geprüft.
War die Anfrage erfolgreich bekommen wir mit der Methode getMarketData() aus der Antwort einen elend langen String der alle Märkte mit Trennzeichen(Delimiter) getrennt enthält. Zuerst splitte ich im Beispiel die einzelnen Märkte auseinander und dann die einzelnen Informationen zu den Märkten und speichere das ganze in dem vorbereiteten Array. Jetzt hab ich einen Array bei dem der erste Wert als eine Art ID genutzt wird, und ein weiterer Zähler der die einzelnen Informationen zu den Märkten anspricht. Wir können nun also mit den einzelnen anfangs angelegten Variabeln bequem und gezielt die verschiedenen Eigenschaften der Märkte aufrufen.
Im Code findet ihr ein kleines Anwendungsbeispiel, das alle Märkte nach dem Wort Pferderennen im Menüpfad durchsucht und deren ID ausgibt:
// Beispielanwendung
// Suchen nach Pferderennen im Menüpfad:
CharSequence suche = "Pferdergennen";
for (String[] test : output) {
if (test[MENUPATH] != null) {
if (test[MENUPATH].contains(suche)) {
System.out.println("Marktid: " + test[MARKETID]);
}
}
}
Nun könnt ihr nach herzenslust die Märkte Filtern und mit der MarktID weiter auf den Markt eingehen, was ich in einem späteren Tutorial zur Betfair API Programmierung erläutern werde.
Winpicks Februar Ausgabe
Ich möchte darauf hinweisen, dass die inzwischen fünfte Ausgabe des kostenlosen Sportwettenmagazines erschinen ist. Leider wieder ohne Titelgirl
.
Ich kann nach wie vor nur empfehlen das kostenlose Angebot zu nutzen und zu unterstützen, denn auch diesmal sind wieder sehr interessante Artikel enthalten, die Informationen auf den Punkt bringen die man ohne große rechereche im deutschen Raum kaum finden wird. So hat mich auch diesmal der Artikel über Pferderennen sehr interessiert der auf die verschiedenen Böden (Fibersand, Polytrack) der AllWeather Rennen eingeht und auch aufzeigt, wie man die vielen Informationen zu den einzelenen Pferden interpretieren kann bzw. muss.
Hier gehts zum Winpicks Magazin:
Informationen zu Sport, Wetten, Casino und Poker
Pferderennen für Anfänger
Zum Thema Pferdewetten gibt es immer mehr Informationen im Internet. Vor allem wenn man keinem Englisch mächtig ist, tat man sich in Vergangenheit schwer Grundlegende Informationen zu Randsportarten wie Pferderennen zu finden.
Deshalb möchte ich euch hier zwei Quellen vorstellen, die sich mit den Grundlagen befassen und sehr dabei helfen können in die Materie hineinzufinden:
Im kostenlos online abrufbaren Magazin Winpicks findet man bis jetzt in jeder Ausgabe einen Artikel zum Thema Pferderennen. Dabei werden sehr Grundlegende Dinge wie die Rennarten und wirkenden Faktoren erklärt.
Eine zweite neu aufgekommene Quelle ist eine neue Kolumne im Betfair-Blog. Viel zu sehen gibt es hier noch nicht. Wäre aber auch ein eher ungeschickter Zeitpunkt sich bei den aktuellen Verhältnissen in die Materie Pferdewetten einzuarbeiten.
Viel Spaß und Erfolg mit den beiden Quellen für hochwertige Artikel zu diesem spannenden Thema
Zwei Trading Tipps
Ich schaue mir gerade das neueste Trading The High Five Video von Jimboo an und mir sind ein paar Punkte aufgefallen, die ich auch gerne falsch mache. Deshalb hier zwei Tipps solche Situationen zu vermeiden:
Pro Rennen nur ein Trade machen: Hat man den ersten Trade mit Gewinn oder Verlust geschlossen empfehle ich keinen weiteren Trade in diesem Rennen zu machen. Es entsteht nur hektik da man sich entweder sagt: “Ein bisschen mehr geht noch” oder “den Verlust mach ich jetzt noch schnell weg”.
Nur auf stabilen Märkten Traden: Wenn der Quotenverlauf schon von Anfang an nicht beständig ist, ist die wahrscheinlichkeit im Quotenverlauf eine böse Überaschung zu erleben viel höher.
Zum Trost Jimboo … mein Bot hat heute ähnlichen Quark mit Pferdescheise beschert ;-(
Kostenlose Pferderennen Systeme (eBook)
Heute möchte ich eine Empfehlung für ein kostenloses eBook voll mit Systemen und Tipps rund um Pferdewetten aussprechen. Das eBook eignet sich perfekt als Grundlage um einen Betfair Bot scharf zu machen. Ganze 14 Systeme werden neben Staking Plänen und allgemeinen Tipps zu verfügung gestellt.
Der Hindergrund des eBooks ist die bewerbung von der Seite thebetometer.com welche im eBook auch immer wieder erwähnt wird:
Um das eBook kostenlos zu bekommen ist eine Eintragung in den Newsletterverteiler notwendig.
Sind Pferderennen pure Unterhaltung oder eine traurige Angelegenheit ?!
Pferderennen sind eine Sportart, also Spiel, Sport und Spannung. Das setzen von Geld auf Pferde unterhält uns und sorgt für Spannung. Bei dem ein oder anderen springt sogar ein Gewinn heraus. Die Pferdebesitzer geben den Pferden lustige Namen. So muss der Sprecher bei einem Pferderennen einiges mitmachen wie folgendes Video zeigt.
Doch man muss bei all dem Spaß den der Mensch mit Pferderennen hat, die gegenseite bedenken. Das Pferd mischt bei der Sache auch noch mit. Da gibt es sogar Rennen bei dennen kaum ein Pferd im Ziel ankommt wie folgender Focusbericht zeigt.
http://www.focus.de/sport/mehrsport/pferderennen-der-tod-wartet-am-taxisgraben_aid_144463.html
Ein weiterer Text über die traurige Seite des Pferdesports und Tierquälerei findet ihr unter:
http://pagewizz.com/Pferderennen-Geld-Macht-Tierquaelerei
Dann gibt es noch neben der lustigen und traurigen Seite die dazwischen. Für das Pferd wahrscheinlich nicht so schön, dafür für den Menschen ein komischer anblick:

Was ist “Form” bei Pferderennen und wie liest man solchige ?
Vor allem auf Racecards findet man die sogennante Form zu jedem einzelnen Pferd. Die für einen Laien wirre Zeichenfolge (z.B. 27/5P7/040) gibt Informationen darüber wie ein Pferd in den letzten Rennen abgeschnitten hat. Man liest die Form von Links nach Rechts, wobei jedes Zeichen für ein Rennen steht. Das aktuellste Rennen findet man auf der rechten Seite. Die Zahlen haben folgende Bedeutung:
- 1-9 = Den belegten Platz nach einem Rennen
- 0 = Keinen der ersten 9 Plätze belegt
- P = Pferd hat aufgegeben, bzw. nicht weiter gelaufen (Pulled Up)
- R = Pferd wurde abgelehnt (Refusal)
- F = Pferd ist gefallen (Fell)
- B = Reiter abgeworfen (Brought Down)
- U = Ohne Reiter ins Ziel (Unseated Rider)
- - = Trennzeichen für einen Jahreswechsel (z.B. 2009 zu 2010)
- / = Trennzeichen für Session Wechsel
Bin mir leider nicht ganz sicher ob das so auch 100% stimmt !
Was bedeutet “Maiden Stake” bei Pferderennen ?
Maiden Stake ist eine Sorte von Pferderennen bei der es besonders empfehlenswert sein soll, auf die Favoriten zu spielen.
Wenn man die beiden Wörter Maiden und Stake einfach übersetzt bekommt man “Junfräulicher Anteil”. Das Jungfräulich bezieht sich hierbei auf das: “Noch nie gewonnen haben”.
Maiden Stake Rennen sind also Rennen, bei dem Pferde gegeneinander antreten, die noch nie ein Rennen gewonnen haben. Daraus folgt auch, dass die Teilnehmer meist sehr Jung (2 bis 3 Jahre) sind.
Welche Informationen findet man auf einer “Racecard”
Überall findet man sie. Egal ob zum Downloaden oder direkt auf den Pferderennenseiten findet man die Listen mit den an den Pferderennen teilnehmenden Pferden. Viel mehr als die Namen der Pferde kann der unerfahrene Pferderennen Wetter meist nicht rauslesen. Dabei sind jede menge wertvolle Informationen auf den Racecards verteilt die einem die entscheidung auf das richtige Pferd zu setzen erleichtern können.
Woher bekommt man Racecards ?
Eine Racecard ist sozusagen ein Spielplan für Pferderennen der einem möglichst viele Informationen über die Events des Tages geben soll. Man kann sie sich kostenlos aus dem Internet von verschiedenen Quellen abrufen.
Informationen über das Rennen, die Jockeys, die Pferde und deren Besitzer
Über der Liste der Pferde findet man meistens allgemeine Informationen über das Rennen. Hier im Beispiel steht oben im schwarzen Block der Ort des Rennens (Musselburgh) und das Datum (Monday, 28 June 2010) desselben. Im selben Block oben rechts findet man die sogenante Going-Information (GOOD to FIRM). Das Going ist ein wichtiger Faktor für den Ausgang des Rennens.
Im grauen Kasten darunter findet man als erstes oben links die Uhrzeit (6:55) des Rennens. Rechts daneben steht die Bezeichnung des Rennens (BOLLINGER CHAMPAGNE CHALLENGE SERIES HANDICAP (GENTLEMAN AMATEUR RIDERS) (6)). Darin sind zwei wichtige Informationen enthalten. Handicap bezeichnet die Art des Rennens. Hier könnte zum Beispiel auch Maiden Stakes stehen. Die zweite wichtige Information ist die Zahl in den letzten Klammern (6). Sie gibt die Klasse des Pferderennens an.
Die nächste Zeile, immernoch im grauen Kasten, beginnt mit der Information um das wievielte Rennen (Race 1) an diesem Ort und Tag es sich handelt. Bei den frühen Rennen gewinnen öfter die Favoriten als bei den späteren. Dahinter steht das Preisgeld (Guranteed Prize Money £ 3000) des Rennens welches den Ausgang des Rennens wie folgt beeinflusst: Je höher das Preisgeld desto schwieriger wird es einen sicheren Tip abzugeben. Die letzte Angabe in dieser Zeile gibt die Strecke (2m) des Wettlaufes an. Je nachdem wie viel Erfahrung ein Pferd mit dieser Distanz hat schneidet es anderst ab.
Details zu den einzelnen Pferden des Wettlaufes auf einer Racecard
Nach den allgemeinen Daten zum Rennen und der Strecke werden die am Rennen Teilnehmenden Pferde aufgelistet.
In großer Schrift und als erstes ins Augefallend ist der Name des Pferdes (z.B. Summer Soul). Die große Zahl verät einem die Nummer des Pferdes im Rennen. Die kleinere Zahl rechts daneben ((1)) informiert über die Startposition, auch Draw (z.B. 1)genannt, des Pferdes. Dass das Draw mehr bedeutung hat als man denk kann man an folgender Seite sehen: The Effect of the Draw in U.K. Horse Racing
Eine sehr wichtige Information über gibt die Zahlenfolge über den eben behandelten Werten. Das ist die Form (-133466-) des Pferdes und gibt den Ausgang der letzten Rennen wieder.
Die unterste Zeile im Abschnitt eines Pferdes gibt folgende Informationen: Den Trainer (Miss Lucinda V. Russell) und den Besitzer des Pferdes (Bissett Racing).
! Hier wird noch gebastelt …
Was ist bei Sportwetten ein Nap bzw. ein Np
Nap und Np findet man dort wo Leute Tips abgeben, meistens bei Pferderennen, auf welchen Ausgang man Wetten sollte.
Ein Nap ist der beste Tip den ein Tipster, also jemand der auf Sportwetten tippt, an einem Tag angibt. Nap bezeichnet also eine Wettentscheidung die von einer Person als beste Wette an einem Tag gesehen wird. Ein Np ist das selbe nur eben die zweitbeste Entscheidung einer Person.
Was ist “Flat Racing” ?
Flat Racing ist ein Oberbergriff der häufig fällt wenn man sich mit Pferderennen befasst.
Das Flat Racing ist eine allgemeine Form von Pferderennen mit Galopprennpferden auf eine festgelegte Distanz ohne Hindernisse. Es geht dabei vor allem um Geschwindigkeit, Ausdauer und das können des Jockeys.
Kostenlose Wetttipps aus dem Internet
Im Internet gibt es viele Seiten die einem Tipps für Sportwetten anbieten. Viele dieser Anbieter verlangen 100€ und mehr im Monat für regelmässige Tipps. Es geht aber auch kostenlos.
Mein Favorit für kostenlose Wetttipps (alle Sportarten) ist das Community Portal OLBG. Hier geben die User (Tipster) ihre Tipps ab und erzeugen so eine Prognose von vielen Leuten. Ziel ist es jetzt aus diesen Prognosen Valuebets zu finden. Ein Valuebet ist eine Wette, wo die Quote mehr Gewinn verspricht als die Wahrscheinlichkeit eines ausganges (sehr Theoretisch
).
Dann gibt es noch einige gute Seiten für Pferderennenwetten:
Auf Dailydonkey gibt es täglich Lay und Nap Tipps mit einer übersichtlichen Statistik der Ergebnisse. Auf The Daily Bet kann man sich kostenlos täglich Laytipps zusenden lassen. Das Portal GG.com bietet zu jedem Rennen einen Favoriten.
Wie ihr seht gibt es auch kostenlose und gute Quellen für Sportwettentipps im Internet. Doch eine Investition in einen kostenpflichtigen Anbieter ist bestimmt auch nicht falsch.
!!! Inzwischen habe ich erfahren, dass man vor Daily Donkey nur warnen kann. -> http://hetzge.de/?p=180














