Community Articles
- Popular
- Recent
- Comments
-
Hello. Since yesterday I have a delayed API on my BF Explorer trading software. I had no bots running when this happened and now I am also unable to trade as all stakes in the markets keep flashing all over the ladders on random odds, being absolutely impossible to figure out what was the last price ...
9.5.2020 16:19:41 -
I tried BFexplorer, having used 3-4 different software applications beforehand. The 2 days utilising the software, I managed to get a feel for the product and like the modern display on the black background. Bets placed were very responsive with no lagging experienced from other products. A few ...
25.3.2015 17:55:00 -
Version 5.07.0322 The cumulative Betfair AI Trading, Create Strategy Settings LLM support. Install from Bfexplorer Preview version. Version 4.11.0214 The cumulative Betfair AI Trading. Install from Bfexplorer Preview version. Version 4.10.1227 The cumulative ...
23.3.2026 17:38:27
-
How to enable MCP /sse + WithParameters on Bfexplorer 5.08.0404?
Hi Stefan, I'm automating bet placement from my own app and I need to place a Back bet with a dynamic MinimumOdds (a per-bet floor price computed externally), so the exchange never matches below my floor. The changelog mentions ExecuteBfexplorerStrategySettingsWithParameters (MCP tool, ...
30.6.2026 18:49:17 -
From a Software Developer to a Successful Trader
To transition from a software developer to a successful trader or bettor on a platform like Betfair, you must recognize a fundamental distinction: Your technical skills provide the tools, but domain-specific analytical skills provide the edge. In the world of exchange trading, your ability to write ...
6.6.2026 18:54:50 -
Introducing Bfexplorer Studio: Code
Overview Bfexplorer Studio is an interactive environment designed to empower users—especially those with programming experience—to explore, test, and automate Betfair trading strategies and bfexplorer application features without the need to install a full IDE like Visual Studio or ...
17.4.2026 15:15:35
- by : Betfair Bot
- by : deejay88
- by : evereve
-
http://bfexplorer.net/Content/Bfexplorer/BfexplorerAI.png
by : Betfair Bot - by : Betfair Bot
- by : Betfair Bot
Betfair Bot
I will summarize it shortly for others looking for any betfair strategy development.
None of betfair apps can offer pre-built strategies where you just set parameters and all is done magically for you. Such simple strategies are built exactly only for preset features, and if you need any changes or additions to these features, it is not possible to do so without changing application code.
Some of betfair apps offer Excel integration where your strategy can be built just on betfair odds and traded volume formulas, anything else must be programmed in Visual Basic code.
Bfexplorer offers all base bots for placing bets (back/lay bets, back/lay dutching bets) or executing trading session for required profit or loss target. All these base bots can be used itself and you can create simple strategies just by setting bot parameters, or entry criteria.
Anything else can be programmed using Bfexplorer BOT SDK, and such bot is automatically integrated into bfexplorer, and so can be used by all other tools bfexplorer offers, mainly by Bot Executor tools, or by Bfexplorer Console. In all these cases, bfexplorer acts like development environment, to retrieve betfair data, or any other required data for particular market.
Your custom built bot is available only for you it is not available publicly to all bfexplorer users.
On the forum you can find a lot of examples, and on github you can download source code for a lot simple bot scripts.
Contact me through support web page, or by info email, so we can discuss specification to your bot that will gather required data from live markets. I have added short video showing some data Bfexplorer BOT SDK can offer for developers, but in your case, we will use mainly meta data betfair offers (trainer and jockey names), and of course BSP on markets which are turned at in-play, and the winner of the race.
Custom built bot code can save data in any required format, most used is plain text format of CSV file that can be open by Excel, and by other tools you will use data analyzing or building your machine learning model.
Betfair Bot
The question is what is your own experience in required skills?
From your specification: “data extraction” and “data analytics”.
If you already have this historical data then you need to create your model, where from your data you are able to take some conclusions.
For instance by entering parameters like Horse Name, Trainer, Jockey and so on, your model can return probability values for each horse (trainer, jockey) to win a race. This probability is then taken by bfexplorer bot as trigger to initiate bet placing or not.
So from this point of view all you need to learn in bfexplorer are those two features:
My Strategies / Bots to Execute
Strategy / Bot Executor
Betfair Bot
Traded data use case scenario.
Betfair Bot
When you open bfexplorer.net web page, on the home page:
http://bfexplorer.net/Home
There is list of main features, the same can be found:
http://bfexplorer.net/Products/ProductFeatures
These twelve main features describe how to use bfexplorer app for your betting, trading or automated execution of different betfair strategies.
I hope you have managed to open bfexplorer and login to betfair that is the starting point.
So after opening bfexplorer app and login to betfair, bfexplorer app shows Event Browser view, loaded with Upcoming in-play events.
When selecting any market in grid view of the Event Browser, the Execute in Strategy / Bot Executor toolbar icon is activated. That means that you can do what “Execute in Strategy / Bot Executor” sentence would suggest, so start your bot strategy on markets loaded to Event Browser grid view.
You want to execute your strategy on greyhounds markets; it means you need to open greyhounds markets to the Event Browser. You want to execute some strategy, so it means you need to define such strategy adding it to “My Strategies / Bots to Execute” view.
Your key features you need to familiarize yourself are:
Market navigation and browsing
Place bet, Execute till target profit
Strategy / Bot Executor
Just browsing forum, you can find a lot of examples for above three features.
Betfair Bot
Bfexplorer offers bot named: “Execute Till Target Profit”, so bot suitable to execute sequential bets till target profit/loss is reached. The bot places next bet in sequence only when previous bet is settled, so it is known that bet is winner, and/or loss.
In your strategy you use “Reular Time Goals” market, so your bets are not settled when period ends, but only when matched ends.
To execute your strategy you need ice hockey live score, so bot needs to know which period is played, and what the correct score is.
Yes, the strategy can be programmed. If you are familiar with some programming language then you can use Bfexplorer BOT SDK to program your ice hockey strategy bot.
Betfair Bot
Your subscription code was assigned to you, I can see it had been generated.
If you have problems then you must understand that activation of subscription code and as well activation of your api access is done on betfair servers. If you still cannot login then betfair simply blocks your access, it is done so for not used accounts, accounts with zero balance, and of course for blocked accounts.
Therefore please ask betfair. If you did not bet for more than 3 months, or have zero balance on your account, then deposit and place a bet on betfair, the matched one. This helps to reactivate api access.
Betfair Bot
Advice from Peter Webb from betangel forum:
Perhaps see if there has been a big price change with no change is score line on the correct score market?
It is really funny but this best software on the betfair world:
“Bet Angel is the premier software for trading on Betfair. Used by professionals all over the world, Bet Angel has been developed by traders who use it as their primary tool. Introduced in 2004, Bet Angel is constantly developed with more features and improved performance over any alternative software.”
Have no support for live score match data in automation!
Betfair Bot
Yes, you start your custom built bot assembly with app: Bfexplorer.exe
Do you really think you will manage to program your bot, having such big problems when debugging bot code? I think you should find bot developer, or just send me specification for your custom bot.
Betfair Bot
C:\Program Files (x86)\BeloSoft\Bfexplorer\Bfexplorer.exe
Betfair Bot
And here is the result.
Well, yes it would be a good idea to optionally execute "Close Market Bet Position" bot, after dutching bet is matched.
Betfair Bot
ATP player' statistics
Betfair Bot
No
Betfair Bot
Your bot code is executed in market update event, so if your active market refresh rate is set to 250 ms, then your bot is executed every 250 ms. For passive markets (default 10s) or markets added to bot executor tool the default settings is 1 second.
It means that when time is critical factor for your bot execution then you must set reasonable values for market update interval.
If you are using streaming for data update (that is relevant only for active and passive markets in Bet Event View and Open Markets view), then as updates are really streamed only when changes are detected, your bot can be executed in heart beat event only, set for active market to 1s and for passive markets to 15 seconds, keep that in mind!
Why is it implemented this way?
Well, because bot reacts on market data changes, and there is no reason to execute a bot when there are no market data changes.
Betfair Bot
I had already answered such question.
Betfair Bot
Please watch this video from my debugging of bot trigger code:
Debugging Bot Trigger Code
I set breakpoint, and add to watch view, selection and selection.BetPosition, so I could browse the watched object data, and see what properties are full with data.
The similar dialog I added couple month ago to bfexplorer so you can browse some market and market selection data, to learn about bfexplorer data, and how/what you can use in your bot trigger code.
Betfair Bot
Have a look at the line 34:
sprintf "%s: %A" selection.Name selection.BetPosition
selection.BetPosition object offers your bet position, so please browse data, put their break point when dubbing your bot trigger code.
Betfair Bot
Yes, exactly. You simply must use correct wording. “Bets” is plural, right? So it is collection, not one bet. On the object property that is bet, you could do so: bet.Price and so on.
I do not know what exactly you want to achieve as it is clear that you could have more unmatched bets on selection, so make reusable functions you could use/reuse in your bot triggers.
I wanted to explain in my sample bot trigger code, how you can work on bfexplorer domain objects, so I used direct code, but if you try to write: unmatched .. Visual Studio will offer you all available functions/types and so available for you after you
open BeloSoft.Bfexplorer.Domain
so surprising it is offered for you:
isUnmatchedBet, unmatchedBetsExists, getBets, getUnmatchedBets, getUnmatchedBetsByBetType and so on and on.
So code I already had wrote and is reusable.
Then you could write:
Betfair Bot
Any code, in any programming language is “sentence” expressed by programming language “words” and constructs you can make by programming, adds the language vocabulary.
So the vocabulary you can use to express your intentions in programming language is limited to couple words.
The above line of code:
let Stake = _selection.GetPriceSize(BetType.Lay)
In human sentence expresses:
Selection, get PriceSize object for Lay side to stake!
As English have strict words order in sentence, to be grammatically correct, we command so exclamation mark at the end of sentence.
So you command selection to get PriceSize, and in this context it is Lay PriceSize offered. It is not bet, it is offer on this selection other bettors placed.
You can command bet object to get price or size to you, so odds or stake you placed a bet with.
So you must ask/command _selection.Bets to get all unmatched bets to you (to value), and then ask a bet to get you price, size and so on, like I did in my bot trigger code:
BetStatusBetCancellingBotOrchestrationBotTrigger.fsx
on the line 31.
***
Read further only when you want to learn some advance features of F# programming language.
***
I do not know in what context you use _selection, but please keep in mind that in F# underscore _ is used as intention to declare not used value, because in F# you must declare exact intention, so like in mathematics it does not make sense to express something what is not used.
Yes, in other programming languages, programmers used to declare object variables with _, but in F# it has different meaning, for instance here:
ShowPriceTradedVolume.fsx
On the line 52, where I declared construct for BetStatusBetCancellingBotOrchestrationBotTrigger type, I used _ for not used values, because in F# any input value/s in constructor are declared as well as object values you can access not only in constructor but in entire type.
On the line 106, you can see __ (two underscores), so in type member you must type __ to declare not used self-identifier of object. I use this as self-identifier, but you can use whatever word/character.
Ok, this underscore issue is for advance developers, you code will work whatever you will use.
***
Option value
***
For the option types/values it is similar like in C# for Nullable. So you can use anOptionValue.IsSome and if is some you can get value by: anOptionValue.Value, but better way is to use match expression or functions from Option module, like Option.iter.
In my code you can find maybe, computation expression I created, so for options you can type simplified expressions, for instance here:
ShowHorseData.fsx
Lines from 39 to 43, and then on line 40, let! ... actually evaluates if mySelection.MetaData.IsSome and continues only when it is assigning to metaData the value, otherwise returning None.
Such expression allows me to write less code. Programming is not about writing a lot of code, actually less code is always better approach.
Programming is about understanding of context in which you write the code, and so it is about interpreting of “words”.
Betfair Bot
Peter may I ask you to explain me by your own words, how do you understand this line of code?
let Stake = _selection.GetPriceSize(BetType.Lay)
As you may know, and now I speak not about programming languages, but about languages, my mother’s language is Slovak, and in many Slavic languages there is no such strict rule for word order like in English sentence.
That is the funny part in your question, because well my understanding of any language construct is a little bit different from the way only English people could read the code, the sentence.
Well, yes I understand what you want to try to do in your code, but the “words” you chose to do so are quite unclear for me.
Betfair Bot
this. is used to access object properties or methods.
You type your code as you would access static method or type. You must type object, so in this case maybe: market.MarketInfo.StartTime