Against All Odds Roulette System Analysed in Roulette Xtreme

Against All Odds is a default system in roulette Xtreme. From the documentation, it was created by someone called Turbo Genius who ran a roulette site in the 00s. The website and forum have long gone but the content be retrieved via wayback machine.

“Against All Odds”

This is a simple system.

I’m aware that just because something is supposed to happen, it doesn’t mean it will. For example, playing the 1st dozen would produce a win every 1.316 spins in a perfect world – however it may not show for 20 spins or it may hit back to back to back.

Since we don’t know this, we have to go by the odds of it happening. I wrote this to exploit the fact, as far as I know it – all of the various betting locations cannot go past this “odds of showing”

So, an even-money bet might not show during its expected 1:2.11 spins, the dozen may not show for 3.16 spins, etc… however, one of them (them being betting locations) will show during this time, and this is all that is needed. The original progression is below, in the “progression” column.

However, after a win with no profit, you have to go back one location and play from there. So let’s assume you are going along and when betting on the square location you have a win
but are still below profit amount. The next bet is the lane bet at the min 1 unit.

I had some problems with this dragging on and on with slow wins. The bankroll is safer though than the second chart, which produces a profit on “any” win.

The progression is follows for the conservative progression.

BetPayoffOdds of WinTimes PlayedProgression
Even1:11:2.1121-2
Dozens2:11:3.1631-2-3
Lanes5:11:6.361-2-3-4-5-6
Squares8:11:9.591-2-3-4-5-6-7-8-9
Streets11:11:12.6121-2-3-4-5-6-7-8-9-10-11-12
Splits19:11:19191-2-3-4-5-6-7-8-9-10-11-12 etc up to 19
Straight38:11:38381-2-3-4-5-6-7-8-9-10-11-12 etc up to 38

For the more aggressive progression, the numbers are

EVEN$ bets : 1/2
DOZEN bets : 2/3/5
LANE bets : 3/4/5/6/7/8
SQUARE bets : 6/7/8/9/10/11/13/14/16
STREET bets : 13/14/16/17/19/20/22/24/26/29/31/34
SPLIT bets : 24/26/27/29/31/32/34/36/38/41/43/46/48/51/54/57/61/64/68

That’s quite a lot to digest but is simple once you work it out.

Basically, you start with one on evens, say, red. If it wins, great, if not, put 2 on red. If that wins, go back to the start.

If not, go to the next row and put one on a Dozen bet, if that wins, go back to the previous level, if not, put 2 on a dozen, then 3 on a dozen. If the 3 loses, then you go on to the lanes, put 1 on the lane, then 2, then 3, etc up to 6. If after any win, go back to the previous row.

The video below shows an example and then shows the behavior of the aggressive and conservative progression on the bankroll.


So there you have it, Against All Odds is a fun system that you can use but in the end, it will still lose. It looks very martingale-like in the graph in that it steadily goes up and then a big losing streak wipes you out. The good thing about this system though is that you will not hit the house limit.

 

                    
system "Against all odds"
{
  Created by TurboGenisu
  
  for documentation visit: http://gambling.projectsydney.com/viewtopic.php?t=478
}
method "main"
begin
    while starting a new session
    begin
        call "initialize";
        call "input";
        call "reset";
        exit;
    end

    if Any Inside Bet has won each time
    or Any Outside Bet has won each time
    begin
        call "reset";
        call "check profit";
    end
    
    if flag "location set" is false
    begin
        call "move to next location";
    end
    
    if record "location index" data = 1 //even
    begin
        call "do even bet";
    end

    if record "location index" data = 2 //dozen
    begin
        call "do dozen bet";
    end

    if record "location index" data = 3 //line (lanes)
    begin
        call "do line bet";
    end

    if record "location index" data = 4 //corner (squares)
    begin
        call "do corner bet";
    end

    if record "location index" data = 5 //street
    begin
        call "do street bet";
    end

    if record "location index" data = 6 //splits
    begin
        call "do split bet";
    end

    if record "location index" data = record "max location index" data //straight
    begin
        call "do straight bet";
    end

    //check if we exceeded max location index
    if  record "location index" data > record "max location index" data
    begin
        call "reset";
        //start at the beginning.
        put 100% Bankroll to record "current bankroll" data;
        put 0 on record "location index" data;
        call "move to next location";
        call "do even bet";
    end
end

method "check profit"
begin
    put 100% of Bankroll to record "profit" data;
    subtract 100% of record "current bankroll" data to record "profit" data;

    if record "profit" data > 0 then
    begin
        put 0 on record "location index" data;
    end
    else
    begin
        subtract 2 to record "location index" data;
        
        if record "location index" data < 0 then
        begin
            put 0 on record "location index" data;
        end
    end
end

method "move to next location"
begin
    set flag "location set" to false;
    
    if number 0 has hit each time
    or number 00 has hit each time
    begin
        exit;
    end

    copy last number to record "last spin" layout;
    add 1 to record "location index" data;
    set flag "location set" to true;
end

method "do straight bet" //straight up
begin
    if record "straight bet" data index > record "straight bet" data count
    begin
        add 1 to record "location index" data;
        return;
    end

    put 100% of record "straight bet" data to record "last spin" layout;
    add 1 to record "straight bet" data index;
    exit;
end

method "do split bet" //splits
begin
    if record "split bet" data index > record "split bet" data count
    begin
        call "move to next location";
        return;
    end

    put 100% of record "split bet" data to Split nearest of record "last spin" layout;
    add 1 to record "split bet" data index;
    exit;
