Open Side Menu Go to the Top
Register
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Limited Loss Triple Progression Roulette ?? - Discussion (hopefully)

10-21-2009 , 07:42 AM
Most people may pass this off as another newbie thinking that the Martingale system is going to win them a fortune (and may possibly be the case). I've put at least a little thought into this so please have read before making up ur mind...

What we know:
  • European Roulette:
  • Red ~ (18/37) Black ~ (18/37) Green ~ (1/37)
  • Martingale (and Variations) / even-money progression betting strategy ~ Bad??

Oh lets hold up a little on that last one, you guys know better than me that the martingale system and others like it fail because of two main reasons:
  • No gambler never has infinite wealth.
  • Betting increases exponentially.
  • Betting in very short term may win, but in the long term, U gunna Lose!

Also doubling the stake each time one looses only returns 1 unit of betting (plus covering the losses in betting string) seems like a poor investment of time / money. Not to mention table limits messing up the system.

That said,

Lets tweak this a bit. If I choose a multiplier of 3 (or more?) the profit returned goes BUT also does the exponential betting, so the amount bet on every loss gets bigger. Anyway lets consider the progression:

1,3,9,27,81, etc. ... More profit on a win, but much higher stakes.

Still progression betting and when betting on even-money bets, such as black/red/even/odd etc., in the long run gamblers will loose. But why?
  • Not enough money to cover the next stake in progression, due to a streak of wrong answers (eg. streak of blacks when betting on red).
  • Hit the Casino's upper limit?
  • Other reason?

But if we start off with a bankroll of $121 (to cover 5 bets) and minimum stake at table on even money bets is $1, as it is possible that triple martingale wins in the very short term, what are the chances of doubling up or alternatively going broke...ie. start with 121, bet 1,3,9,27,81... what are the chances of hitting $242 and stopping, getting out with a profit of $121 before hitting $0.

From computer simulations (Java Code available) I have ran...it seems that you will more often than not the gambler hit the $242. On one simulation of this game I played it 10000 times and the results were :

[Win 7470 / L 2530] so 74.7% of the time you walk away from the table with $242 and 25.3% of the time you walk away with $0. The exact percentage chance of winning does fluctuate, but is almost always in the region of 70% to 80%.

Tapering off the exponential betting as the streak of loses gets higher will decrease profits but may also increase the chances of covering another loss and as a result increase this 74.5% chance of winning.

Can this be correct? Its very possible I have made an error somewhere in theory or in implementing this in code but I've checked and I can't see it (any decent programmers out there want the code, or have the time to knock it up themselves to double check it please let me know, and what answers you find)...

If I placate myself and consider that this might be realistic:
Gamblers lose their entire bankroll because they continue past say the 5th, 6th or 7th bet and continue to increase betting exponentially. Compounding the winnings they have made into the next bet and a streak or say 10 "wrong answers" is going to break almost everyone.

But...

If the gambler has for example $2000, and breaks that up into small chunks of $121 and runs the game until he either doubles up or loses the $121 repeatedly, and approximately 74.5% or the time he wins, can he can consistently make money?

Reason being he only can lose a max of $121 in one sitting and overall he should make approx 1.5 times what he invested. This maximises the chances of progressive betting winning in the short term and minimises the loss over the long term. Given this is a slow return, but is it a realistic approach to overall winning at roulette?

Note: Changing the table from single zero to double zero will have a very slight negative effect on the percentage chance but as long as this percentage chance stays up near the 70% mark (or even about 50.0%) are you making money, albeit slowly....


Cheers,
paddyshiel
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 08:11 AM
I am very sure the code is wrong, without looking at it

No series of -EV bets can add up to a +EV bet, ever.
If you keep following the system until you hit $242 or $0, for sure you will hit $0 over 50% of the time starting from $121.
In fact it must be less than 18/37 - as the best possible strategy if your goal is to double-up is just to bet your entire bankroll on the first hand.

Feel free to paste the code in the thread and we can tell you where it's wrong!
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 10:33 AM
Yep, had another quick look and it seems that there was an error in my code. The chance of doubling up versus hitting zero seem to be about 40-45% / 60-65%. So that's a loser.

My apologies for a long winded rant, but I think there is something in all the madness that is my post above.

Consider the situation changed a little; instead of trying to double up you either go to 1.5 times the initial investment per game. So start: 121, stop gambling at 182 or 0. Seems like the chances of hitting 182 are greater than 0 (60/40 in favour of hitting 182).

This time I've posted the code (which is also long winded), but worth a look I feel.

Pyromantha, (and any others), If you have some free time have a look...



Code:
import java.util.Random;

public class Roulette {
    
