User Comments

  • Stefan
    25.9.2019 17:12:48

    In my example I mentioned “Place Bet” or “Place Bet and Close Selection Bet Position” bot strategies, so if you set trigger criteria for one of these bots, it is clear the bot is executed / triggered.

    There are other bots in bfexplorer arsenal that actually do not place bets, but execute other bots, so in your case you can use bot named: “Execute Bots” and set your criteria for this bot, when criteria are met, this bot executes other bot (bots) set by the parameter: BotNames.

    What does it mean?

    Your “Execute Bots” can evaluate different criteria for different selection, and execute another bot that can be executed on the other selection, depending on how you set parameter s and criteria for this action bot.

    Of course all these preprogrammed bot strategies can do what they were programmed for and what set of parameters these bots offer.

    When your strategy needs more, other betfair apps offer Excel scripting, so you must program VBA code to do what you need. In your example you would have to program in Excel VBA, conversion of market name in win horse racing markets, to race distance, and make your trigger work by evaluating race distance to allowed race distances.

    Bfexplorer offers trigger programming, so such short code is then executed by bot named: “Execute Trigger Bot”.

    On the forum you can find a lot of such examples: trigger

  • Stefan
    25.9.2019 10:07:11

    You can execute whatever strategy you want, by other words, actually by your words you could understand:

    A trigger is set of conditions (formulas) which all must be fulfilled the trigger to be activated, fired.

    By my words, so words any software developer could understand:

    A trigger is function returning boolean value, if returned value is true, another action is executed:

    If trigger() then action()
  • Stefan
    25.9.2019 9:27:32

    For your Trigger 2:

    Depending on whether you want to place a bet or trade on specific horse, you can use bot strategy: “Place Bet” or “Place Bet and Close Selection Bet Position” (that is trading bot strategy).

    You set SortSelectionBy Last Price Traded, ExecuteOnSelection to 1, EvaluateEntryCriteriaOnlyOnce set to True (checked), and in Entry Criteria tab you add criteria LastPriceTraded is between 1.5 and 2.0

    Your Trigger 1 can be done by filtering markets in Event Browser and executing your strategy only on selected markets using Bot Executor.

    If you want to fully automate Trigger 1 as well, then you must realize where information about race distance is. It is in market name and is coded in miles and furlongs for GB, US and IE, and meters for the rest of countries, so 6f, 7f, 1m, 1000m and so on.

    It means that you need to transform text of race distance to meters. You did so in custom build triggers like you can see in attached videos.

    When I first executed my strategy on 6f race, and MinimumRaceDistance was set to 1760 meters, the bot did not executed my action bot “Trade 3 ticks”, as race distance did not fulfill set criteria, when I change that to 1000 meters, and top tipster’s selection fulfilled another criteria so Confidence at least 40, the bot strategy chosen nomited horse Holloa and executed trading strategy on this horse.  

    I make simple triggers for free only to my subscribers.

  • Stefan
    22.9.2019 10:43:51

    All live score apps work in bfexplorer.

    I just wonder what your posts are about. Because you must understand that software is not mechanical thing, it cannot wear out, so if worked before it must work. Only input values could change or services could be down.

    All live score data used by betfair are provided by third parties as well, so if score does not work, you must blame data provider not my app or betfair. Do we understand each other?

  • Stefan
    14.9.2019 11:44:22

    If you strategy requires executing only when previous result is known then you can use the bot strategy called: Execute Till Target Profit

    Please read this post: “Closing down trading after reaching a predefined profit” where the bot “Execute Till Target Profit” is used as well.

    The bet result checking mechanism can be used even in strategies requiring a result, so who won or lost, even when a bet was not placed in the market, similar like in this request: “Some Lay Strategy”, but in this case it is necessary to build custom bot trigger script, for instance like here:


    For my subscribers I build custom strategy triggers for free if such work requires no more than 2 hours of my work.

    Bfexplorer BOT SDK is free for my subscribers as well:

  • Stefan
    6.9.2019 14:10:13

    There is no need to program anything, and I actually really wonder why you think you need to have programming skills to execute such strategy with bfexplorer.

    To automate your betting or trading strategy you need to use a bot strategy, in this it is named / called:

    “Close Selection Bet Position”

    You need to set the parameter ProfitLossType to Percentage, and set your Profit and/or Loss target (set Loss to 0, if you do not want to close your bet position/ hedge it in loss)

    Now you can execute your bot strategy on all selections on which you placed your bets. Or you can use the bot:  “Execute on Selections”, to execute your “Close Selection Bet Position” on all selections.

  • Stefan
    5.9.2019 12:12:24

    May I ask you what you actually mean?

    I have just made above video showing that all works for me.

  • Stefan
    2.9.2019 10:00:52

    In the application status bar, so in the bottom of the application window, on the right side there is reload button and as well amount showing your available balance to bet. Whenever you click on this button, your balance is reloaded.

  • Stefan
    24.8.2019 9:17:15

    I do not think Bet Angel can execute your fourth strategy:

    Championship: Back Underdog when odds are 3.0 - 3.5

    Because similar like my “Place Bet” bot, when you sort selections, all selections are included. So to get underdog, the naïve approach is to sort selections by Last Traded Price, and the second item in sorted list is underdog, but as all selections are taken, The Draw selection could be second one as well, therefore you need custom script like I did here:


    I would suggest you to post your request to market feeder as well. They have similar policy like me, for subscribers they build one simple trigger for free, otherwise you must pay for it.

    I have some case studies for market feeder as well:

    And bfexplorer could execute any strategy market feeder users have problems with.

    I just wonder if market feeder can manage to execute your strategy simpler way. Your automation script for skilled developer is no problem at all, using Bfexplorer BOT SDK.

    Just for inspiration, your FootballExecuteOnUnderdogBotTrigger.fsx uses: ExecuteActionBotOnSelection to execute your preset strategy, entered by BotName parameter on selection the bot trigger script evaluate.

    As you can setup all your strategies by “Place Bet” bot, your strategy requires choosing exact named bot strategy for exact league.

    The league is stored in the property of BetEvent object:


    You can get it from Market object. So five lines of code in F# (have a look at match keyword) will give you the name of strategy that should be executed, and in your bot trigger code such bot strategy can be executed by:

    TriggerResult.ExecuteMyActionBotOnSelectionWithParametersAndContinueToExecute (botName, mySelection, None, false)


  • Stefan
    19.8.2019 10:15:59

    It is good you posted your request to betangel forum. We will see what solution will be offered:

    Automation : Football Pre-Game Strategy

  • Stefan
    18.8.2019 14:15:41

    Nick, what you do is expert level for betfair trader, and common users can use just built-in bots and set automation/so create their betting or trading strategies just by setting bot parameters, so without programming.

    You are maybe that Nick, who used bfexplorer back in 2007 when I started developing bfexplorer. A lot of changed from that time, a lot of apps had ended and new one comes, and I believe you used most of betfair apps on the market up to now.

    Even those apps, which are labeled user friendly for automation, are actually not so user friendly when specific task must be executed, so not just task prebuilt in rules settings dialogs like market feeder or betangel use, and forums of these betfair apps just confirm what I say because it is full of simple questions users asked, well at least from my point of view: Study   

    Very good example is this one:

    Because it shows how bfexplorer app manages strategy automation by comparing to other betfair apps, for which BDP team from Australia made tutorials:

    And my tutorial:  

    Actually, your request for strategy automation is similar to one presented by BDP Australia. You have got ML model that generates those coefficients for your prefer football leagues, maybe similar like FiveThirtyEight

    And you need to automate your betting strategy, so by league you run preset strategy when your coefficient met set criteria.

    This automation task has again nothing with betfair, it is just programming task to conduct result of one app as the input to the other app, and it is task for software developer or just skilled user.

    You must realize what you want to do and how, and to understand that you must learn by doing.

    Just a hint from my understanding of your strategy automation, build your custom bot to do really just specific task, so:

    Load you data, and tagged them by league name.

    Your custom build trigger will identify league of the match/market.

    From league name you find your coefficient and evaluate it whether is in allowed range. If it is in allowed range, you execute preset league strategy, created from pre built bfexplorer bots.

    This way you will get bot trigger which will do just this specific task, the rest is done by bfexplorer bots, so this way you can simply switch from just placing a bet, like you do with “Place Bet” bot strategy settings to trading strategy when you like, using “Place Bet and Close Selection Bet Position” bot settings.

  • Stefan
    18.8.2019 11:25:14

    Nick, I hope you will finally manage to do it, as frankly to say what you ask is just common work of software developer, when he uses external libraries/assemblies and build a new one that will be used by hosting application. The hosting application is in this case the bfexplorer app.

    ** Some words for non programmer/software developers.

    What is IDE? Basically it is editor allowing to write code and build that code to (executable) assembly to run it and debug. IDE – Integrated Development Environment like Visual Studio, or Visual Code, both from Microsoft, available for free in Visual Studio Community version.

    So you managed to build the bot trigger assembly, if you want to execute and debug this assembly then it must be loaded by hosting application and its infrastructure, so the simplest way is to set Build Output path of your bot assembly to:

    C:\Program Files (x86)\BeloSoft\Bfexplorer

    Yes, to the folder where bfexplorer app is installed to. As this is the application folder, a common windows user has no writable access to. You must run your IDE as administrator.

    How your code, so your bot trigger assembly can be executed in the first, and how the assembly can be loaded to the bfexplorer app domain, so you would be able to debug your bot code?

    Your bot trigger assembly is .dll file, so file that cannot be executed directly. To execute it/load it to bfexplorer app domain, you simply switch Debug Start Action to Start external program:

    C:\Program Files (x86)\BeloSoft\Bfexplorer\Bfexplorer.exe

    Nick, what I have wrote up to now is just common way of doing work, when you need to execute and debug assembly with hosting application, so it is not specific task just for Bfexplorer BOT SDK. If you are software developer you may have done that many times.

    ** The following task is specific for bfexplorer app.

    Ok, we have got bot trigger assembly and we were able to run bfexplorer app from our IDE. In my post about Bfexplorer BOT SDK, you could read how to set Debug \ Start Options \ Command line arguments, so when executing bfexplorer from IDE it automatically logins to betfair and switch Practice Mode on, of course when debugging bot we do not want to place real bets on betfair, right?

    Bfexplorer app does not know anything about your bot trigger assembly for now, simply because it was not yet loaded to app domain. It is quite different with bot assemblies, like this one:

    Where all bots declared by this bot assembly:

    Are loaded by bfexplorer automatically, all what such bot assembly must fulfill is implement IBotCreator interface, and the name of assembly must end with .Bot

    Your bot assembly is compiled bot trigger, so bfexplorer app loads such trigger using "Execute Trigger Bot", and I actually showed that in my video above. In this case you do not use bot trigger code, so .fsx file, but compiled .dll assembly file, so just swith to .dll and browse your file in:

    C:\Program Files (x86)\BeloSoft\Bfexplorer

    When setting the bot parameter: TriggerFilePtahName

    More information about Bfexplorer BOT SDK can be found in my post on forum, just search: SDK

    SDK means Software Development Kit.

  • Stefan
    17.8.2019 11:13:28

    Ok, such use case scenario can be automated. Custom built bot can read csv file and use this data as trigger value for bet placement triggering.  What you already have set with Place Bet bot setting, so those four bot strategy settings, will be used by your custom trigger bot. If you are used to bet/trade on those 4 top leagues only, the bot can do as well market filtering, so your strategy can really run fully automated.

    In my video you could see that in My Favourite Events, I have got: Football - Top Leagues

    You maybe create such favourite event, if not here are parameters:

    Name: Football - Top Leagues

    Event type: Soccer

    Market types: MATCH_ODDS

    With text: "English Premier League" OR "Ligue 1" OR "Bundesliga 1" OR "La Liga" OR "Serie A"

    Country/s: GB;FR;ES;IT;DE

    Then when you click on, in the Event Browser are loaded all Match Odds markets (matches) for top European leagues.

    ** Bot programming

    So this F# script code was good test for you that you are not able to program. Couple hints:

    It is F# script file, and as script file can be execute directly in IDE, it contains all information needed to link all required references, so IDE can build executable code from it.

    Google F# script, and derictives: #I, #r

    Actually I left there: //(* and //*)

    So when you uncomment




    Then when you rename file from .fsx to .fs you will get F# source code file you can add to F# .net project, add references from (#I) folder, refrences are those 4 assemblies (files) in #r directives, and you are done. Click build and you will get bot assembly “Execute Trigger Bot”   can use directly. Your project must be built for .net 4.7.2

    Just try your skills, if you manage that, then using Bfexplorer BOT SDK you can build your custom bot yourself.

  • Stefan
    16.8.2019 14:50:52

    I have prepared bot trigger script that can be used to execute your underdog strategy.

    You can use this script to evaluate your programming skills:


    Any script executed by bfexplorer is first compiled to .net assembly, and then is loaded to app domain,  you can see it in my video that this process takes up to 20 seconds, therefore it is better to use bot assembly directly than bot script, so if you manage to build from this script, the .net assembly, then you can do your automation bot as well.

  • Stefan
    16.8.2019 13:44:36

    First, you need to declare from where you will take your value per league, because you say:

    “Let's say I have an arbitrary constant value that I set for each league.”

    So the wording “I set”, suggest that your process of getting this value is not fully automated, you set it yourself.

    It is not taken from your ML model for instance, or from other application, or downloaded from some api.

    If you set this value manually, then your betting process is not fully automated, and it does not make sense to automate such process.

  • Stefan
    15.8.2019 9:21:36

    Yes, custom built bot can read value from any available resource.

    Have a look at here:

    Where bots reads additional information from this web site:

    You can create such bot trigger yourself if you are able to program. Here are some examples of bot script code:

    You have to familiarize yourself with Bfexplorer BOT SDK

    Of course if you cannot do so, then for my subscribers I offer free service for simple bot scripts (that require up to 1 hour of my time). Unfortunately I do not think in your case I can manage developing such bot script in 1 hour.

  • Stefan
    14.8.2019 18:11:01

    Keep in mind that locale setting on my computer is not GB, so floating point values in my country are with comma: 1,5 in GB you must type 1.5, mainly when you enter parameter values in Entry Criteria, as here it is just text value.

    In bot setting where numbers are expected the comma or dot is entered automatically.  

  • Stefan
    14.8.2019 18:02:25

    For all your football strategies you can use Place Bet bot, the main settings you need to set are:

    BetType: Back, MinimumOdds and MaximumOdds, SortSelectionBy (depending on used strategy: Do Not Sort or Last Price Traded), EvaluateEntryCriteriaOnlyOnce, and of course Entry Criteria: LastPriceTraded is between x and y.

    What is really critical for all your strategies is this Entry Criteria, and EvaluateEntryCriteriaOnlyOnce set to True (checked).

    If you set this parameters, then at the moment of bot/strategy execution on evaluated selection are checked Entry Criteria, only once, and if this criteria are not valid, your bot will not continue its execution so no bet will be placed.

    What would happen if you would forgot to enter those two parameters?

    Well, the bot would be executed on the market and as you set MinimumOdds and MaximumOdds as well, the bet is placed only when odds would become valid for evaluated selection.

    Your last strategy is a little bit tricky, well for testing you can try with similar settings like I created for La Liga, and set the parameter: ExecuteOnSelection to 2, but these settings does not guarantee evaluation of home or away teams only as underdog when sorting selections by Last Price Traded can be The Draw selection.

    I can create trigger script to execute this type of strategy.

    Before using your bot/strategy settings, test them on different markets, to confirm that back bet is placed only when all criteria are met and on the correct selection/team.

    Then you can use Strategy / Bot Executor tool, and execute your strategies on different leagues. I showed that in my video tutorial, but have a look at as well on how to use Event Browser tool.

    When you run your strategies in Bot Executor, markets are automatically loaded and open at set time, you do have to leave them open in Bet Event, so click on Open Markets and close all of them.

  • Stefan
    8.8.2019 13:15:30

    BDP team from Australia made great work and added my bfexplorer app to list of third party tools suitable for running fully automated strategies on betfair exchange:

    Just to add to the list of mentioned features, web browser view is not just browsing my web site.

    The web browser inside the app allows integration of any web site offering additional data for trading, or just data visualization, please have a look at here:

    Analyzing betfair data to trigger trading on horse racing markets.

    So how does it work?

    As web browser is integrated in bfexplorer app, web browser “knows” which market you have got open in Bet Event view, and which selection is active.

    Then there is simply rule for parameter naming, read article above:

    {eventId} {marketId} {nMarketId} {selectionId}

    So if you have got web site which offers data to betfair market ids directly then you can simply replace that parameters in url. Your web site works with betfair ids directly, and in fact you offer additional information for bettors or traders, so you could as well create such easy accessible web page, and bfexplorer user could have such information in one click.

    Another way of using this browser is with bot sdk code, for web site where there is no direct betfair ids information on web site, so only one way to automate web page from third party provider is to make short program to “translate” available information to exact web page url, I did so for instance for sofascore that brings additional statistics and live stream through bet365 for tennis matches (of course you must have account with bet365 to watch live tv stream).

    Betfair Tennis Trading Automation