Väike andmevõrgu kuju, mida sirgjoon ühendab paremal üksi seisva hammasrattakujuga.

Kihlvedude botid ja API: automatiseerimine ilma konto lukustamata

Bot töötab kell 3 öösel. Sinu konto peaks hommikul kell 9 ikka veel alles olema. Betfair tõmbab nende kahe teekonna vahele päris joone, ja see ei ole joon, mida enamik foorumiteemasid kirjeldab.

Kihlvedude bot on iga skript, mis paneb panuseid või haldab neid ilma, et sõrm oleks hiirel. Betfair Exchange'il ei otsusta lubatavust sõna „bot“, vaid sõna „API“. Betfairi tingimused käsitlevad panust, mis on tehtud muude automatiseeritud vahenditega kui konto omaniku enda käsitsi paigutatud panus, kahtlase tegevusena, ja tõmbavad seejärel API selle klauslist välja: selle kaudu tehtud panused on selgesõnaliselt välja arvatud. Teine reegel puudutab ka API kasutajaid: konto peab jääma isiklikuks, mitte teenuseks, mida jooksutatakse kellegi teise jaoks. Enne kui see üldse tähtsust omab, testi loogikat Delayed key viivitatud andmetega ja kavanda API piirangute järgi päringute, samaaegsuse ja sisselogimiste osas. Võtmed ise, mis igaüks maksab, ja see, mida neli brokerit ütlevad oma tööriistade kohta, on eraldi lehel, mis on lingitud allpool.

Mida reegel tegelikult jagab

Automatiseerimine on üks joon mitme seas laiemas professionaalsete kihlvedude meetodite hulgas, mida see sait käsitleb, ja sellel on oma leht, sest reeglid siin on täpsemad kui „sharp-kihlvedajad kasutavad tarkvara“. Foorumi lühendis on „bot“ üks asi: tarkvara, mis paneb panuseid. Betfairi tingimused on täpsemad. Klausel 12.1.4 loetleb tegevuste hulgas, mida ta käsitleb kahtlasena, panuse, mis on tehtud „otherwise than through the Account holder placing each Bet manually“ (muul viisil kui konto omanik paneb iga panuse käsitsi). Üksinda loetuna tabaks see iga skripti, mis kunagi kirjutatud on. Seda aga ei loeta üksinda: samal klauslil on oma erand, mis on öeldud selguse huvides: „via the Application Programming Interface (API)“ (rakendusliidese kaudu) tehtud panused ei kuulu sellesse. Pane kaks katkendit kokku ja jaotus on täpne: skript, mis klõpsab läbi tavalise veebilehe, on see, mida klausel silmas peab, ja skript, mis räägib API-ga, on erand, mille klausel ise nimetab.

Üks kõrvalmärkus: „bot“ kannab selles lauses palju, ja sõna ise klauslis ei esine. Betfairi juristid kirjutasid „otherwise than through the Account holder placing each Bet manually“, mis on pikem viis sama öelda, aga palju raskem lause, mida valesti tsiteerida. Igatahes, tagasi selle juurde, mida see sulle tähendab.

Reegel ei ole siis „botid on keelatud“ ega „botid on korras“. See on kitsam: mitteametlik skript, mis töötab veebilehega nagu väga kiired käed, asub kahtlase tegevuse klauslis, samas kui sama loogika, mis on ühendatud ametliku API-ga, asub erandis. Keegi, kes tradib redelit käsitsi, ja skript, mis teeb sama API kaudu, saavad sama dokumendi järgi erineva kohtlemise, ja vahe on uks, mitte selle taga olev strateegia.

Isikliku kasutuse piir ja kus bot seda piiri ületada võib

Teine klausel on sama oluline ja seda loetakse palju vähem. Betfair võib konto kasutuse keelata, kui kahtlustab (mõistlikult tegutsedes), et kasutus on „business usage“ (äritegevus), ja see on tahtlikult laialt määratletud: „'business usage' includes any use by a betting operator or any use by an individual or organisation supplying data or services to a betting operator“ (äritegevus hõlmab mis tahes kasutust kihlveooperaatori poolt ja mis tahes kasutust isiku või organisatsiooni poolt, kes pakub kihlveooperaatorile andmeid või teenuseid; klausel 11.2.13, meie tõlge). See ei ole seotud ülal oleva API erandiga. Skript võib olla täiesti 12.1.4 erandi sees ja siiski rikkuda 11.2.13, kui ta tegelikult paneb panuseid kellegi teise eest, toidab tellijate teenust või toimib teistele kihlvedajatele müüdava toote taustasüsteemina.

Ma käsitleksin kahte klauslit kui kahele erinevale küsimusele vastavaid. Klausel 12.1.4 küsib, kuidas panus tehti. Klausel 11.2.13 küsib, kelle raha ja kelle otsus see tegelikult oli. Bot, mis tegutseb ainult ühe inimese enda kontol, läbib teise küsimuse vaikimisi. Bot, mis haldab mitme inimese panuseid või müüb oma signaale, ei läbi, sõltumata sellest, mis ukse kaudu ta panuse paneb.

