Betfair Bot Programming for Beginners

What is the best way for programming betfair strategy?

Well, I think it is possibility of interaction with the real data, and quick feedback you can get from debugging your code and from errors reported by your integrated development environment (IDE).

What are common IDEs used by betfair bot developers?

Most of betfair trading applications offer Excel integration as the only means for strategy development. Other betfair apps offer prebuilt strategies where “bot programming: is done by setting parameters, rules or triggers. This approach is very limited because you can make only what is offered by set of parameters or rules, nothing more.

In my two short videos I present what bfexplorer can offer by using Visual Code, or Visual Studio IDEs when developing bot trigger code.

Not all betfair users are developers knowing programming languages therefore support from IDE is very helpful. Whenever you type anything wrong you are informed about problems and/or errors. Whenever you declare new value it is offered a set of properties or methods you can use on this value (object).

This feature is very important because you do not have to read bot sdk documentation or know anything about betfair bot programming. You simply write market and . and IDE will automatically browse market properties and methods (IntelliSense support).

In my test, I first executed console script that make my testing/debugging of the trigger bot code very easy, it allowed me to wire my bot trigger code to currently open market in bfexplorer.


Now changing my code in Visual Code I wrote a new one, instead of writing “Hello World!” text as the result of bot trigger execution, I wanted to show all selection names with their last price traded and total matched volume per selection.


So changing the code, IDE helped me to write it to be without any errors even before actually trying to execute my code.  

When IDE shows no problems or errors, I saved the bot trigger code and was able to test it immediately in bfexplorer by clicking on Execute toolbar button in Bfexplorer Console. The result of bot trigger execution was reported in Output view.

In my second video I showed the same bot trigger code edited in Visual Studio. We can see that IntelliSense support is better in Visual Studio, but it is your choice which IDE you will use, both IDE are free and of course you can use other IDEs, for instance Atom IDE with F# support of course, it must be added to Visual Code as well. F# support is automatically added when installing Visual Studio.  

Comments ( 3 )

  • FlyingFish
    22.5.2020 16:18:02

    - Downloaded the fsx files from github

    - unblock both files in the properties

    - Changed the file directories to the correct ones in my computer

    - commented the line "// let bfexplorer : IBfexplorerConsole = nil" 

    but when executing the MyBotTriggerExecutor.fsx in the bfExplorer console no output is printed.

    Any ideia what might be wrong?

  • Stefan
    22.5.2020 16:31:16

    Yes, I see that now.

    You have done everything fine. I hope you actually understand what you were doing. The MyBotTriggerExecutor.fsx script is used to execute MyBotTrigger.fsx bot trigger (so bot trigger code) on the currently open market selection.

    It is the way how to force “hot reloading” of code on which you are currently working in your IDE, because when you execute such bot trigger using “Execute Trigger Bot” your trigger bot is compiled to assembly, and any changes in the code are not reflected to bot assembly recompilation.

    I will check what you try to do on the client installation of bfexplorer on my test computer.

    After watching your video, I would suggest adding your favorite events, it seems to be Soccer/Football match odds, and as well to set app layout.

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