User Comments

  • Stefan
    7.9.2015 13:23:01

    Miro, I believe that using common sense is in place here, as I already said, you have got bot trigger source code, so you have got “documentation” to this SaveBotData bot.

    You have got Visual Studio installed. If I publicly released this bot, I did so mainly for those who want to learn betfair bot programming, so including Bfexplorer BOT SDK and all my publicly available bots, they have got a lot of bot code to learn from and to build on this code, its own betfair bots.

    Therefore please open Visual Studio, open Bfexplorer BOT SDK solution, and open this bot source code, then you can learn how this bot saves bot’s bet position only for those bots inherited from SelectionBot.

    My common sense says to me that you should manage to do so, right? You installed Visual Studio, so you must know how to use it, otherwise, my common sense says, you did not install something you have no idea how to use it, right?

    The bot code is very simple, and you can see what method is actually used to detect when SaveBotData bot needs to save a bet position of the bot that has just ended its execution:

    (market.RunningBots :> INotifyCollectionChanged).CollectionChanged.AddHandler SaveBotDataHandler

    Ok, you will say you have got no idea about bot programming, but even you are not a software developer, I believe you are able to read some English words, right?

    market - running bots - collection changed - save bot data

    You said you use Repeat Until bot. Unfortunately, for this type of bot your SaveBotData bot will not detect that your action bot ended its execution, so will not save its bet position to CSV file.

    It seems this article is not more about bots, but more about quarrelling who is right or wrong, who has and use a common sense or not.

    Last days I visited some other forum of my competitors offering betfair automation. Frankly to say, sometimes I had no idea about what people were asking for, and I was surprised that even simple operations like closing bet position or placing bets has to be done by combinations of different rules, or settings and a lot of things could not be done at all. I was surprised by people’s understanding of those rules and features; actually no one has been complaining that something cannot be done, or the way how it is done or implemented. All users have base understanding, some way they grasped a common sense in using app features,  and I must say that those features are a lot of complicated comparing to bfexplorer ones, that is at least my opinion.

    Back to the common sense in using bfexplorer features. If you start a bot, in the Output view you can read the message: The bot XY has been started. When a bot ends its execution, in the Output view you can read the message: The bot XY ended.

    The above mentioned fact is important, mainly in the context how the SaveBotData bot works. The bot detects when a bot is removed from the market bot collection, and at the moment saves its bet position.

    The bot Repeat Until, or Chain Execution bot, execute its action bot/s internally without exposing them to bfexplorer. Bfexplorer, the Market Bots view knows only about the Repeat Until, or Chain Execution bot, but nothing about internally executed bots, and you could learn this common knowledge just by observing what bot writes to the Output view, or what bots are presented in the Market Bots view.

    Miro, so it is again just about a common sense in using bfexplorer features, some way you still did not grasp it when using bfexplorer, and in this case it is really quite simple, how the bot SaveBotData can save bet position of market running bots, if those action bots are not presented in Market Bots view?

    Please, read this:

    market - running bots - collection changed - save bot data

  • Stefan
    3.9.2015 10:08:27

    Eduardo, you use my replies to issues you do not care to investigate if they were right or wrong. If you did read articles and watch videos I replied to, you would learn that I was/am right, and all what user/Miro needed was to use a common sense to solve his issues, the issues which were not actually problems with bfexplorer features, but his wrong approach of using bfexplorer.

    Miro did not download the latest version of bfexplorer and/or custom script I built for him, I had to change bfexplorer interface to make available some new features, his custom built script could use, and without latest version of both the script and bfexplorer his bot scripts simply did not work as required.


    If you would read article comments you would had found Miro’s reply where he finally understood that he was wrong, but of course he did not apologize for what he said, but he said:

    “Is it possible create public folder with free scripts? You change some code in Bfe, old scripts dont work, and look for them in the forum is not easy...”

    Every time I updated his scripts I said to him, download scripts and install latest version of bfexplorer, I communicated with him through emails as well. He is Czech and was easier for him to communicate in his mother’s language, so we discussed bot script development not only in this forum.

    Well, yes as an excuse he created a list of custom bot scripts I built for him, I understood it and did not reply to this issue anymore.

  • Stefan
    2.9.2015 10:14:25

    On Site Map you can find Donate web page, donate at least 10 GBP and I will give you Professional subscription plan for 1 month at time you will want to use it.

    I do not think bfexplorer is complicated, you must know what you want to do, just have a look at on this video, where I show how I run my testing bot: Show Selections Trading Indicators. There is just one parameter IntervalUpdating, I set for 30 seconds, and that is all.

    The main problem is really what I said before. You must know how you want to use bfexplorer feature/s for your trading, and frankly to say I do not think you have an idea how you would use them.

    Just go to your last article Button: "Hedge the entire market". I still have no idea what you wanted to say with this article, and I asked you three times just to confirm one think: Is bfexplorer showing correct profit balance or not? This question implies answer that geektoy app does not show correct profit balance, as you compared bfexplorer to this one.

  • Stefan
    1.9.2015 17:01:11

    Eduardo, yesterday you sent me email asking me why I deleted images from your article, I replied to you that I did not delete anything, and I asked what you meant by your article, as I can read only the article title.

    Today you posted article again with your images as well. You know bfexplorer and you know geektoy app too, because you used it as etalon and compared it bfexplorer.

    I explained how bfexplorer calculates market profit balance and that to the calculation are included all open bet positions. In one of your images there are really big discrepancies, so I ask again:

    Did you make your own calculation to actually verify which profit balance is correct? Because you blame that bfexplorer shows wrong numbers, and differences are quite huge, bfexplorer shows -5.18 loss and geektoy shows only -0.93 loss.

    From what I can say reading your low resolution images is that geektoy is totally wrong, you opened bet position on 0 – 0, 0 – 1, 1 - 0 , 1 – 1, 1 – 2, and 2 – 0. On some bets your close your bet position and some bet/s were left only with back bet. The current score, as we can see it on the middle image is 2 – 0, there is lowest back/lay odds on this selection 9.4.

    Now explain me for god sake, how is it possible that geektoy shows your current bet position on this market as 0.93 loss only, when all your other bets already lost (0 – 0, 0 – 1, 1 - 0 , 1 – 1, 1 – 2) so your bet position on 2 – 0 which was in profit for 2.40 could not cover all your losses on other selections.

    I really think that bfexplorer number is correct, all what I ask you to explain what you actually meant by your artcle.

    If English is problem for you then why you do not use Spanish, but please write it in correct Spanish without misspelling, so using google/bing translator will give me meaningful translation.

    I actually do not care in what language you post here on bfexplorer forum. All I need is to get some feedback on bfexplorer features, and if there are some problems, I can solve them very quickly.

    The forum is knowledge base as well, for other bfexplorer users, so next time when some geektoy expert will use bfexplorer and will complain about the same problem, I will know if it is really some issue in bfexplorer or geektoy implementation is totally wrong.

  • Stefan
    1.9.2015 14:46:02

    Eduardo, you wrote this article and stated your problem saying that bfexplorer shows wrong profit balance number.

    So I repeat my question again: Did you actually make your math to check which results are correct, if bfexplorer shows correct number or the other app?

    I think the other app shows wrong numbers. Do you understand my question?

  • Stefan
    1.9.2015 13:13:23

    Edurado, did you actually make your math on examples you showed us in the article? I think the other app actually shows wrong market profit balance. It is hardly to see on your pictures what bets you placed and what is actually correct profit balance number.

    The profit balance number is meant to be a current profit you can close your bet position on entire market.

    For instance if you back 0 - 0 for 10 Euro at 12.5 and 1 - 0 for 10 Euro at 7.8 odds, and later if home team scores and is 1 – 0, it is clear that you lost your bet on 0 – 0, so 10 Euro loss influences outcome on other selections. Bfexplorer shows for 0 – 0 selection profit balance -9.88, well of course unrealistic outcomes but it is still valid if you would manage to close bet position on 0 – 0 by laying 0.13 Euro at 1000 odds.

    So losing 10 Euro on 0 – 0 means that you would be able to close your bet position on entire market only when sum of winners on other selections is greater than 10 Euro.

    In the above example it means that I would be in profit only when match score is still 1 - 0 and lay for 1 – 0 is lower than 3.9.

    Can others trading on football correct score market confirm that fact?

  • Stefan
    1.9.2015 12:02:51

    The difference in profit balance is because bfexplorer calculates profit balance on all open bet positions and for bet positions there is no offer on one side, it takes the opposite price to offer hedge bet.

    On bet positions with offer it takes current offered price to close bet position.
    The question is now what is better solution?

    Is the other app calculating the profit hedge position only on selections you can close? If yes and goal will be scored on selection you have no position open, then you definitely lose, and then what the other app will show as profit balance on the market?

    In correct score market you can simply hide selections without any lay offer, so showing only selections with possible outcome, to close bet position use close bet position on selection button as it is nonsense to try to close bet position on selections which are already not possible outcome of the match.

  • Stefan
    26.8.2015 15:15:44

    Ilya, betfair api subscription is generated automatically, but in your case I did not realize that after switching your subscription to Free Professional in the next activation period there will be checked if you posted at least 5 articles or forum post on bfexplorer web site, therefore you were asked to subscribe as not fulfilling these conditions.

    It is just coincidence, because when paying for Basic subscription, you still had active betfair api access from your trial period, so new subscription was not created, lesson learnt.

    I will add to the user menu the subscription status web page, so anyone would be able to check his/her subscription status.

  • Stefan
    26.8.2015 12:05:22

    Miro, I already mentioned words about using common sense when replying on your other forum post, and we can actually see it now on your video.

    Execute Trigger Bot needs to set the full path name to the bot trigger script file with parameter TriggerFilePathName. When working on your triggers and on my own ones, I was tired to copy&paste the script file name to this parameters, so I added a button (…) on the right side of the input box, when you click on this button the Open file dialog appears and you can select the script file which the Bot Trigger must to open and execute. It is definitely quicker to enter this parameter, and the last used folder is remembered as well.

    We can all see a new button in your video, but you, once learnt to copy&paste script file name you will do copy&paste, well because you are used to mechanically repeat what you saw or what you were learnt to do, and doing it without thinking.

    I added this button 3 version back maybe, so you actually worked with this for 3-5 days without noticing it.

    You know that I used to name bots so the bot name describers a bot activity, and actually explains what a bot is doing and how. For instance Place bet and close selection bet position, well I could simply name it Trading bot, right? Naming this bot Trading bot would be confusing mainly for those who just started to learn what it is trading on betfair.

    I believe that naming it Place bet and close selection bet position, is better as it exactly says what the bot does, so place bet first, and then close bet position. Well English is foreign language for me, but I hope that everyone understands what bet position means.

    I named your script file SaveBotDataBotTrigger.fs

    So what does this bot trigger do? Well, of course save bot data(s), and as I did not mention anything about when/how the bot saves “bot data”, it is at least clear that as the bot saves bot data, this bot must be executed before any other bot is started, as the bot saves bot data for bots which were executed later, and it does so by registering that bot had finished its activity, that bot was stopped, and saving its name, selection on which the bot was executed, and the bet position the bot had created.

    If the bot would save profit history on the market, then I would name such bot:



    Well BotTrigger in the name is useless, as the bot actually does not trigger any action bot, but if you have got more files in a project folder then you basically creates your naming convention for files, and this way you can differ different files in its purpose.

    In your video we can see that you executed two instance of this SaveBotDataBotTrigger bot, even if you expected that the bot save profit history data, then I do not understand why you executed/started two instances of this bot, you must clearly understand that profit history, is a market profit balance saved “history”. I think the list of profit balances saves last 60 changes of the profit balance on a market. So I would expect to start the bot only once, as the bot would save market profit history.

    In your video we can see that you installed Visual Studio on your computer, but instead of showing us your bot script file, maybe changed to suits your needs, for instance to not save bot data if bot did not create any bet position, such change requires two additional lines in your bot trigger code, you showed us csv file opened in Visual Studio, well that is frecking unbelievable.

    So you installed Visual Studio, but you did not open Bfexplorer BOT SDK projects, and you did not create a project for your bot scripts, then my question is why you actually installed VS, very huge application installation which took you maybe more than 3 hours to install, but you actually do not know how to use VS for bot development.

    This is really quite strange, but you have got the bot source code, so you have got “documentation”, what the bot does and how, but you were not interested to learn what the bot does, by opening the bot source code in the Visual Studio.

    I would really suggest you to not doing something what it beyond your possibilities, make all your effort to study market prices development on many betfair sports events, then do manual trading and then find possibilities for bot automation, but not by bot triggers development for what you need at least basic understanding of for you are doing.

  • Stefan
    25.8.2015 14:19:14

    I have just updated bfexplorer adding StakeType parameter for Scratch Trading bot.

  • Stefan
    24.8.2015 21:01:26

    What you want is not desirable feature as the feedback from price movement is actually required feature for a trading ladder.

    Miro was asking for different kind of ladder, showing just prices from his defined price range, that is not possible to implement right now, but made some experiment with bfexplorer spreadsheet. You can read and watch a video in this article: My New trading grid

  New trading grid

  • Stefan
    24.8.2015 20:36:16

    The ladder is automatically centered if last traded price is out of visible odds/price range on the ladder. You can test it just by scrolling ladder up or down.

    It is not centered constantly, but you can do so by pressing shortcut (spacebar) or just by clicking on center toolbar button, this way you can see price trend development, as initially any market selection is centered in the ladder.

  • Stefan
    24.8.2015 20:22:41

    Yes Miro I can prepare something, but I think you actually do not know how you will analyze data. From what you said, you want to save market profit value, well ok but how you want to analyze such data?

    I think you should first read some papers about analyzing data. You will not get any relevant information from just one value.

    For instance have a look at on my article: Betfair Tennis Trading and Data Visualization

  • Stefan
    23.8.2015 20:33:20

    You can save any market data you see in bfexplorer, all those data are available for bot developer, so it is up to you what you save and how.

    In the latest version of bfexplorer I added new method to IBotTrigger interface, EndExecution. So if you implement your bot trigger to listen for bot notifications, you should clean up when bot trigger stops its execution, in the EndExecution method.

  • Stefan
    23.8.2015 20:25:22

    After updating to Windows 10, the mouse capturing seems to not working when making my video screencasts. I will try to fix it in new videos.

    I have fixed StakeType issue when using Use Ladder feature, update bfexplorer and your bot triggers as well.

  • Stefan
    23.8.2015 13:37:41

    You can test it in the latest version of bfexplorer.

  • Stefan
    19.8.2015 9:52:33

    That is the problem with saved old workspace, new things are simply hidden. Delete old workspaces (select one and delete), and restart bfexplorer, recreate workspaces. I will have to analyze this issue, and save only size and view layouts maybe.

    You can delete workspaces by deleting files in AppData Roaming folder as well. In my pc and Štefan account such data are in the folder:



    Delete all files with extension .workspace and .workspaceSettings

  • Stefan
    17.8.2015 11:53:57

    My friend who is a software developer as well, we worked together 15 years ago in one company, knows that I develop software for sport exchanges so he sends me from time to time, links to projects on freelancer web sites, I could participate too.

    I did tried to do so twice but without luck of getting some project, it seems I am not qualified to do any work for such projects, and so those projects are publicly available without registering on such freelancer web sites, you can browse betfair projects there and takes some ideas, if there is any value there.

    I put this project here as I did not know the before, and I already have done something for parsing data from, so I will maybe try to do so with this one later when having more time.


    Miro, the project specification is actually understandable. He is wrong in how to convert from fractional odds to fixed odds, and for score calculation I would use percentage values.

  • Stefan
    16.8.2015 13:16:29

    I have just added the betfair event web page link to Bet Event and Bet Event Trader view. For now I indentified that football, tennis and cricket sport events are offered with event web page, basically those are sports betfair covers with live score as well.

    For the rest of events the market web page is showed on betfair. If you bet or trade on other sports just let me know, if such sport event is offered with an event page as well.

  • Stefan
    16.8.2015 10:48:34

    Hamid, I think you already noticed that I do updates to bfexplorer, so at the moment I replied to this article, you can read my comment above from 8/14/2015 1:36:18 PM, I already updated the feature you were talking about, changing tooltip (you call that “bubble”) bot description to the panel description.


    Such type of updates can be done in minutes, just by changing one property in UI control and rebuilding and publishing project, what took me around 20 minutes. I always report such updates to Bfexplorer Latest Release.