User Comments

  • Stefan
    12.4.2016 10:14:44

    Yes, that is correct.

  • Stefan
    11.4.2016 21:42:46

    I have just released the latest version of bfexplorer adding PointsScore and PlayerServingIndex parameters to Tennis Bot.

    Do you know that you can add multi value for all score parameters? For instance PointsScore: 0 - 30;15 - 30

  • Stefan
    11.4.2016 18:47:39

    The best way to test any staking plan bot is to execute your strategy on greyhounds markets. A new race is started every 20 minutes or so.

    If you want to see bets placed by bot in Bot Executor, just double clicking on the market will open it to Bet Event view, so you can see your bets, and at what market state your bot finished on the market, if you had set StopMarketMonitoring parameter, the market will be set to Inactive so prices will not be updated.

  • Stefan
    11.4.2016 11:55:07

    That means that you are applying a staking plan to your betting, it means that you must use the “Execute Till Target Profit” bot to execute your tennis bot.

    On the other hand this staking strategy plan requires execution of matches step by step only. A new bet is placed (bot executed) only after previous bet result is known.

    If you bet or trade at the same time on many markets, then you can monitor your bet position on these markets by My Bet Position tool/view, and you can close bet position on all markets when necessary.

  • Stefan
    11.4.2016 11:29:01

    This seems to be a very good idea, so I will develop a bot in following days. Save the spreadsheet without text player’s names and scores, so it can be used as template and post it to me by email.

  • Stefan
    10.4.2016 19:05:29

    It would be better if you prepare general formula to calculate number of breaks, or better to say difference in breaks. Anytime this number changes it is either a newer player break, or re-break, right?

  • Stefan
    10.4.2016 15:04:47

    I will change the parameter MaximumOddsDifference description to:

    “The maximum odds difference (between best offer lay odds and best offered back odds, in ticks) to place your bet.”

    There are more services for market data monitoring: “Open Markets” service, “Bot Executor” service, and “Bot Executor for Selections” service.

    For security reasons it is not possible to monitor the same market in different services, only in one of them. Therefore double-clicking on a market in the “Bot Executor” view, will remove the market from the monitoring queue of the “Bot Executor” service, and the market is reopened in the “Open Markets” service.

    If there is set Monitored flag set, then “Bot Executor” started the market monitoring, and similar if flags “Matched Bets” or “Unmatched Bets” is set, you can be sure that bot placed bets. “Profit Balance” is recalculated if there are matched bets on the market, in some cases bot can place a bet, and as the following refresh by default occurs in 1 second, the market can be suspended, so profit is not recalculated. In the Profit column you will see a number after a market is closed, and your strategy uses some kind of staking plan bot.

    I have got scripts, you can run to recalculate Profit for closed markets from “Open Markets” service.

    “Bot Executor” executor monitors markets only when bot/s is/are running on the market. Immediately after bot ends its execution and StopMarketMonitoring parameter is set, the market is reopen to “Open Markets” service.

    Frankly to say all that could be learnt just watching how “Bot Executor” works. I already mentioned the importance of bot testing in the practice mode, and with manual execution. This way you can test any bot parameter behavior.

  • Stefan
    10.4.2016 13:00:46

    You can use Entry Criteria for both bots in your bot solution, if that makes sense. I think what you need is to set Entry Criteria only for your staking plan bot. If you do so then set correctly ExecuteOnSelection parameter, because that parameter will define which selection values you can and to Entry Criteria.

    When you select any bot parameter, a description is displayed as well, for the parameter: MaximumOddsDifference, you can read the following description: The minimum odds difference to place your bet.

    How can be calculated odds difference?

  • Stefan
    10.4.2016 2:14:49

    Please read the following article:

    Case Study 13 - Loading up markets each day automatically


    I do not understand the following ..

    "but having a bid/offer column would mean I could see at an instance what the price is. Clicking through hundreds of matches would be laborious and time-consuming..."

    Why you should click through through hundreds of matches?

  • Stefan
    9.4.2016 16:26:15

    Maybe I should rephrase my sentence:

    “Unfortunately, it seems that checking market status is time limited, after couple hours betfair does not return any results.”


    “After a betfair market is closed, the market data (retrievable through betfair api) are valid limited time only. “

    So your problem could be linked to this fact, your staking plan bot, had been trying to load market status, but as the market data were not valid anymore, the market was left in block array, and if there is no block available for a bet allocation, your staking plan bot stops placing bets.

    I tested this fact today morning, having a market which was closed couple days ago, and the market closed today around 5 hours ago.

    For the first market betfair api returns no data, for the second one I can still retrieve valid market data, the information about won and lost selections your staking plan bot needs.

    So my question is what was the time from the last bot execution, till the next bot execution time?


    You do not have to check validity of markets manually. If you set market Entry Criteria, and the parameter: EvaluateEntryCriteriaOnlyOnce either for your staking plan bot or for your action bot then first time when the bot evaluates these criteria, are they are not met, the market is removed, so your strategy will not be executed on such market.

    When executing your bot automatically using “Bot Executor” just uncheck “Open only selected” option, so all markets will be loaded, markets for couple days maybe, this is actually important to the fact we discussed above, not having to big time span between next iteration of your staking plan bot.

    In the “Bot Executor” view, you can show hidden columns “Matched Bets” and “Unmatched Bets”, and close/hide columns “In-play”, “Profit Balance”. You are from Australia, so these markets are not turned at in-play for you.

    If the column Monitored is checked, you know that for this market was executed your bot, and if “Matched Bets” and “Unmatched Bets” are checked then you definitely know that bets were placed on this market.

    Selecting the market and double clicking on it, will open the market to “Bet Event” view, so you can check market data, and bets placed on this market.

    “Bot Executor” stops market monitoring automatically when there is no running bot on the monitored market.

    If you set your action bot parameter StopMarketMonitoring to True (checked), then “Bot Executor” will reopen such market to “Bet Event” view, so you can check what bet was placed and what are current market prices.

  • Stefan
    9.4.2016 14:53:46

    I know that my English is very poor, so please read the following text and let me know if that make sense:

    “Unfortunately, it seems that checking market status is time limited, after couple hours betfair does not return any results.”

    Yes, your staking bot automatically checks the status of previous markets, when your bot executes on a new market.

  • Stefan
    9.4.2016 12:46:19

    Yes, that is the betfair api behavior, the serving flag is not changed immediately after ending game. If you want to proceed with players break identification, then you should suggest how to calculate correct break numbers judged from games score in a set.

    Unfortunately, it seems that betfair api is/was not designed by developers who make data model and set of api methods the way, we betfair applications developers would need and use.

  • Stefan
    9.4.2016 12:39:31

    I think I identified potential problem with your staking plan bot. The bot checks if previous markets are already settled, by calling betfair api method on the market. If the market is closed it means that all bets were settled and is known winning selection. Unfortunately, it seems that checking market status is time limited, after couple hours betfair does not return any results.

    I will prepare a script you will execute manually at the end of the betting session to check market status for remaining markets.

  • Stefan
    9.4.2016 11:31:12


    No, you do not have to delete/remove your bot setting from My Bots to Execute. Actually it is not a bot instance in “My Bots to Execute” panel/view, but as I said just bot parameter settings. When you click on Execute toolbar button, or bot is executed by “Bot Executor”, then a new bot instance is created and bot settings are set to this bot instance, so bot will behave according to the bot settings.

    Your custom bot creates internally a market block array which contains all markets your staking plan executing your bets on. For now the only way how to reset your staking plan strategy is to restart bfexplorer.


    There is no need to set any time for an action bot, nor your staking plan bot, as the staking plan bot is automatically executed by “Bot Executor” at set time. Of course when you execute your staking plan manually, and you want your action bot to be executed at set time, then you need to set ExecuteOnTime parameter.


    “Open Markets” view shows all open markets, you open with some intention, right? So when you do not need a market to be monitored anymore you simply close it from “Bet Event” view, or from “Bet Event Trader” view depending of which view you prefer.

    Why you can close a market from “Bet Event/Bet Event Trader” view? Well, because as I said you open your market with some intention: to place a bet or to trade when some conditions are met, to make some research, monitoring market prices movements, and so on.

    So decision to close a market depends on basically on market prices, and that could be seen in “Bet Event/Bet Event Trader” view only.

    Of course, “Open Markets” view offers its own features as well, you can filter, sort, or group markets, and you can switch “Open Markets” view to card view interface where you can see all market selections prices and place bets without switching to “Bet Event/Bet Event Trader” view.

    Bfexplorer Console offers script execution tool, which can be used to close all markets as well.

    Just type:


    and click on Execute toolbar button in the Bfexplorer Console view.

    Read about Bfexplorer Console, and if you have got some idea for useful script then post it here on forum.

  • Stefan
    8.4.2016 17:09:01

    Your bot strategy consists from two bots:

    “Execute Block Staking Plan” what is custom bot I built for you implementing your staking plan.

    The action bot you enter to your staking plan bot, setting the parameter BotName.

    This bot implementation of yours actually allows using any bfexplorer bot to place your bets. In your specification you wanted to place a bet, but this way can actually use a trading bot as well, if that makes sense to use in your staking strategy.

    Because you will run your strategy automatically on all football markets of your choice utilizing Bot Executor tool, it is a good practice to test your action bot behavior first manually executing it on selected market in Bet Event view, so you will see how your action will work.

    If you set Entry Criteria or allowed odds range, or any other parameter influencing your action bot behavior, then you should test the action bot on martket selections which fulfils such criteria, and also on market selections on which your action bot should not place a bet, just to check if everything works as you intended.

  • Stefan
    8.4.2016 16:49:08

    I think in any betfair strategy first you need to fully understand what a profitable factor in your strategy is, and how to avoid big loses.

    Keep in mind that trading in practice mode can show totally different results than trading for real money, as any entered position will have some influence on trading market.

    I think you test your strategies sitting to your computer and running them in Bet Event Trader, so you can actually see how your bots open bet positions and what is the current profit on the market (min/max profit level).

    For me, in first stages of bot strategy testing is actually not important the maximal amount of profit, but always only if a strategy can generate any profit, even 0.1 Euro profit is good.

  • Stefan
    8.4.2016 16:33:04

    Anytime you install new software application/program to your computer you do so with some intention and your new program works on some data.

    You are not new to application software user interface. You use Windows operating system and all programs you interact with use mostly graphical user interface.

    I think one of the most used windows program is File Explorer, and as the name suggest you use it to explorer files on your computer. File Explorer has its menu, tool bars and status bar, context menus, has all the rest of common user interface you interact with. I do not think you need to learn how to open a file, well you select it in File Explorer grid view, and double clicking you open it with associated program.

    Any windows application shares the same concept for user interface, once you learn it, you can use it in any windows application.

    From what you wrote I can understand that you still do understand how to interact with any windows application, because what you wrote is just memorized set of actions you do to setup your bot.

    That plus sign is icon/toolbar button, you can actually see in many windows applications, and plus icon mostly means to add something. What you are adding depends on the application context, so if you see plus icon toolbar button in the panel named: “My Orders/Bots to Execute” the clicking on plus icon will add a new order/bot to this panel.

    What I can advice you is just read the screen, and use your knowledge learnt interacting with other windows programs.

  • Stefan
    4.4.2016 13:55:25

    I have just released "Trailing Stop Loss On Market" bot.

  • Stefan
    4.4.2016 8:53:24


    Miro, it is very easy, just setup "Trailing Stop Loss" bot, you can do so in 5 seconds I believe, because you can use default parameters, so just clicking on Save button. Open your bet position on a market selection of your choice and execute "Trailing Stop Loss" bot and watch.

    "Trailing Stop Loss" bot is meant to save your losing profit position, it was never meant to maximize profit. Well of course, if you open your bet position in right moment when odds moves in your favor rapidly, then yes your profit can be bigger than you would get using “Close Selection Bet Position” bot.

    "Trailing Stop Loss" bot does not close/hedge bet in loss, always at least in one tick profit, keep that in mind.


    When testing in the practice mode never use your bots offering bets to get comparable results.

  • Stefan
    3.4.2016 20:28:59


    “Close Market Bet Position” bot stops/cancels execution of all running bots on the market prior closing market bet position, and is clear why. The only exception is "Execute Trigger Bot", and of course is clear why. "Execute Trigger Bot" is custom bot, there are not known intentions how bots behaves and what bots are executed by this bot. It is trigger bot responsibility to ends its execution.

    It means that in your bot solution, the “Close Market Bet Position” bot closes market bet position but your custom trigger bot still fires action bot execution anytime the trigger conditions are met.

    So I believe that in your case you at least set for all your action bots the parameter AllowPlacingBetInPlay to False, what means that after the market is turned at in play all your action bots ends execution automatically, if they are in the state of opening bet position only.

    The question is how you actually test your bots, because you did not mention this fact, you really do not know what you do.

    I will add a new parameter to "Execute Trigger Bot": AllowBotExecutionTermination


    “Trailing Stop Loss on Market” seems to be a good idea, but my question is do you already understand how “Trailing Stop Loss” on selection works, because last time you asked about this bot, you were wrong.