    public static void main(String[] args) {
        double initial_money = 121;
        double stop_gambling_at = 182;
        int rounds = 10000;
        double min_bet = 1;
        
        int wins = 0;
        int loss = 0;
        String hist = "";
        
        Player player;
        RouletteWheel wheel;
        
        for(int i=0; i<rounds; i++) {
            player = new Player(min_bet, initial_money);
            wheel = new RouletteWheel(RouletteWheel.SINGLE_ZERO);
            
            while(!player.isBankrupt() && (player.getBankroll()<(stop_gambling_at))) {
                playRound(wheel,player);    
            }
            if(player.isBankrupt()) {
                loss++;
                hist+="L";
            }
            else {
                wins++;
                hist+="W";
            }
        }
        double money_in = initial_money * rounds;
        double money_out = ((initial_money*wins*2));
        double profit = money_out - money_in;
        
        double wr = ((double)wins / (double) rounds) * 100 ;
        
        System.out.println("WinLoss Ratio: [W " + wins + " / L "+loss + "] = " + wr + " % Cost: "+money_in+" Profit: "+profit + " "+hist);
        
    }    
    
    public static void playRound(RouletteWheel wheel, Player player) {
        //Show Player Status
        //System.out.println(player);
    
        //Place Bet
        RouletteBet bet = player.placeNextBet();
        //System.out.println(bet);
        
        //Spin Wheel and Get Result
        RouletteResult result = wheel.spin();
        //System.out.println(result);
                    
        //Compare Bet to Wheel and Calculate Win Lose
        wheel.finaliseBets(bet, result, player);                
    }
    
    public static class RouletteWheel {
        public static final int SINGLE_ZERO = 37;
        public static final int DOUBLE_ZERO = 38;    
        private int max_number;
            
        public RouletteWheel(int type) {
            max_number = type;
        }
        
        public RouletteResult spin() {
            int rand = getSecureRandomRoll(max_number);
            return new RouletteResult(rand);
        }
        public void finaliseBets(RouletteBet bet, RouletteResult result, Player player) {
            if( ( ( bet.getNumber() == result.getNumber() ) || ( bet.getNumber() == -1 ) ) && (bet.getColour() == result.getColour()) ) {
                player.win(bet.getAmount());
            }
            else {
                player.lose(bet.getAmount());
            }
        }    
        private int getSecureRandomRoll(int max) {
            int randInt = 0;
            Random r = new Random();
            randInt = r.nextInt(max);
            return randInt;
        }    
    }

    public static class Player {
        private double multi = 3;
        private double min_bet;
        private int num_losses;
            
        private char bet_colour;
        private double bank_roll;
        private int num_spins;
        
        public Player(double min_bet, double bank_roll) {
            this.min_bet = min_bet;
            this.bank_roll = bank_roll;
            num_losses = 0;
            bet_colour = 'B'; // Starts on Black (no particular reason)
            num_spins = 0;
        }
            
        public RouletteBet placeNextBet() {
            /*switch(this.num_losses) {
                case 0:
                case 1:
                case 2:
                case 3:
                    multi = 3;
                    break;
                case 4:
                    multi = 2.6;
                    break;
                case 5:
                    multi = 2.4;
                    break;
                default:
                    multi = 2.1;
                    break;
            }*/
            
            double amount = ( min_bet * ( Math.pow(multi, (num_losses) ) ) );
                
            if(bank_roll >= amount) {
                num_spins++;
                return new RouletteBet(bet_colour, amount);
            }
            else if(bank_roll>0) {
                num_spins++;
                return new RouletteBet(bet_colour, bank_roll);
            }
            else {
                return null;
            }
        }
        private void changeBettingColour() {
            if(bet_colour=='B') {
                bet_colour = 'R';
            }
            else if(bet_colour=='R') {
                bet_colour = 'B';
            }
        }
        public void win(double n) {
            bank_roll += n;
            changeBettingColour();
            this.num_losses = 0;
        }
        public void lose(double n) {
            bank_roll -= n;
            this.num_losses++;
        }
        public String toString() {
            return "Player: $" + bank_roll + " Colour: " + bet_colour;
        }
        public boolean isBankrupt() {
            return  this.bank_roll<= 0 ;
        }
        public double getBankroll() {
            return this.bank_roll;
        }
    }
    
    public static class RouletteResult {
        private int number;
        private char colour;
        
        public RouletteResult( int n ) {
            this.number = n;
            if(this.number == 0) {
                colour = 'G';
            }
            else if(this.number % 2 == 0) {
                colour = 'B';
            }
            else {
                colour = 'R';
            }
        }
        public char getColour() {
            return this.colour;
        }
        public int getNumber() {
            return this.number;
        }
        public String toString() {
            return this.number + " " + this.colour;
        }
    }

    public static class RouletteBet {
        private char colour = 'X';
        private int number = -1;
        private double amount = 0.0;
        
        public RouletteBet(char colour, double stake) {
            this.colour = colour;
            this.amount = stake;
        }
        public RouletteBet(int number, double stake) {
            this.number = number;
            if(this.number == 0) {
                colour = 'G';
            }
            else if(this.number % 2 == 0) {
                colour = 'B';
            }
            else {
                colour = 'R';
            }
            this.amount = stake;
        }
        
