User Comments

  • Stefan
    17.3.2018 19:01:17

    This is more about understanding of English language:


    a series of things connected or following in succession: a chain of events.


    a continuous or connected series: a gruelling sequence of exercises.

    English is foreign language for me, so from your misunderstanding of the term: "Chain Execution", we can use following bot names, describing bot functionality:

    Execute Bots

    Execute Bots in Sequence (instead of using term: Chain Execution), or better: Sequence Execution?

  • Stefan
    12.3.2018 21:05:50

    You need custom built bot, so either send me specification with your budget, or have a look at bfexplorer bot sdk, and program your bot yourself.

  • Stefan
    10.3.2018 19:22:27

    When a market is suspended, you cannot place a bet, update or cancel a bet, so common sense says, there is no need for bot execution during market suspension. Bots cannot do anything, any action on suspended markets.

    When a market suspension is a trigger for some action, then you need a bespoke bot to be developed, but I cannot see any use for such bot.

  • Stefan
    10.3.2018 11:03:46

    Yes, bot does not cancel bets, and why should it do? The bot purpose is offer a bet to be the first in queue, and bot ends its execution only after bet amount it offers is fully matched. Bot can operate in allowed odds range set by Minimum/MaximumOdds when PlaceBetInAllowedOddsRange is checked (set to True) and in allowed odds difference range set by Maximum/MinimumOddsDifference.

    So you set allowed odds range and when odds changes and are not in allowed range, bot stops updating bet. When your bot operates on in-play market after goal is scored the bet is cancelled, if you left the parameter AtInPlayKeepBet unchecked (set to False).

    If you want to cancel bet placed by the bot, and so stop your action bot execution, then you can use on football markets the bot “Football Bot” and trigger the bot: “Cancel Bots On Selection”.

  • Stefan
    9.3.2018 18:39:55

    “Be The First In Queue bot” always offers a bet, and as the name of bot suggests places a bet to: “Be The First In Queue”.

    What does it mean? As a bet is always offered the bot needs a gap more than one tick between best offered back and lay price, otherwise placed bet would be immediately matched, it would not be offered. If there is no gap between offered prices, the bot: “Be The First In Queue” waits for such gap in offer, otherwise a bet is not placed.

    To be first in queue you must place a bet on odds without any offer!

    Bfexplorer offers different bots, and all those bots offer different functionality/behavior when placing bets.

    I already mentioned, setup any bot and run it in practice mode to see how a bot behaves, so this way you will understand/learn the bot functionality.

    You have got Place Bet bot which can offer your bet as well, when parameter OfferMyBet is set to True (checked), but that does not guarantee your bet will be the first in queue, only the bot: “Be The First In Queue bot”, can do so.

  • Stefan
    9.3.2018 11:47:49

    Please read it twice or more: “Be The First In Queue”.

    To be the first in queue the bet must be offered, so it does not make sense to implement OfferMyBet parameter for this bot, because “Be The First In Queue bot” works only by offering bet, so OfferMyBet is always True.

    Your second request can be done only by custom bot.

  • Stefan
    8.3.2018 17:18:39

    Bfexplorer BOT SDK is available to PRO subscribers, so you have got access to it by request. First I would suggest you to watch some videos or read some articles about it, because you must be familiar with programming in F# or C# to use BOT SDK.

  • Stefan
    8.3.2018 10:28:05

    If you do not want to offer your bet, but take what is offered, then set parameter: OfferMyBet to False (unchecked.)

    There are two other parameters: Minimum/MaximumOddsDifference you could use to detect whether there is offer on both sides (back and lay). If there such offer on both sides then of course there is odds difference, minimal one of course is 1 tick.

    I would suggest you to test any bot settings you create, just switch to Practice Mode and run you bot to check if the4 bot operates as you expected from the bot settings.

    Associated market name, the parameter: MarketName must be exact name of market you want to open, as you can see it in Event Browser My Bet Event dialog, Market types parameter, so one of these text there, for instance: OVER_UNDER_25 when you want to open Over/Under 2.5 Goals market.

    Associated market is open in bfexplorer, and as it is not active market open in Bet Event view its market data are monitored with update interval set by parameter in Settings dialog/Update Interval/Passive market.

    If you use market streaming, then keep in mind, that streaming sends market updates only, and bots are executed only when market changes are detected on a market, when no market updates are detected then market gets “heart beat” event every 60 seconds, and so bot is then executed every 1 minute.

    Finally when we talk about bots and its features, when you find anything missing in bfexplorer bots, then you can develop your own bot with set of features required by your betting or trading strategy. Have a look at Bfexplorer BOT SDK. If you are not able to program your bot, then write your bot specification and sent it to me.

  • Stefan
    6.3.2018 10:19:58

    If you want to place a bet in allowed odds range, so parameter PlaceBetInAllowedOddsReange is True (checked), then setting Minimum/MaximumOdds sets allowed odds your bet can be placed. Bot check offered price defined by BetType and places bet only when set parameters are met.

  • Stefan
    24.2.2018 11:55:11

    It seems you open too many markets for monitoring. In common usage when I tested streaming technology, there is no problem with 64 markets concurrently monitoring market data.

    Betfair weights each api call and after allowed value exceeds max value, no data are returned.

    Read about differences of using streaming api as well, because by default bfexplorer is set not to use it.

    You can adjust update intervals and use streaming for monitored markets, but in your case you should use common sense.  

    Your bot strategy is executed on market at in-play only, therefore you should run it in Bot Executor, not opening markets for monitoring but running bots in Bot Excutor. Bot Executor then runs market monitoring only for markets starting from time you set in Start execution time.

    Read or watch about Bot Executor:

  • Stefan
    9.2.2018 16:33:14


    Of course you can cancel any unmatched bet individually, through My Bets select a bet and click on Cancel button.

    On ladder click on Odds column of unmatched bet.

    On the other hand if your bet was placed by bot, and bot is managing this unmatched bet, then manually canceling individual unmatched bet either the way I described above or through betfair web site will cause cancelling a bet of course but as your bot is is still operating on a market selection the bet will be placed by bot again.

    Cancelling/stopping bot execution when a bot has unmatched bets will cause cancelling of unmatched bets the bot placed.

    Therefore in trading ladder UI control toolbars you can see button: Cancel All Orders / Bots.

    If you place more unmatched bets on many markets, then you can click in Navigation view on “Events with my bets”, what will open all markets you have got bets in Event Browser, from there you can simply select all, and Open them for monitoring in bfexplorer just by clicking on the Open button.

    Now if you really want to cancel all unmatched bets on these markets, you can type in Bfexplorer Console:


    and click on Execute button will cancel all bets. As described this procedure requires opening of markets with bets, but I can and to Bfexplorer Console tool, other type of command for cancelling all bets. Why I implemented this cancelling feature only for open markets in bfexplorer? Because this way you have got chance to check on which markets you are about to cancel all bets.

  • Stefan
    9.2.2018 13:39:13


    If your football strategy requires stopping all bots execution and cancelling unmatched bets at match time then you can use bot called: “Stop Market Monitoring” without setting StopAtTime parameter. To execute action bot at match time use Football bot, setting MatchTime and BotName to: Stop Market Monitoring, or whatever you named “Stop Market Monitoring” bot settings.


    “Football Bot” offers only match time value; there is no information whether match is plaid or it is half time break. You can use MatchTime setting with value > 45, or > 90 to start action bot execution at extra time.

    There are some additional status information’s in football api, so your use case scenario could be covered by custom built bot. If you are able to pay for it, send me exact specification, and I will reply with my price for such bot project.


    I have added new parameter to “Footbal Bot” named: MatchTimeStop, when you set it the bot will stop its execution at set time without executing action bot set by BotName parameter.

    Description for MatchTime parameter says:

    “Set if you want to trigger the action bot when match time is reached.”

  • Stefan
    7.2.2018 11:54:38

    You want to place a bet so to automate this procedure you will use “Place Bet” bot settings, setting BetType to Lay, Stake to 5, and alternatively OfferMyBet (checked or unchecked).

    You want to lay away team so ExecuteOnSelection must be set to 2.

    Name such bot settings: “Lay away team”, or whatever better describers your strategy, keep in mind that you can create hundreds of different bot settings, so proper naming convention will help you to use such bots.

    As your strategy requires checking price on another selection (your place bet bot will place your bet), you need to use bot called: “Execute Bots”.

    You add to parameter BotNames: “Lay away team”, you can do so by clicking on … button, and then selecting your bot and adding it.

    The parameter ExecuteOnSelection must be set to 3 (draw selection is 3rd on football Match Odds market). The parameter EvaluateEntryCritriaOnlyOnce must be checked, and finally in “Entry Criteria” you add: LastPriceTraded Is less than 3.5

    You can name your bot settings: “Lay away team if draw < 3.5”

    To automate your bot execution, open football match odds markets in Event Browser view. Now you either select matches or will execute your strategy on all matches in the “Event Browser”, just click on “Execute in Order / Bot Executor” button, in dialog select your bot, so: “Lay away team if draw < 3.5”, set Start execution time, and check or uncheck “Open only selected” . Clicking on Open button, your football matches will be loaded to “Order / Bot Executor” and your bot will be automatically executed at set time.

  • Stefan
    18.1.2018 19:16:05

    I did not implement any kind of algorithm to evaluate entry points, the moment in time when your unique strategy should be executed on exact selection and exact but type.

    If you think about it, it is actually the key factor to become profitable bettor or trader.

    There is zillion of ways to achieve it and any of the ways is unique depending on your knowledge of sport, betting/trading and mainly your knowledge of software development as in last year’s many could apply machine learning to this process.

    In your case you can create trigger script to evaluate what you say, so calculate traded odds range and from that decide at what odds range you allow to execute your trading strategy.

    If you are not able to program them you must do so manually selecting horses you think would moved favorably to your set trading criteria.

    This article shows what a trigger script is and how to use it.

  • Stefan
    18.1.2018 16:40:21

    Use trading bot: “Place Bet and Close Selection Bet Position” setting Profit and Loss parameters (of course you can set different parameters for this bot to influence bot behavior when placing opening bet and closing one, test different settings).

    “Repeat Until” bot did not offer parameters required by your strategy, but I have just added two parameters: StopOnTime and to RepeatUntilParameter has been added “LossTarget”.

    Install the latest version of bfexplorer. First, test in practice mode only.

  • Stefan
    10.1.2018 18:09:51

    Bfexplorer is living app, and as I use it myself for daily trading, building my bots or building bespoke solutions on this platform, things can change, and sometimes very rapidly.

    If you would specify a feature, really nice one, the app feature that could be used by many, not just something only you would use, then depending on amount of time it needs for implementation, it can appear in bfexplorer in hours or just couple days.

    The same is true, when you find a bug, as I use bfexplorer myself, I can fix such bug in minutes and release new version of bfexplorer the same day you report a problem/bug.

    There are many such features added to bfexplorer and advertised only on my blog posts, for instance this feature: #Analyzing betfair data to trigger trading on horse racing markets.

    In very old videos, you could see “My Bots” view/window. English is foreign language for me, and I understand what a term “bot” means in this context, on the other hand for others this term is misleading.

    Therefore in one discussion on forum, where one user coming from financial background, where they use terms like instrument and order, I took a term order as better way to declare what or bot does.

    Bot basically places a bet when criteria are met, or better to say it is instruction of how a bet should be placed, it is and order which can be executed, therefore whenever the bot term had been used I added order, so My Bots view became “My Orders / Bots to Execute”

    So when you add a bot to the view/window: “My Orders / Bots to Execute” you create your bot for later use/reuse therefore the full name: My Bots to Execute.

    Some people thought that after you create a bot, it is automatically executed, therefore that addition to original “My Bots” to Execute.

    Other betfair apps use terms like triggers, rules or guardians. But such terms are not so suitable in bfexplorer context, here is better to use bot, as piece of code executing automated tasks:

    Yes, in some videos you can see a lot of bots in “Add a new bot” dialog as I do bespoke bot development as well, but such bots are not publicly available. Bfexplorer offers 23 bots, plus 5 Community Bots. To community bot assembly I added helpful bots like bots for saving market prices to database, or helper bots like: “Horse Racing Race Status” so basically bots which do not place bets, but are helpful in analyzing data, and so on.

    Community Bots are also available in source code, included in Bfexplorer BOT SDK.

  • Stefan
    8.1.2018 18:28:11

    Did you really install bfexplorer?

    On Internet can circulate free version of bfexplorer that does not offer bots and automation. I blocked betfair api access for this app, so even you installed it, that app cannot activate api access so you cannot use it. Only full version activates your access to betfair api, so you may used/installed both apps, and now you open free version of bfexplorer app without My Bots view/window, after activating api access with full version of bfexplorer.

    Use full version of bfexplorer!

    You can change app layout, and closed/hide do not used views, if you did so by accident then just click on menu item View / My Orders / Bots to Execute

    Please watch this video showing how to change app layout: #Application layout and workspaces

    Keep in mind that users use different screen resolutions, and default app layout may show just some of views, therefore customize your app layout for your use. On my videos you can see different app layout I use for trading and for bots execution only. You can prepare different app layouts for different sports as well, for instance for trading on tennis, or football/soccer:

    Just one hint, just read app screen and menu, icons offers tooltips, so you should know for what they are used, when you hover mouse over toolbar icons. Icons are pictograms so if icons presents (+) plus symbol in any use case scenario it represents an adding action, add a bot, add a favorite event and so on.

  • Stefan
    8.1.2018 16:53:14

    You are using full version, trialing it for free.

    You subscribe for your monthly api access, therefore just click on Subscribe page:

    In My Bots view there are icons (you can click on them), one of them is Add (Add a new bot), watch video here: #My betfair bots

    Bettingexpert blocks my api access, so tool is not offered anymore, it was actually my blog post showing personal built of that tool.

  • Stefan
    17.12.2017 11:47:27

    It seems you are using betfair api for commercial use, not personal one. Betfair will soon close your account.

    If you use betfair api for personal use, and want to build your own bots, then you can use bfexplorer bot sdk.

  • Stefan
    3.12.2017 13:48:40

    I have just added bot: “Save Market Prices to Database” to community bots. Install the latest version of bfexplorer.

    Bot save market data to MSSQL database: MarketPricesDatabase

    Download the database from this link:

    At least base knowledge of using SQL and MSSQL database is required. Have a look at View AllPriceData to learn how to query your data. Database structure is normalized to 6 tables. Bot uses stored procedures to save data to database.