end

method "do street bet" //lanes
begin
    if record "street bet" data index > record "street bet" data count
    begin
        call "move to next location";
        return;
    end

    put 100% of record "street bet" data to Street nearest of record "last spin" layout;
    add 1 to record "street bet" data index;
    exit;
end

method "do corner bet" //lanes
begin
    if record "corner bet" data index > record "corner bet" data count
    begin
        call "move to next location";
        return;
    end

    put 100% of record "corner bet" data to Corner nearest of record "last spin" layout;
    add 1 to record "corner bet" data index;
    exit;
end

method "do line bet" //lanes
begin
    if record "line bet" data index > record "line bet" data count
    begin
        call "move to next location";
        return;
    end

    put 100% of record "line bet" data to Line nearest of record "last spin" layout;
    add 1 to record "line bet" data index;
    exit;
end

method "do dozen bet"
begin
    if record "dozen bet" data index > record "dozen bet" data count
    begin
        call "move to next location";
        return;
    end

    put 100% of record "dozen bet" data to Dozen nearest of record "last spin" layout;
    add 1 to record "dozen bet" data index;
    exit;
end

method "do even bet"
begin
    if record "even bet" data index > record "even bet" data count
    begin
        call "move to next location";
        return;
    end

    if record "last spin" layout is found in record "low" layout
    begin
        copy Low to record "even money" layout;
    end
    else
    begin
        if record "last spin" layout is found in record "even" layout
        begin
            copy Even to record "even money" layout;
        end
        else
        begin
            if record "last spin" layout is found in record "red" layout
            begin
                copy Red to record "even money" layout;
            end
            else
            begin
                if record "last spin" layout is found in record "black" layout
                begin
                    copy Black to record "even money" layout;
                end
                else
                begin
                    if record "last spin" layout is found in record "odd" layout
                    begin
                        copy Odd to record "even money" layout;
                    end
                    else
                    begin
                        if record "last spin" layout is found in record "high" layout
                        begin
                            copy High to record "even money" layout;
                        end
                    end
                end
            end
        end
    end
    
    put 100% of record "even bet" data to record "even money" layout;
    add 1 to record "even bet" data index;
    exit;
end

method "input"
begin
    group
    begin
        display "Turbo's Against All Odds system";
        input data "Enter starting Bankroll" to record "current bankroll" data;
        input dropdown "Table type

                        1:=Single Zero
                        2:=Double Zero" to record "table index" data;
        input dropdown "Bet progression mode
        
                        1:=Conservative
                        2:=Aggressive" to record "prog. index" data;
    end
    
    call "set bet progression";
    
    put 100% of record "current bankroll" data to Bankroll;
    
    if record "table index" data = 1 then
    begin
        load single wheel;
    end
    else
    begin
        load double wheel;
    end
end

method "initialize"
begin
    set flag "previous location" to false;
    clear record "last spin" layout;
    clear record "even money" layout;
    put 0 on record "location index" data;

    put 100% of bankroll to record "current bankroll" data;
    put 0 to record "profit" data;
    copy list [number 1, number 3, number 5, number 7, number 9, number 11]
                                to record "low" layout;
    copy list [Number 2, Number 4, Number 6, Number 8, Number 10, Number 12]
                                to record "even" layout;
    copy list [Number 14, Number 16, Number 18, Number 19, Number 21, Number 23]
                                to record "red" layout;
    copy list [Number 13, Number 15, Number 17, Number 20, Number 22, Number 24]
                                to record "black" layout;
    copy list [Number 25, Number 27, Number 29, Number 31, Number 33, Number 35]
                                to record "odd" layout;
    copy list [Number 26, Number 28, Number 30, Number 32, Number 34, Number 36]
                                to record "high" layout;

    set list [1,3,6,12,21,33,52,90] to record "index" data;
end

method "reset"
begin
    put 1 on record "even bet" data index;
    put 1 on record "dozen bet" data index;
    put 1 on record "line bet" data index;
    put 1 on record "corner bet" data index;
    put 1 on record "street bet" data index;
    put 1 on record "split bet" data index;
    put 1 on record "street bet" data index;
    put 1 on record "straight bet" data index;
    set flag "location set" to false;
end

method "set bet progression"
begin
    //conservative mode
    if record "prog. index" data = 1 then
    begin
        put 7 on record "max location index" data;
        set list [1,2] to record "even bet" data;
        set list [1,2,3] to record "dozen bet" data;
        set list [1,2,3,4,5,6] to record "line bet" data;
        set list [1,2,3,4,5,6,7,8,9] to record "corner bet" data;
        set list [1,2,3,4,5,6,7,8,9,10,11,12] to record "street bet" data;
        set list [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
                  17,18,19] to record "split bet" data;
        set list [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
                  17,18,19,20,21,22,23,24,25,26,27,28,29,
                  30,31,32,33,34,35,36,37,38] to record "straight bet" data;
    end
    else
    //aggressive mode
    begin
        put 6 on record "max location index" data;
        set list [1,2] to record "even bet" data;
        set list [2,3,5] to record "dozen bet" data;
        set list [3,4,5,6,7,8] to record "line bet" data;
        set list [6,7,8,9,10,11,13,14,16] to record "corner bet" data;
        set list [13,14,16,17,19,20,22,24,26,29,31,34] to record "street bet" data;
        set list [24,26,27,29,31,32,34,36,38,41,43,46,48,
                  51,54,57,61,64,68] to record "split bet" data;
    end
end

Leave a Reply

Your email address will not be published. Required fields are marked *