        public char getColour() {
            return this.colour;
        }
        public int getNumber() {
            return this.number;
        }
        public double getAmount() {
            return this.amount;
        }
        public String toString() {
            return this.colour + " : $"+ this.amount;
        }
    }
}
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 10:39 AM
I have a roulette simulator I wrote as well. The key factor you seem to be omitting, and which is the real limiting factor for martingale-like schemes, is the table limit. Generally it will be no more than 200 min bets, usually less. That means you can double at most 7 times.

You will never create a roulette betting scheme where you walk away a winner 50%+ of the time. Using pure martingale, with 200x table limits and a bankroll that will let you double 7 times, and you set a stop-win goal of 2x, you will walk away with 2x your starting stake about 11% of the time, and lose 100% the rest of the time. If you set your stop-win at one min bet, it will still be less than 50% (I forget the exact amount).

As pointed out by another poster, the maximum likelihood of walking away winner is achieved by just putting down all your money once on red/black or odd/even, and there your chance is equal to the house edge, which means 18/38 for double zero or 18/37 for single zero. You cannot improve on that.

Last edited by spadebidder; 10-21-2009 at 11:01 AM.
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 11:13 AM
Quote:
I have a roulette simulator I wrote as well. The key factor you seem to be omitting, and which is the real limiting factor for martingale-like schemes, is the table limit. Generally it will be no more than 200 min bets
I don't think you have really read the post correctly, I would never be betting more than 200 min bets on one spin. Also there are casinos both real and online which have a better range in terms of limits.
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 11:22 AM
Why don't you just do your theory with play money on one of the many online casinos (use a cryptologic software one if you like like Intercasino).

Do a bunch of trials and see how it goes.

Kind of hard to really argue with someone on this because as Pyro said earlier you simply cannot create a +EV scenario by combining -EV bets. No ifs and or buts about it.

Sure, it is easy to create all kinds of systems where you walk away "ahead" a lot, but that does not make them +EV. Just put a bet of $1 each on 1 to 34 in European roulette for 1 spin and you will walk away with a winning session over 90% of the time. Means nothing.

Your roulette system like any system has to lose in the long run because of the math involved. Only way to break this is to sell it on youtube to suckers who might actually believe in it, then at least their money is +EV to you, and they can lose their life savings at their own pace however they prefer.
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 11:37 AM
Well put Monteroy, thanks for the input!
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 11:40 AM
Quote:
Originally Posted by paddyshiel
Pyromantha, (and any others), If you have some free time have a look...


Code:
import java.util.Random;

public class Roulette {
    
    public static void main(String[] args) {
        double initial_money = 121;
        double stop_gambling_at = 182;
     
        double money_in = initial_money * rounds;
        double money_out = ((initial_money*wins*2));
        double profit = money_out - money_in;
I don't actually know much about computer programming, but is there not an error here? [I have only included the relevant seeming lines].

If you are stopping at 182, then money_out should be 182*wins = initial_money*wins*1.50413

Last edited by Pyromantha; 10-21-2009 at 11:51 AM.
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 11:41 AM
Quote:
Originally Posted by Monteroy
Sure, it is easy to create all kinds of systems where you walk away "ahead" a lot, but that does not make them +EV.
You're right about this, and I misstated it in my post. My point was that (winning sessions * avg amount won) will always be less than (losing sessions * avg amount lost). You can skew things for a lot of tiny wins and a few huge losses. The same is true for any continuous session.
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 11:47 AM
Quote:
Originally Posted by paddyshiel
I don't think you have really read the post correctly, I would never be betting more than 200 min bets on one spin. Also there are casinos both real and online which have a better range in terms of limits.
Fwiw this is a red herring in terms of why Martingaling doesn't work. The higher the house limit, the quicker on average you bankrupt a bankroll of any size.

Again simply because the EV of a series of trials is just the sum of the EVs from each individual trial. The more you can bet, the bigger the negative $EV is for that spin.
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-21-2009 , 11:50 AM
Quote:
Originally Posted by paddyshiel
Consider the situation changed a little; instead of trying to double up you either go to 1.5 times the initial investment per game. So start: 121, stop gambling at 182 or 0. Seems like the chances of hitting 182 are greater than 0 (60/40 in favour of hitting 182).
Note that this is not a profitable situation.

If your wins are half as big as your losses [you win 61 or lose 121, so approx half as big here], you need to win twice as often as you lose to make it neutral EV. i.e. you would need to win about 66-67% of the time, winning 60% of the time is still losing money long-run.
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote
10-22-2009 , 05:57 PM
The only thing any roulette "system" may help you do is lose money at a slower rate. a system which creates a +ev bet at an unbiased roulette table is impossible.
Limited Loss Triple Progression Roulette ?? - Discussion (hopefully) Quote

      
m