Betting Algorithm Not Working for Higher Totals I have created a bot that bets on a fake betting web site called SaltyBet.com. Now if you find anything immoral about that, just know that it is fake betting with fake money and I find so much joy in seeing computers and math make things more efficient. Especially if it is something I created :).
Now this bot has met with some great success. It is currently hovering at #63 in the world out of a total of 44,522,600 other users and I could not be any more proud of it's progress.  But, over the course of a month, it has become stuck.  My totals have gone only as high as 12 million and as low as 9 million.  It does not go any higher or lower despite an 65% accuracy.  This baffles me.
The only hypothesis I can come up with is that the algorithms I use have hit their limit and can no longer provide consistent growth.  Given the 1v1 nature of the web site, I currently employ an ELO rating system that is used to calculate possible outcomes and then plug that into the Kelly formula to get the final amount the bot should bet.  I have outlined the entire process below in more detail:


*

*Get the outcome of the fight based on ELO.  The player with the highest percentage chance (HighestChancePlayer) will be bet on. Formula below:
(1 / (1 + (Math.Pow(10, (player2Elo - player1Elo) / 400))))

*Determine if the players have fought before. If they have, we just simply create a different probability based on the previous fights.

*Because the Kelly formula is really aggressive, I only bet 1-2% of what it recommends I bet. This is controlled by the number of fights each player has done which creates more confidence in my bet. The more confidence, the more money that is bet on that match.  I have found that a 1-2% 'Kelly Safety Number' is conservative enough to obtain gains while remaining conservative.  This could possibly be a major weak point due to it's non-flexibility.  I have altered this value nothing conclusive that this is the problem.

*I then calculate the percentage of my current total that I am going to bet.
betPercentage = ([HighestChancePlayerPercentage] * (1 + 1) - 1) / 1

*Then we take the total amount of money and take out both the bet percentage then the Kelly Safety Percentage.  All of this is rounded to the nearest whole number.
FinalBetAmount = (balanceBefore * betPercentage) * kellySafetyNumber
Now because this is a bot, I am already expecting to get heckled and downvoted for this fact.  But this bot is my baby and I want to reach at least #10 on the leaderboard before I call this a success. Please let me know if you need any clarification.  Upon request, and for the code savvy, I can put the code online or output the data currently stored in my database.
I am missing something super simple and just though I would turn here to you geniuses.  And just to reiterate, the best clue that I have followed so far was, it gets to about 10 millions and then refuses to go much higher.  If you know of a better system, I'm all ears.
 A: If the bookies are doing their jobs correctly, then they should be setting the odds (payout) such that they net a slim profit on the match. That is, make the odds long enough to make it worthwhile for people to bet on the person that will lose the match. 
The fact that you're correctly picking the winner 65% of the time but, over time, you're not accumulating money says to me that you're betting more money when you pick a loser than you are when you pick a winner, or you're betting the same amount on winners and losers, but the payout on winners is lower than the payout on the losers. The latter is expected because that is the bookie's job.
Do you save statistics on your previous bets? What is the algorithm when there was a previous fight? 
Most importantly, how do your odds compare to the house odds? If you are very confident you will win, but the house is too, the payout is probably nearly 1:1 which would explain your lack of profit. You may want to consider boosting your bet amount if your odds coincides with house odds. 
