-
Delayed API Status
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
-
Free Trial Review
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
-
Bfexplorer Latest Release
Version 3.23.1126
Cumulative updates to the Bfexplorer Preview version (.net 9.0)
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 ...
26.11.2024 10:54:45
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.