Comments

  • Stefan
    6.6.2020 17:12:15

    On betfair forum:

    Sir, I am familiar with many programming languages including python I used to make ML model and simple flask api server app to expose ML model to my bots, as mostly I used .net programming languages for betfair bot programming like C# or my favourite F#, and did not find other way to interoperate between python and .net.

    Well yes now I am experimenting with pythonnet to integrate python scripting to my app, for now I support only F# scripts.

    I downloaded your library and it is just wrapper for couple api methods, without implementing any app domain or services. Therefore I really wonder to see some examples of using your library in betfair application, as you say: "My personal bots run 24/7 and never fall over due to program bugs, so I must be doing something right." and “It has been downloaded thousands of times and sometimes people say thank you and send me donations because it has saved them many hours of development time.”

    Well, my library was not download thousands of times, therefore I believe you have got a lot of sample code, for instance implementing this feature, one of Bet Angle users was asking for:
    “how to back the favourite at Betfair SP. I am having problems when the favourite changes late in betting.”

    I have done such simple bot script:

    Betfair SP Favourite Bot Trigger

    And I am really interested to see your python implementation for exact the same simple bot. Your web site was funded in 2008 so I believe your level of expertise is even better than mine. If you show me better solution in python, I will be glad to donate your splendid work and use your library instead of mine.

  • Stefan
    4.6.2020 18:12:02

    I think this is clear, I built bespoke apps or bots only for my subscribers:

    http://bfexplorer.net/Subscribe

    If you want to analyze data on live markets, then this tool may help you:

    Betfair Charts Tool

    If you want to build bot or app according to your specification:

    1) Subscribe

    2) Send me your short description for your app and/or bot

    I hope you understand that your expectation for the project price can be quite different from my price, therefore use your common sense and calculate my average 30 GBP per working hour to expected amount of work for bot or app.

    Of course there is other option for you as I offer Bfexplorer BOT SDK for my subscribers, so if your friend or you, yourself are able to program you can do so, or ask another software developer to do so using Bfexplorer BOT SDK, what is the way I do built bespoke bots or apps for betfair.

  • biagionimarques@gmail.com
    4.6.2020 17:16:53

    I saw this and your other answer. I know you don't work for free. How do I negotiate your contract to develop a system exclusively for me?

  • Stefan
    4.6.2020 13:56:49

    This feature is not yet publicly available, so you can use it only when I built for you bespoke bot.

    I do not work for free, so depending of complexity of your bot, the price starts from 80 GBP (30 GBP working hour).

    I can work for free, when you offer free work for me which I would have any interest in.

  • Stefan
    4.6.2020 10:32:30

    Actually this is not bfexplorer trading app. If you have a look at on the video and app title it says: “Bfexplorer – data analyzer”, so it is different app that looks like bfexplrer, but is mainly used to analyze betfair historical data on ladders, and of course back test different bot strategies you can set in bfexplorer trading app.

    I cannot afford to buy myself betfair historical data, so when developing this app I used pro historical data provided by my subscriber.

    At these days betfair offers for free set of pro historical data, so maybe this app could be used by more subscribers

    https://historicdata.betfair.com/

    On the other hand I will need some time to implement new features to the app, mainly possibly to move forward or back in data. My first implementation loads all data but starts to reply them from 10 minutes before official market start time. Yes, it is possible to restart replying data.

    Therefore this app can be available only to my subscribers, and to those subscribers who can afford to pay my working time to end development of this app, so the app can be used by general user/subscriber.

  • biagionimarques@gmail.com
    4.6.2020 0:46:16

    In the explanation above you say: "I added code to save all traded prices and volume for nominated selection and for the current winner selection, when nominated selection is not the winner."
    How should I proceed to build this functionality in my bfexplorer?

  • biagionimarques@gmail.com
    4.6.2020 0:24:32

    As far as I could see, the video shows the bfexplore app reading data from an event already finished correct? How can I configure my bfexplore so that it can show the replay of the market movement during a soccer match acquired in Betfair Historical Data?

  • Stefan
    23.5.2020 15:43:21

    If required feature is not yet implemented in pre-built bfexplorer bots you can create your own bot trigger.

    When opening some markets in bfexplorer for monitoring we can see charts in ladders or in the Bet Event grid view in Watched Selections and so on.

    What does it mean?

    It means that bfexplorer app must process some way this data for charts. And yes, software developer using Bfexplorer BOT SDK can find that Selection object offers following property: PriceTradedHistory, and there either TradedPrices or Prices.

    In the user interface of bfexplorer app a common user can browse this data by clicking on selection context menu: Show Selection Data

    Ok, we know where our data are so now we can program simple bot trigger code:

    AverageTradedPriceBotTrigger.fsx

    How the average traded price is calculated can be seen in the function: getAverageTradedPriceFromTime (lines from 48 to 63)

    And how this function is used to trigger an action bot is on lines from 82 to 91.

    What we must realize when developing this kind of strategies is the fact that bfexplorer must monitor market for required time, and that data are stored only for limited time, it is saved 60 last data points.

    There is also other alternative to get traded price. I showed that at the end of my short video.

  • Stefan
    23.5.2020 12:43:38

    For instance when running machine learning strategy on horse racing markets I set Strategy Bot Executor to load horse racing win markets each day at 10:00.  

    Start execution time is set to -15 seconds, because ML strategy requires loading some data for each race.

    Update interval is set to 1 second.

    Now count!

    Strategy Bot Executor before starting bot execution on the market updates market data, that is 1 call to betfair api.

    As the strategy requires those data for each race (it is not data from betfair api), the bot executes download of this data and processing, it takes by average 6 seconds. So during these 6 seconds, as “Strategy Bot Executor” monitors market data, the market data are 6 times updated (bfexplorer 6 times queries betfair api to listMarketBook method) .

    After data are loaded, bot processing them and decides if any bet is placed on this market. As the bot is executed in the update market cycle, in one cycle this data are evaluated and in the next cycle the bot places bet on dedicated selection.

    Update interval is set to 1 second, and we know that any update cycle requires bfexplorer to call betfair api for market data.

    If the bot will not continue with bet placing, the bot execution is finished and so the market monitoring is stopped as well.

    Now count!

    1 + 6 + 2 = 9 queries to betfair api.

    If the bot continues with bet placing, the action bot is created and executed on the dedicated market selection (1 cycle).

    If the bet placing is done by “Place Bet” bot, then from execution of the “Place Bet” and actually placing bet the bot requires additional 1 cycle (have a look at Place Bet parameters).

    Placing bets through betair api is done by other api method: placeOrders. And as the update interval is set to 1 second, but as there are two different api calls done by bfexplorer, and bot operates in the market update cycle, bet placing status must be confirmed in the market update status only, so successful bet placing operation even if takes 200-300ms takes for bot execution in 2 cycles.

    1 + 2 = 3, and totally 9 + 3 = 12 queries to betfair api for market updates.

    Ok, my bot places bet on current offer, and in UK horse racing there is good offer, so bet is immediately matched, If not “Place Bet” bot updates bet to be fully matched, so let say 6 cycles are additional needed.

    12 + 6 = 18 queries to betfair api.

    If there are 100 races per day my strategy requires maximum: 100 * 18 = 1800 queries to betfair api.

    So monthly: 1800 * 30 = 54000

    I simply can count, and try not to use too much betfair resources. Of course, I can execute trading strategies that require monitoring markets for 10-30 minutes, but then again I adjust update interval and try to monitor as less of markets as possible.

  • Bodasy
    23.5.2020 10:18:55

    please tell me how you manage to keep your bots running in your server 24/7 if you also say you are not that stupid when i ask you if you ever kept login bfexplorer software for several consecutive days ? 

    i only use bfexplorer software on my account and also got this message from betfair:

    Hi,

    Please ensure you stick to these lower refresh rates, but also make sure you close down all software that you are using when you are not actively betting as you should not be reading data in the background when you are not present at your computer, or when you are not betting.

    We will continue to monitor your account to ensure that you have lowered your reading, if you do not then restrictions will be placed on your account again. For now I will remove the market delay. 

    Kind Regards,

    Betfair Developer Program

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

  • Stefan
    22.5.2020 22:02:27

    Bodasy, do you really think I am so stupid?

    Please go to my blog posts:

    http://bfexplorer.net/User/Articles?userId=1

    And you may find that I run many different strategies on my server in 24/7. Well, not these days as mostly I try to run horse racing strategies.

    Once again, any feature you can see in bfexplorer app was programmed mainly for my own needs, by me myself, I am software developer.

    http://bfexplorer.net/User/ArticleContent/502

  • Bodasy
    22.5.2020 21:15:49

    did you ever kept logged in bfexplorer for several consecutive days ?

  • Stefan
    22.5.2020 21:02:14

    Graf, I do not set those update interval values, but you do so.

    Bfexplorer is used by other users including me. Actually what I program in bfexplorer, I program mainly for my use, and I have never been switched to delayed api data like you three were.

  • Graf
    22.5.2020 20:55:02

    Sure. That is why Î say this delay must have been imposed because of low value in Strategy/Bot Executor Active markets Update intervals. It had nothing to do with passive markets.

  • Stefan
    22.5.2020 20:44:06

    In Strategy Bot Executor tool you can add column: Total Matched, as in any other data view bfexplorer shows, when market data are updated, Total Matched must be updated as well, right?

    So please, add that column, and watch if value is updated for passive markets waiting for processing, of course they are not updated.

  • Graf
    22.5.2020 20:15:00

    In that case, problem can only be with Strategy/Bot Executor Active markets Update intervals. Maybe less than 2 seconds it's just much too low value. That is the only reason I can find...

  • Tony
    22.5.2020 20:00:11

    They never mentioned my bets. Off course they have all my bets, both matched and unmatched, registered on my account. Even I can see it all.

    What they've asked is why BFExplorer makes so many data readings on my account:

    "On review of your account, you have been found to have made over xxx million requests to the exchange in the last 3 months using the BFExplorer API. This amount of reading activity must be reduced if you would like the market data delay to be removed from your account."

    That is exactly what I need to know to prevent any further delays on my API readings. 

  • Bodasy
    22.5.2020 19:49:26

    “Please could you explain why your account is reading this volume of data.”

    i have answer: "because i only use bfexplorer software and support does not answer to my qustions on how not to make so many readings."

    i always place several bets everytime i open a market.

    never open any market and not place several bets.

    never.

    that is just nonsense

    again, same question:

    with Monitor passie markets "no" and Use market streaming "yes", are there any data readings when all markets on Strategy/Bot Executor are "passive" ?

  • Stefan
    22.5.2020 19:35:13

     

    Tony and Graf, I only try to understand why betfair switched your api access to delayed data, that is all.

    No request is made when you switch off “Monitor passive markets”. Nor “Bot Executor” monitors markets when markets are in passive state.

    Why would I add such option to the settings dialog, when not implementing that feature?

    I can only repeat the same question betfair asked:

    “Please could you explain why your account is reading this volume of data.”

    Betfair knows about any of your activity, the betfair api is their service, and your account is associated with your betfair api access.

    I do not monitor your activity, so I just wonder, when betfair knowing about you everything, that you open a lot of markets, keep them monitoring for some time, but they still asked both of you:

     “Please could you explain why your account is reading this volume of data.”

    So what you are saying is that betfair did not know that you place bets on any market you open? Why they asked you?