Iga tee API juurde algab kontrollitud kontolt. Betfairi arendajatele mõeldud abi ütleb selgelt: ilma Betfairi kontota „you cannot proceed with licensing“ (litsentsiga ei saa edasi minna) üldse, ja isikutuvastus, mida verifitseerimine tegelikult hõlmab, käib enne mis tahes võtit. Kaubanduslik automatiseerimine käib oma eraldi teed Betfairi äripoole kaudu, mitte isikliku võtmega suurema eelarvega.

API on uks. Veebilehel töötav skript ei ole.

Mida testida, enne kui Live key'sse raha läheb

Igaüks, kes bot ehitab, tahab hüpata otse panuste panemisse. Aus järjekord on vastupidine: tõesta loogika andmetega, mis on tahtlikult tegelikust ajast aeglasemad, väikseima panusega, mida koht lubab, enne kui tasuline võti või tõsine kihlvedukapital on kuskil lähedal.

Betfairi Delayed key: kui vanad võivad hinnaandmed olla

Allikas: Betfairi arendajadokumentatsioon, FACTS-betfair.md jaotis 6.

Diagrammi andmed
ÜksusVäärtus
Kiireim hetkepilt1
Aeglaseim hetkepilt180

See vahemik, ühest sekundist parimal juhul kuni kolme minutini halvimal juhul, ei ole ümardusviga, mida võiks õlgu kehitades kõrvale heita. Hind, mida skript viimati mõistlikuna nägi, võib tegutsemise ajaks olla kaugele liikunud, ja siin ei ole testkeskkonda, mis seda pehmendaks: Betfairi enda dokumentatsioon ütleb, et puudub testikeskkond, mis lubaks kellelgi testida ilma päris rahata. Iga panus, mille Delayed key paneb, on päris panus päris tulemusega, ja seepärast on väikseim lubatud panus ainus mõistlik viis seda etappi läbida.

Hüpoteetiline näide, kus kõik arvud on välja mõeldud ainult arvutuse jaoks. Oletame, et skript jälgib kordajat 2,10, otsustab sellele back-panuse panna ja API annab sel täpsel hetkel tagasi 180 sekundi vanuse hetkepildi. Kolme minuti jooksul võib juhtuda värav, punane kaart või hiline koosseisumuutus, nii et kordaja, mida skript arvab toetavat, ja kordaja, mis on pakkumisel siis, kui käsk kohale jõuab, võivad olla kaks erinevat arvu. Ükski nutikas loogika enne seda ei paranda otsust, mis on ehitatud vananenud teabele. Viivitus ise, mitte selle peal olev strateegia, on esimene asi, mida tasub testida.

Platvorm on ainult pool pilti; teine pool on andmevoog, millele bot tegelikult reageerib, ja skript, mis on üles ehitatud õhukese ajalooga, eksib sõltumata võtmest, millel ta jookseb. Kontrolli arvutusi käsitsi kalkulaatoriga, enne kui usaldad skripti enda arve, ja pea meeles, et börsi komisjonitasu võetakse ikka maha igalt võidetud panuselt; mida see teeb boti netoarvudega, tasub lugeda enne, kui strateegia paberil edukaks kuulutatakse.

Rida väikeseid mehaanilisi käsivarsi kihlvedupileti kohal, kõik peale ühe seisavad liikumise keskel.
Enamik botist on ootamine. Osa, mis käivitub, on see osa, millest reeglid hoolivad.

Piirangud, mille ümber skript peab olema kavandatud

Mitte miski siin ei puuduta seda, kas automatiseerimine on lubatud. Räägitakse API enda seatud laest, mis piirab, kuidas skript käitub, ja see on esitatud selgete arvudena, mitte jäetud oletamise hooleks. Neli neist on kõige olulisemad, kui skript on veel joonistuslaual, ja koos Delayed key viivitusaknaga ülal on need arvud, mida Betfair võib muuta. Kontrolli praeguseid tingimusi, enne kui tootmiskoodi nende ümber kavandad.

  • 200 punkti ülempiir turuandmete päringutele. Kulu liidetakse kokku turgude ja küsitava andmetüübi järgi; kogusumma ületamisel tuleb viga, mitte andmed.
  • 3 samaaegse päringu ülempiir käsu- ja positsioonikõnedele. Praeguste käskude, kasumi ja kahjumi või sulgetud käskude kontrollimine rohkem kui kolm korda korraga, kui varasemad päringud veel käivad, lükatakse tagasi, mitte ei panda järjekorda.
  • 1 000 käsku sekundis ülempiir käskude panemisel, tühistamisel, uuendamisel ja asendamisel. See katab kogu konto kõigi avatud ühenduste kaudu, mitte ühte skripti eraldi.
  • 20-minutiline lukustus pärast liiga paljusid ebaõnnestunud sisselogimisi. Iga järgmine sisselogimiskatse lükatakse selle aja jooksul automaatselt tagasi, olenemata sellest, mis varasemad ebaõnnestumised põhjustas.

