User Comments

  • Stefan
    21.8.2018 10:36:47

    If you place your bets by bots, then yes I can create a bot that executes action bots (bots placing bets) and records number of such action bots execution per hour, so limiting further bet placement if set limit per hour is reached.

  • Stefan
    20.8.2018 11:36:24

    IntelliSense in action:

  • Stefan
    19.8.2018 19:34:28

    Mike, this is not a joke, but I wanted to start with something you, and I believe everyone working with computer knows.

    So in text editor app, the spellchecker checks your grammar underlying misspelled or wrong words by red line. If there are more options to correct wrong word a list of options is presented.

    It is the same when you write code in IDE, any wrong construction of your code is underlined by red line, and error icon with possible solutions is presented. In IDE it is called Intelisense, and option to present properties or methods available for object types your code interacts with.

    In trigger code, you can interact only with objects offered by bfexplorer app when trigger is instantiated, so that is your world of objects the intelisense offers properties and methods to you, so there is no need to make a list of offered objects your trigger can interact with, you already have this option in your IDE (Visual Studio, Visual Code, Atom, or whatever you use).

    That is answer to your last question! Do we understand each other?

    Watch video in my article: Betfair Bot Programming for Non-Developers

    Where you can see what I am talking about, intelisense support, method description, for instance when hovering over code, or functions descriptions, like for Execute method there is description: unit -> TriggerResult, so you know that function takes no arguments (unit) and returns TriggerResult

    What is TriggerResult and what options it offers is again offered to you by intelisense, when typing TriggerResult following . intelisense offers you list of all options you can use.

    So basically any written code is checked against any error, and options are offered like spellchecker offers you correcting your bad spelling.

    Keep in mind that using bfexplorer you agreed with T&C and I suggest to read it again if you did not do so.

  • Stefan
    18.8.2018 15:25:17

    Mir, back to the point, as I said in my first reply you have no subscription for bfexplorer, so your posts here are just spam. I did not want to delete your article as it could have some value for bfexplorer subscribers as well, so I replied with relevant answers.

    I just want you to understand one thing. People mostly read just titles, so ones could have such impression that using bfexplorer app could lead to restricting or closing betfair account because of misusing betfair api data.  

    You used another betfair app, and betfair restricted your api access, but you did not mentioned that.

    Where you mentioned not so true arguments, I replied with my opinion, and I know something about it as myself programming for betfair users from 2007.

    Last hint: ask betfair for software vendor license, then you can use betfair api as you want to. From my position I monitored data, or tested bespoke bots for days without placing a bet, and have never been restricted in betfair api usage, but that of course makes sense.

  • Stefan
    18.8.2018 10:16:15

    Mir, your problem is that you do not understand what you read about your software in a manual. In market feeder manual it is said that you can globally set two values for market refresh rate: idle refresh rate and in-play refresh rate (page 175). You can change trigger value evaluation interval in your triggers, but that does not change market refresh rate we talk about.

    Just common sense, if you want at the moment, to monitor all football matches for 2 days (match odds markets) with more than 500 Euro traded, then you can open 177 markets now.

    If you would like to really monitor each of them at different refresh rate (as you mentioned) then it would mean to call market data refresh for each market so 177 calls at different time intervals, that is of course nonsense.

    Using rest api I can refresh up to 25-50 markets per one api call, or using streaming api I can just open stream for all 177 markets changes and get at set refresh rate only updated values from betfair servers.

    Market feeder maps market data values to mapped variables, so in your triggers you can use such variables in condition formulas, and when evaluated conditions are met it is triggered preprogrammed action, mostly bet placing, or bet cancelling. You construct evaluation formulas, not parts of code, bots which could be executed and add new features to market feeder app. You cannot add new features to market feeder app, only evaluate values which are offered.

    Bfexplorer app approach is different, as what we call a bot is real part of execution code which adds new features to bfexplorer app.

    For instance in this article: Betfair Tennis Trading Automation, in my tennis bot code I implemented loading and evaluating match results and statistic, tipster selections, and common user votes on who will win the match from 3 different web sites.

    Yes, it is a code, a program executing specific operation, so in this context I could use it only in bfexplorer for the specific purpose, but the code implementation allows me to reuse data provider assemblies in different apps when I would like to use it.

    You cannot do that in betfair apps where automation is done just by evaluation of mapped values in trigger or in excel cell formula.

  • Stefan
    17.8.2018 20:18:53

    Mike, shortly to your last question, do you know what spellchecker is?

  • Stefan
    17.8.2018 10:38:02

    Mir, no one likes parasites. Your betfair account is not closed but is switched to delay mode, what is basically useless for your automated betting/trading, but if it is true what you say, then you can simply place your bets manually to proof that you make fees/commission for betfair.

    Later you can write them again asking to switch your api status to the normal one.

    I repeated it many times when you were my subscriber to use common sense in whatever you do on betfair.

    Unfortunately, other betfair vendors, with lack of features in their software promote such parasite behavior on betfair api data usage. Have a look at here on market feeder forum:

    Bet for another two goals

    User asked for simple football strategy, and what was advice? Well monitor all under/over markets of a football match just to place at 90 minute of the match on corresponding Over selection, depending on the current match score a back bet when odds are >= 150.

    Using bfexplorer bots, you need to monitor match odds market only, starting from reasonable time, so football bot would be able to monitor match time and score, and at 90 minute of the match the football bot will execute trigger which would find out Under/Over market to open and place a bet on.

    When using Bot Executor tool, market data are monitored only for markets on which bots are still running, so when football bot triggers its action bot it finishes its execution, so market monitoring is stopped for match odds market as well.



  • Stefan
    16.8.2018 16:55:31

    Mir, you do not understand it. It is not about your betting or trading activity, or better to say how much money you earn from this activity.

    It is about misuse of betfair api data. So if your paid fees on won bets are bigger than amount of data you get from betfair api, as betfair can simply count how much your activity costs them:

    your fees minus cost of betfair resources you took, if that is positive value, you are profitable for betfair, if minus then you are not, you are commercial user who utilize betfair data for his own profit only.

  • Stefan
    16.8.2018 10:12:07

    Mir, you have no subscription with bfexplorer, your api access expired 31.8.2017 21:20:52, so I do not understand why are you spaming this forum?

    Betfair closes accounts with no money, or no betting activity on accounts. Betfair api access is restricted to delay api data for accounts with no betting activity in last 3 months, or for accounts as mentioned in your post, where data usage pattern shows similarity of commercial user who just take data from betfair without any betting on these markets.

    I think betfair closed developers and apps site due to this misuse of their api by Indy guppies.

  • Stefan
    5.8.2018 17:34:24

    What you see on the video is not bot script, but as said: “…This simple betfair bot shows possibilities you have got when utilizing Bfexplorer BOT SDK …”

    I created simplified version of the bot as the bot trigger script, only favourite changes are reported, bot trigger script does not load betfair SP prices:


  • Stefan
    27.7.2018 11:31:53

    Betfair owns your api access, so you must fulfill their T&C for accessing betfair data trough api.

    Did you check my free web app to learn whether api data are available for your account?

    From which country are you from? Is betfair legal in your country? If not but you still can have betfair account, I mean if betfair did not close your account, then your ISP may block access to betfair servers.

    Bfexplorer app uses two types of api access for market data, rest api, and streaming api, did you check both types of api access to learn if there are some differences?

    Software cannot stop working suddenly, it cannot broke like that so it means that problems are really or your side. No other subscriber reported such problems.

    If you are able to run some kind of remote access app, like teamviewer or similar app then email me access information, and I will check your problems on your computer.

  • Stefan
    25.7.2018 10:53:58

    It is called trigger bot script, as it triggers some action, mainly bet placing or action bot execution.

    In “Bots to Execute” view, click on Add button, the “Add a new order/bot” dialog appears. Focus to Search input box, and type there: trigger.

    Select bot named: “Execute Trigger Bot”, well yes as the bot name suggests it is the bot which executes your trigger script files, or assemblies.

    Focus to TriggerFilePathName parameter input box, on the right side of the input box appears “…” button, click on and Open dialog appears. By default there is set bot trigger assembly file filter: “Bo trigger assemblies (*.dll)”, changing it to: “Script files (*fs; *.fsx)” and select you bot trigger file, click on Open button.

    If required, enter another bot trigger parameters through TriggerParameters input, name your “Execute Trigger Bot” settings and click on Save button.

    Now you are ready to execute your bot settings on selected markets, or using the bot in tools: “Bot Executor” or “Bot Executor for Selection”.

    What is a difference in bot script file, and bot assembly file?

    The bot script is source code of your bot trigger, the bot assembly is complied version of your bot trigger. When bot script is used, bfexplorer first compile the script and then loads bot assembly to execute it, therefore first bot script execution takes more time, when using bot assembly, the bot execution is instant.

    Why there are those two options?

    The script file is used when you test you bot trigger, when you develop it using Bfexplorer Bot SDK. When you are finished with trigger development, and bot trigger works, so it is profitable you can build its compiled version, and maybe distribute to your friends, or sell to other people.

  • Stefan
    16.7.2018 9:54:22

    Betfair disables live betfair api access for accounts having no money on, placing no bets or breaking their T&C.

  • Stefan
    15.7.2018 20:56:22

    Yes, you have got professional subscription, so it means something went wrong when authorizing your subscription status.

    Close bfexplorer and re-login again, let me know if you have got still wrong subscription status.

    Check your antivirus software. Maybe requests to my authorization server are blocked.

  • Stefan
    11.7.2018 11:39:53

    It is Boolean algebra, and you can use any combination of parameters you like.

    From your example: MatchTime>45 And ScoreDifference>1

    Let’s say that the match time is 30 and score is 0 – 0, then from Boolean algebra you have got False and False what is equal to False, that means your trigger will not be fired.

    Let’s say that the match time is 46 and score is 0 – 0, the result is True and False, what equals in Boolean algebra to False, the trigger is not fired.

    Let’s say that the match time is 50 and score is 2 – 0, then from Boolean algebra you have got True and True (score difference is 2, what is > 1), this Boolean formula is equal to True, that means your trigger will be fired.

    When you combine with And operator then all partial results must be True, to give you full results as True.

    Using Or operator gives you True result when at least one partial result is True.

    You can replace True to 1, and False to 0, then And Boolean operator is in algebra like * (multiplication), so 1 * 0 = 0 (False), 1 * 1 = 1 (True), 0 * 0 = 0 (False)

  • Stefan
    22.6.2018 10:20:27

    Croatia beat Argentina 3 – 0 at World Cup in Russia.

    What were My Tipsters selections for this match?

    My tipsters selections

    16 tipsters selected Argentina, 5 tipsters Croatia, and 5 ones the Draw.

    If you filtered Tipsters by ranking <= 10, and by positive “All Time Roi” you would get 3 tipsters from which two selected Croatia as winner selection.

    My tipsters - Ranking <= 10

    Public voted 55.12% for Argentina and 27.31% for Croatia win.

  • Stefan
    25.5.2018 9:48:07

    Click to input text box, for StartCriteria or StopCriteria, in the right side of the input box appears button […], click on it and Criteria Editor appears, enter your criteria and click on OK button.

    Now you can see that Criteria Editor created text representation of your formula, so if you can type criteria formula by text input then you can do so with exact format Criteria Editor uses.

  • Stefan
    26.4.2018 10:30:31

    You can change view layouts, resize, dock, or undocked views, close/hide unused ones and then add your workspace by clicking on the menu item View / Workspaces / Add.

    This way you can create many workspaces for different use scenarios, I have got such two workspaces the one for bot execution, and the one for manual traded, so Bet Event view is switched to ladders. I have got special workspaces created for tennis treading or horse racing trading when utilizing market data on one ladder. Please have a look on this articles and videos.

    Application layout and workspaces:

    My Football Trading Workspace:

    Analyzing betfair data to trigger trading on horse racing markets:

    Portrait Layout:

  • Stefan
    25.4.2018 20:57:18

    Monitored column (including the column: “Total Matched”) fully describes monitoring status. I do not like to overcomplicate user interface (UI) with a lot of displayed data, less data displayed in UI means more clear UI.

    I was thinking to change “Football Bot” parameters similar to mentioned "If Then Else" bot, adding Score, MatchTime and GoalDifference parameters, then you would be able to set criteria for Start and Stop criteria, combining a lot of criteria values.

    Have a look at on mentioned bot and let me know if you will manage setup such bot, as Criteria Editor could be too complicated for some users with a common sense in Boolean algebra.

  • Stefan
    25.4.2018 17:41:17

    English is foreign language for me, so maybe I have got bad felling in using some words, but in this context “Monitored” term says: has been monitored, and as well is monitored.

    I wanted to show flag, so you can filter, group or sort markets in “Bot Executor” view by Monitored column and so differentiate among those three states: is not yet monitored, is monitored, has/had been monitored.

    Grid view offers other three columns which are by default hidden, but you can show them by clicking on column with your context mouse button/right mouse button, then clicking on Show Column Chooser, from which you can drag and drop hidden column to the grid view. I suggest to show (drag and drop) “Total Matched” column, so you will see that what I was talking about really works.

    If market is monitored by “Bot Executor” tool then “Total Matched” changes values when data are reloaded from betfair servers.