The Labouchere System is a cancellation system. Like the martingale, it's a progressive betting system where you alter your bets based on whether you won or lost.  The Labouchere doesn't necessarily increase after every loss or decrease after every win, it depends on where you are in the progression.  It's a bit more complicated than most systems but easy enough to work out with a pen and paper.

 

You start off with a line of numbers, any numbers will do.  For example, 1,1,2,3.  The first bet is simply the first and last number added together.  In this case 4 units.  You bet on even chance bets only, so red/ black, high/ low, or odd/ even.

If this bet wins, you cross off those numbers leaving 1,2 whereas if it loses, you add the loss to the end and start again.  Your winnings are equal to the sum of the line if you get to cancel it all out. Let's work through an example.

Bet LineUnits StakedResultGain/ Loss
1-1-2-3 4lose-4
1-1-2-3-45lose-9
1-1-2-3-4-56lose-15
1-1-2-3-4-5-67win-8
1-2-3-4-56win-2
2-3-46lose-8
2-3-4-68lose-16
2-3-4-6-810win-6
3-4-69win+3
44lose-1
4-48win+7

In this case, the winnings are 7 units (sum 1,1,2,3). The more important thing to note here is that the gain was from six losses and only five wins. The starting line can be of any length and contain as many numbers as you want. The larger the line, the more you have to bet to clear the line.

You can see from the video, the Labouchere system does work in the short term and would work in the long term if it were not for the house limit.  I think in that regard it's much like the martingale.  The Labouchere system is good for if you want to make a set amount and quit.  Your night at the casino might be short but at least you walk away not losing.

 


system "Labouchere_System"

{The Laborchere is a cross-out system which begins with a list containing an
arbitrary sequence of numbers such as 1,2,3,4.
The next bet is determined by adding the first and last numbers in the list.
When the bet wins, the first and last numbers are crossed-out (zeroed out for the
System's purpose). When the bet loses, the lost amount is added to the end
of the list.
}
method "main"
begin
    While Starting a New Session
    begin
        Clear record "Progression list" data;
        Clear record "Pointer" data;
        call "Reset";
        call "Figure and make next bet";
        exit;
    end

    While Black has won each time
    begin
        Put 1 on record "Progression list" Data index;
        Put 0 on record "Progression list" data;
        put 100% of record "Pointer" data to
                        record "Progression list" data index;
        Put 0 on record "Progression list" data;
    end

    While Black has lost each time
    begin
        Add 1 on record "Pointer" data;
        put 100% of record "Pointer" data to
                        record "Progression list" data index;
        Put 100% of the last Black on record "Progression list" data;
    end

    Put 1 on record "Progression list" Data index;

    If record "Progression list" data = 0
    begin
        Move List Up by 1 to Record "Progression list" Data;
        Subtract 2 from Record "Pointer" Data;
        Put 1 on record "Progression list" Data index;
    end

    If record "Progression list" data = 0
    begin
        // Progression has won. Start Over
        call "Reset";
    end

    call "Figure and make next bet";
end

method "Reset"
begin
    Set List [1,2,3,4] on record "Progression list" data;
    Put 4 on record "Pointer" data;
    Put 1 on record "Progression list" Data index;
end

method "Figure and make next bet"
begin
    Put 1 on record "Progression list" Data index;
    Put 100% of record "Progression list" data on Black;

    While Record "Pointer" data> 1
    begin
        put 100% of record "Pointer" data to
                        record "Progression list" data index;
        Add 100% of record "Progression list" data on Black;
    end
end