-
All about Luck and Success betting
The Role of Luck
Unpredictability: Betting inherently involves a degree of unpredictability. No matter how much analysis you do, there are always elements beyond your control, such as unexpected injuries or weather changes.
Short-Term Variance: In the short term, luck can significantly influence ...
10.9.2024 13:27:05
-
Betting Strategies
Some insights into different betting strategies, including trading in and out versus betting based on fundamental probabilities.
Trading In and Out: This strategy involves placing bets and then trading out of them to lock in profits or minimize losses. It’s similar to stock trading, where ...
10.9.2024 13:24:03
-
Bfexplorer Latest Release
Version 3.22.0821
Cumulative updates to the Bfexplorer Preview version
Version 3.10.0721
Cumulative updates to the Bfexplorer Preview version (.net 8.0)
Version 3.9.0425
Cumulative updates to the Bfexplorer Preview version
Version 3.1.1021 - preview
Betfair menu ...
22.8.2024 14:37:12
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.