Teine hüpotees, ja see on see, mis tegelikult inimesi tabab. Skript, mille sisselogimise käsitlusel on viga, ei uuenda oma seanssi õigel ajal ja proovib uuesti kiires tsüklis, selle asemel et oodata. Kakskümmend minutit on umbes jalgpallipoolaeg; kui käivitad lukustuse avalöögi ajal, jääb skript rohkem mängust ilma, kui kunagi püüdis. Parandus on igavam kui lugu: hoia seanssi ja käsitle ebaõnnestunud sisselogimist põhjusena peatuda, mitte kohe uuesti proovida.

Kus broker lisab oma tingimustega veel ühe kihi

Kõik eelnev on Betfairi enda reeglistik ja kehtib ainult otse peetavale Betfairi kontole. Brokeri börsitööriist on eraldi toode, mis avatakse brokeriga, mitte Betfairiga, nii et Betfairi API klauslid sinna automaatselt ei kandu. Olulised on hoopis iga brokeri enda tingimused, ja need ei ütle skriptide kohta kõik sama: mõned avaldavad oma API, teised keelavad automaatse juurdepääsu üldse. Käsitle brokeri scraping-klauslit tema enda majareeglina, mida tuleb järgida ja teatada, kui see muutub, mitte kunagi kui midagi, mille ümber minna. Mida iga broker botide kohta juba ütleb on detailselt broker haaval koos võtmete hinnaga; see leht seda ei korda.

Kui skripti ehitamine ja hooldamine ei ole projekt, mida tegelikult tahetakse, siis brokerid pakendavad osa sellest juba: brokeri sisseehitatud automatiseerimine katab valmis lahendused, ilma koodita. Konto, mis on märgitud kahtlase tegevuse eest klausli 12.1.4 alusel, automatiseeritud või mitte, ei jäeta samuti tähelepanuta; kuidas konto piirang tegelikult välja näeb, katab seda külge.

Ma ei ehitaks midagi enne, kui oled lugenud konkreetse brokeri praeguseid tingimusi, mitte foorumi kokkuvõtet. Neli brokerit tingimuste järgi kõrvuti on kiireim viis näha, kus automatiseerimist teretulnuks peetakse, kus sellest vaikitakse ja kus see on lihtsalt keelatud.

Küsimused, mida inimesed esitavad

Kas kihlvedude boti kasutamine Betfair Exchange'is on reeglitega vastuolus?

Automaatselt mitte. Betfairi tingimused käsitlevad panust, mis on tehtud muude automatiseeritud vahenditega kui konto omanik paneb iga panuse käsitsi, kahtlase tegevusena, ja välistavad seejärel samast klauslist selgesõnaliselt ametliku API kaudu tehtud panused. Skript, mis töötab API kaudu, on erandis; see, mis töötab tavalist veebilehte nagu väga kiired käed, ei ole.

Kas kihlvedude bot võib töötada kellegi teise eest või ärina?

See ületab eraldi piiri. Betfair võib konto keelata, kui kahtlustab mõistlikult, et kasutus on äritegevus, ja äritegevus on määratletud nii, et see hõlmab kihlveooperaatori või ükskõik kelle kasutust, kes talle andmeid või teenuseid pakub. Isiklik konto on kontoomaniku enda kihlvedude jaoks, automatiseeritud või mitte.

Mis vahe on kihlvedude boti ja Betfairi API vahel?

„Bot“ on tarkvara lühend; API on konkreetne, heakskiidetud kanal, mille Betfair ehitas automatiseeritud juurdepääsuks. Tingimused ei hinda tarkvara selle külge kleebitud sildi järgi, vaid selle järgi, millise kanali kaudu panus pandi.

Kas kihlvedude botti saab testida ilma päris raha riskimata?

Mitte Delayed key'ga, mis on tasuta arendusvõimalus: Betfair ütleb, et puudub testikeskkond, mis lubaks kellelgi testida ilma päris rahata, nii et iga panus, mille see paneb, on päris panus päris tulemusega. Seda tasub hoida väikseimas summas, kuni loogikat tõestatakse.

Kui kiiresti saab kihlvedude bot panna käske enne, kui API seda piirab?

Betfairi seatud piirid on 200 punkti ülempiir sellele, kui palju turuandmeid üks päring võib küsida, 3 samaaegse päringu ülempiir käsu- ja positsioonikõnedele ning 1 000 käsu ülempiir kogu konto peale ühe sekundi jooksul. Liiga paljud ebaõnnestunud sisselogimised lisavad peale veel 20-minutilise lukustuse. Kontrolli praegust dokumentatsiooni, enne kui tootmiskoodi mõnele neist toetud.

Kas selle saidi kihlvedude brokerid lubavad kihlvedude botte?

See sõltub brokerist, ja see leht ei korda detaili; lehel, mis käsitleb iga brokeri enda seisukohta API-de ja automatiseerimise kohta, on see broker haaval koos Betfairi võtmete hinnaga.