User Comments

  • Stefan
    16.6.2020 7:39:57

    Sir, you edited previous text, are you really serious? My comment to this post then make no sense, no attached video. I cannot believe that.

  • Stefan
    15.6.2020 12:08:38

    In the application toolbar there is button: “Use Bet Event Trader”, clicking on it switches your user interface between ladder one and market grid view.

    In bfexplorer terms we call ladders UI (User Interface): “Bet Event Trader” view and grid is simply: “Bet Event” view.

    Now you can resize or reorganize your views like you want to, switching off not used views or switching on all views you want to use, and then save your layout clicking on View menu item: Workspaces / Add.

    This way you can create different named views - workspaces, for instance I have got “Bot” and “Trading” workspaces. Yes, the trading workspace has ladders, so “Bet Event Trader” view, as the main UI to show market data.

    In my blog you can see different workplaces for football or tennis trading. You can switch between saved workspaces using View / Workspaces / My Workspaces / and selecting one you want to use.

    Last used workspace is automatically loaded when you restart/reopen bfexplorer app.

  • Stefan
    12.6.2020 19:07:21

    Install the latest version of bfexplorer, I have just added Home/AwayNumberOfRedCards and CornersDifference to Football bot Start/StopCriteria parameters.

  • Stefan
    11.6.2020 18:27:04

    I can understand only what is asked, not what you think.

    Just common sense when we are talking about number of api calls to betfair api, to minimize you need to monitor as less as markets as needed using reasonable update interval.

    I do not know on what markets you run your strategy, or what exactly you do, so how could I advise?

    Graf, asked:

    “It could make some sense not to make so many calls until the first goal is scored and there is no active bet and most of all if the match ends 0-0. Am I right?”

    So I can only understand that he executes his strategy on football/soccer markets.

    Bfexplorer does not implement adjustable update interval, I mean feature that bot will automatically switch update interval for some markets that is the role of bespoke betfair app developed exactly for customer needs.

    In this post:

    I described such tool for football trades who use match details, score, time, some statistics to decide if they open market/s, and trade on them.  

    This tool updates market data only for in-play markets in 5 seconds interval.

  • Stefan
    11.6.2020 14:13:33

    Graf, this discussion was about how any bot operates on a market when bets are placed, not about exact strategy and how to execute it as effective as possible.

  • Stefan
    10.6.2020 17:10:32

    Bot manages any action, so when executed every 10 seconds, setting any time parameter in the bot settings lower than update interval does not make sense.

  • Stefan
    10.6.2020 14:23:21

    No, I already explained that, any bet operation is separated from market data update. It is totally different betfair API method call.

  • Stefan
    10.6.2020 13:11:56

    I have just added to your post short video that could help you understand the bot execution in the “Strategy Bot Executor” tool.

    I selected two markets and set the start execution time 5 minutes before official event start, and the update interval to 10 seconds.

    The bot to execute was: Test of ReportMarketDataChanged, just simple bot trigger script to report total matched volume on the market, or text: “No update!” when no data change or update was detected by bot.

    When clicking on Open button the “Strategy Bot Executor” loaded those two markets, and in Output view we could read:

    Strategy/Bot Executor: The next strategy/bot execution is scheduled to: 10. 6. 2020 12:40:00

    And exactly at: 10. 6. 2020 12:40:00

    We can see the message: “The bot Test of ReportMarketDataChanged has been started.”

    And after 10 seconds, in the next bot execution cycle:

    10. 6. 2020 12:40:10 Total matched: 52.54

    And so on every 10 seconds.

    Later I had double-clicked on selected market in the “Strategy Bot Executor” view, what means the market had been open in the “Bet Event” view, and as the bot was still active, it started to report:

    10. 6. 2020 12:40:47 Total matched: 114.72

    10. 6. 2020 12:40:47 No update!

    But of course not in 10 seconds interval but 250 milliseconds one, I use for the active market update.

  • Stefan
    9.6.2020 19:23:49

    When your “BeTheFirstInQueue” bot executes bet placing operation this operation is executed immediately.  

    Now depending on in-play status of the market, placed bet is inserted to betfair market immediately (50 – 150 milliseconds, depending on your connection latency to betfair server), or if market is in-play, after in-play delay time expires (on football markets the in-play delay for bet placing is 8-10 seconds).

    Yes, if your bot is executed by “Strategy/Bot Executor” tool, and you set update interval to 10 seconds, then your bot “BeTheFirstInQueue” is executed each 10 seconds, so also update of bets is done in this interval when “BeTheFirstInQueue” needs to update your bet, but any bet operation is executed immediately.

    I would suggest testing it yourself. Open bfexplorer app and execute your strategy using “Strategy/Bot Executor” tool. Then manually open market in Bet Event view, and just watch how your bets are updated.

  • Stefan
    6.6.2020 17:12:15

    On betfair forum:

    Sir, I am familiar with many programming languages including python I used to make ML model and simple flask api server app to expose ML model to my bots, as mostly I used .net programming languages for betfair bot programming like C# or my favourite F#, and did not find other way to interoperate between python and .net.

    Well yes now I am experimenting with pythonnet to integrate python scripting to my app, for now I support only F# scripts.

    I downloaded your library and it is just wrapper for couple api methods, without implementing any app domain or services. Therefore I really wonder to see some examples of using your library in betfair application, as you say: "My personal bots run 24/7 and never fall over due to program bugs, so I must be doing something right." and “It has been downloaded thousands of times and sometimes people say thank you and send me donations because it has saved them many hours of development time.”

    Well, my library was not download thousands of times, therefore I believe you have got a lot of sample code, for instance implementing this feature, one of Bet Angle users was asking for:
    “how to back the favourite at Betfair SP. I am having problems when the favourite changes late in betting.”

    I have done such simple bot script:

    Betfair SP Favourite Bot Trigger

    And I am really interested to see your python implementation for exact the same simple bot. Your web site was funded in 2008 so I believe your level of expertise is even better than mine. If you show me better solution in python, I will be glad to donate your splendid work and use your library instead of mine.

  • Stefan
    4.6.2020 18:12:02

    I think this is clear, I built bespoke apps or bots only for my subscribers:

    If you want to analyze data on live markets, then this tool may help you:

    Betfair Charts Tool

    If you want to build bot or app according to your specification:

    1) Subscribe

    2) Send me your short description for your app and/or bot

    I hope you understand that your expectation for the project price can be quite different from my price, therefore use your common sense and calculate my average 30 GBP per working hour to expected amount of work for bot or app.

    Of course there is other option for you as I offer Bfexplorer BOT SDK for my subscribers, so if your friend or you, yourself are able to program you can do so, or ask another software developer to do so using Bfexplorer BOT SDK, what is the way I do built bespoke bots or apps for betfair.

  • Stefan
    4.6.2020 13:56:49

    This feature is not yet publicly available, so you can use it only when I built for you bespoke bot.

    I do not work for free, so depending of complexity of your bot, the price starts from 80 GBP (30 GBP working hour).

    I can work for free, when you offer free work for me which I would have any interest in.

  • Stefan
    4.6.2020 10:32:30

    Actually this is not bfexplorer trading app. If you have a look at on the video and app title it says: “Bfexplorer – data analyzer”, so it is different app that looks like bfexplrer, but is mainly used to analyze betfair historical data on ladders, and of course back test different bot strategies you can set in bfexplorer trading app.

    I cannot afford to buy myself betfair historical data, so when developing this app I used pro historical data provided by my subscriber.

    At these days betfair offers for free set of pro historical data, so maybe this app could be used by more subscribers

    On the other hand I will need some time to implement new features to the app, mainly possibly to move forward or back in data. My first implementation loads all data but starts to reply them from 10 minutes before official market start time. Yes, it is possible to restart replying data.

    Therefore this app can be available only to my subscribers, and to those subscribers who can afford to pay my working time to end development of this app, so the app can be used by general user/subscriber.

  • Stefan
    23.5.2020 15:43:21

    If required feature is not yet implemented in pre-built bfexplorer bots you can create your own bot trigger.

    When opening some markets in bfexplorer for monitoring we can see charts in ladders or in the Bet Event grid view in Watched Selections and so on.

    What does it mean?

    It means that bfexplorer app must process some way this data for charts. And yes, software developer using Bfexplorer BOT SDK can find that Selection object offers following property: PriceTradedHistory, and there either TradedPrices or Prices.

    In the user interface of bfexplorer app a common user can browse this data by clicking on selection context menu: Show Selection Data

    Ok, we know where our data are so now we can program simple bot trigger code:


    How the average traded price is calculated can be seen in the function: getAverageTradedPriceFromTime (lines from 48 to 63)

    And how this function is used to trigger an action bot is on lines from 82 to 91.

    What we must realize when developing this kind of strategies is the fact that bfexplorer must monitor market for required time, and that data are stored only for limited time, it is saved 60 last data points.

    There is also other alternative to get traded price. I showed that at the end of my short video.

  • Stefan
    23.5.2020 12:43:38

    For instance when running machine learning strategy on horse racing markets I set Strategy Bot Executor to load horse racing win markets each day at 10:00.  

    Start execution time is set to -15 seconds, because ML strategy requires loading some data for each race.

    Update interval is set to 1 second.

    Now count!

    Strategy Bot Executor before starting bot execution on the market updates market data, that is 1 call to betfair api.

    As the strategy requires those data for each race (it is not data from betfair api), the bot executes download of this data and processing, it takes by average 6 seconds. So during these 6 seconds, as “Strategy Bot Executor” monitors market data, the market data are 6 times updated (bfexplorer 6 times queries betfair api to listMarketBook method) .

    After data are loaded, bot processing them and decides if any bet is placed on this market. As the bot is executed in the update market cycle, in one cycle this data are evaluated and in the next cycle the bot places bet on dedicated selection.

    Update interval is set to 1 second, and we know that any update cycle requires bfexplorer to call betfair api for market data.

    If the bot will not continue with bet placing, the bot execution is finished and so the market monitoring is stopped as well.

    Now count!

    1 + 6 + 2 = 9 queries to betfair api.

    If the bot continues with bet placing, the action bot is created and executed on the dedicated market selection (1 cycle).

    If the bet placing is done by “Place Bet” bot, then from execution of the “Place Bet” and actually placing bet the bot requires additional 1 cycle (have a look at Place Bet parameters).

    Placing bets through betair api is done by other api method: placeOrders. And as the update interval is set to 1 second, but as there are two different api calls done by bfexplorer, and bot operates in the market update cycle, bet placing status must be confirmed in the market update status only, so successful bet placing operation even if takes 200-300ms takes for bot execution in 2 cycles.

    1 + 2 = 3, and totally 9 + 3 = 12 queries to betfair api for market updates.

    Ok, my bot places bet on current offer, and in UK horse racing there is good offer, so bet is immediately matched, If not “Place Bet” bot updates bet to be fully matched, so let say 6 cycles are additional needed.

    12 + 6 = 18 queries to betfair api.

    If there are 100 races per day my strategy requires maximum: 100 * 18 = 1800 queries to betfair api.

    So monthly: 1800 * 30 = 54000

    I simply can count, and try not to use too much betfair resources. Of course, I can execute trading strategies that require monitoring markets for 10-30 minutes, but then again I adjust update interval and try to monitor as less of markets as possible.

  • Stefan
    22.5.2020 22:20:03

     Try to install the latest version of bfexplorer.

    On my dev pc Windows 10, I have no problems all works fine. On my VPS (Windows Server 2012 R2) again all works fine, but on another server I have got the same problems you showed in your video.

    I will need more time to investigate this issue.

  • Stefan
    22.5.2020 22:02:27

    Bodasy, do you really think I am so stupid?

    Please go to my blog posts:

    And you may find that I run many different strategies on my server in 24/7. Well, not these days as mostly I try to run horse racing strategies.

    Once again, any feature you can see in bfexplorer app was programmed mainly for my own needs, by me myself, I am software developer.

  • Stefan
    22.5.2020 21:02:14

    Graf, I do not set those update interval values, but you do so.

    Bfexplorer is used by other users including me. Actually what I program in bfexplorer, I program mainly for my use, and I have never been switched to delayed api data like you three were.

  • Stefan
    22.5.2020 20:44:06

    In Strategy Bot Executor tool you can add column: Total Matched, as in any other data view bfexplorer shows, when market data are updated, Total Matched must be updated as well, right?

    So please, add that column, and watch if value is updated for passive markets waiting for processing, of course they are not updated.