User Comments

  • Stefan
    4.4.2018 10:21:10

    If you have no software for making screen recording, then please install ShareX:

    Make a short video showing how you set you bot and post it on youtube, so I can see what you actually do when setting up your bots.

    You must setup one “Execute On Associated Market” bot per each MarketName, if this bot would supported execution of BotName on many associated markets then parameter name would be plural MarketNames, and not singular: MarketName,  do not you think so?

    You can execute more bots by bot named: “Execute Bots”, where in the parameter: BotNames, you can see plural, so suggesting that you can enter more than one bot.

  • Stefan
    26.3.2018 21:45:09

    What do you mean “by your bots”? Did I make you some custom built bot? If yes, then I should have rebuild bot assembly, contact me by email. If not then just recreate your bot settings, it could happen that version of bot settings data serialization changes, so it fails loading old version of data.

  • Stefan
    26.3.2018 18:24:36

    I added "Execute At Time" bot.

  • Stefan
    25.3.2018 16:46:42

    "Cancel Bots On Selection" bot stops its execution immediately, so adding "Stop At Time" does not make a sense. In your case you trigger this bot using “Football bot”, so what is actually important is time of execution.

  • Stefan
    23.3.2018 16:13:58

    Have a look at “Fill or Kill” bot parameter named: Odds. Read what description for this parameter says: “The odds you want to place your bet at. Set to 0 if you want to offer your bet at best offered odds.”

    What does it mean?

    Bot either places a bet at required odds, or offers bet. If there is no offer on back side and you asked to place Lay bet, then bot will waits till some offer appears because bot does not know at what odds you want to place a bet.

    Just to test bot functionality set your bot to place lay bet at 1.01 odds, and you will see that all works fine.

  • Stefan
    22.3.2018 21:03:55

    Of course I tested it.

    You can open two instances of bfexplorer and do the same what you do with geeks toy.

    Actually if you open the market in bfexplorer and market is active then you will see bets even in one running instance of bfexplorer, because active market is updated immediately after you switch it to be active one.

    On markets with small liquidity and on markets where market data are not updated so frequently your bot can be executed with very big update time interval when market is in passive mode, because market data are updated really only when there some changes, this is the behavior of streaming api technology.

    If you switch to normal mode, then passive mode updates, and so bots execution is really executed each time set by update time interval for passive markets.

    Switch bfexplorer to streaming api, open market and watch for changes, on markets with small liquidity you can simply see that market shows no changes for minutes!

    So if you operate on markets with small liquidity then use normal mode, not streaming, but then you are limited to number of open markets you can monitor simultaneously.

    I hope you are able to use your common sense in this case.

  • Stefan
    22.3.2018 17:02:42

    Please make short video showing your problems, because what you say make no sense for me.

    When bet/s is/are placed on betfair market, the same way like market data are updated, bets are updated as well, I mean loaded to app model.

    So if you see bets on ladder, they are correctly loaded to market data, My Bets view is just other visual representation of your bets, like on ladders is another visual representation of the same market bets.

  • Stefan
    22.3.2018 11:50:05

    The “Fill or Kill” bot works fine, and it does not matter by which trigger bot it was executed.

    I already mentioned how a bot is executed on betfair markets, but it seems you do not understand it. Bot is a program/code but its execution time is limited to time when market data are updated only.

    Bfexplorer offers two types of market data updating, using streaming technology or simply calling api method for updated market/s at preset time interval, keep in mind that there are two update intervals, for active and for passive markets.

    When using streaming api to update market data, the data are really updated only when changes are detected on betfair servers, so it means even if you set your update interval for passive market to 10 seconds, you will not get updated data if no updates are made in 10 seconds interval on betfair servers.

    In such cases, betfair streaming api offers “heartbeat” so each 60 seconds there is triggered update procedure, so chance to execute a bot as well, but I implemented it only for monitoring active market, for passive markets bot is really executed only when there are detected changes on the market/s.

  • 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.”