-
Can you describe this image and explain
If you have a problem using bfexplorer, just create a screenshot and ask an AI like Grok to describe its functionality:
Detailed Description of the Image
The image is a screenshot of a software interface titled "My Strategies to Execute", which appears to be part of a trading or betting platform, ...
19.4.2025 15:13:02
-
Football Next Goal Strategy
Strat is as follows, at min 79 of a game, I place a lay bet on the next goal market for a max period of 5 mins, then take the profit offered or if a goal is scored then the trades ends.
The criteria are as follows.
Odds at minute 79 of the game must be between 1.7 & 3.0 on the next goal ...
17.4.2025 15:49:29
-
I want to build ML model
Building a model for horse racing betting involves several steps. Here's a structured approach to get you started:
1. **Understand Horse Racing**: Familiarize yourself with the rules of horse racing, types of races, and the factors that influence race outcomes (e.g., horse form, jockey performance, ...
9.4.2025 17:07:21
Comments ( 6 )
Betfair Bot
Programming languages use different syntax, and of course set of types. In F# float is C# double, and as F# is .net language you have got access to anything from .net framework.
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/literals
peteresgate@outlook.com
Please see the code here:
https://github.com/PeterEsgate/BfexplorerTestBots/blob/master/Market%20Depth%20Levels
I run it like this:
let mutable odds = defaultArg (botTriggerParameters.GetParameter<float>("Odds")) 1.0
odds <- getMarketDepthPrice(BetType.Back) (myLaySelection) 1
outputMessage (sprintf "Lay Odds at Level 0 %.2f" odds)
odds <- getMarketDepthPrice(BetType.Back) (myLaySelection) 2
outputMessage (sprintf "Lay Odds at Level 1 %.2f" odds)
but the result of odds is always 0.0
I am trying to find the available odds at different market depth levels
Could you please tell me what is wrong with the code?
Betfair Bot
On the line 3 of your code, there are set three values: startIndex, nextIndex, findFun
The findFun is function used to evaluate the place with empty offer. So when you want to place back bet, it must be checked lay offer and wise versa.
You change that code, therefore your findFun function returns true on offer with available offer. Actually in your code I cannot see logical problem because you start iterating through data on the best offer, so price must be set.
If you code does not go to the line 23, as you say price returned is always 0.0
Peter, how/where you execute your bot trigger?
The full market depth is updated only for active market, so for the market that is currently open in Bet Event/Trader.
It means that if you run your bot by Bot Executor tool you will get updates only for 3 best offered prices.
I would suggest you to debug code, only this way you can find your problem in the code.
Hint: There is function selection.PriceGridData.GetOfferedPriceData()
You can use to get all offered prices. I do not know what you want to make in your code, so this function: GetOfferedPriceData returns all offered prices, and you can filter whatever criteria you use.
Here is bot trigger code:
ShowOfferedPrices.fsx
Peter, please use VS debugger when testing your code.
peteresgate@outlook.com
Hi Stefan,
Yes thanks it will get the odds at specified levels now thanks.
But with the volume it is different.
https://github.com/PeterEsgate/BfexplorerTestBots/blob/master/Market%20Depth%20Volume
On Line 35 and 27, why I can't I just substitute the "priceData.Price" with "priceData.ToBack" ?
With the PriceGridData.GetOfferedPriceData(), there is no method (that I could find) to go to different levels like with priceGridData.GetPriceData(index)
peteresgate@outlook.com
I got it to work using another of your codes that I found from weight of money :)
Betfair Bot
That is great Peter.
I would really suggest you to set breakpoint in your code and then debug it and browse available data offered by bfexplorer.
You must know what data you have got, visualize them in your head, and then you know what you can do with data.
Your approach for now is browsing existing code, so when you did not find similar one you cannot make progress, but data you have got, so working with data is the way to go.