If your target is to get a profit of 50%, it is better to play one single x1.5 bet than to play thousands of martingale bets as you will have a better chance to make it.
True. But it's better still to play a single martingale sequence than to make a single bet.
Instead of betting 2 units at 1.5x (66%) to get to 3 units, with a chance of success of 66%, try betting root(3)-1 units with a multiplier of (3 + root(3))/2, and if you lose, bet the rest at the same multiplier. If either bet wins, you'll have 3 units. Your chance of success is 66.1768%, which is higher.
The single martingale sequence has a lower expected risk, and so has a lower expected loss.
But his other calculation was wrong, wasnt it? He calculated the chances to be 66% using the bet at 1.5x vs 50% using martingale, that was wrong.
Yes his calculations seem slightly off most likely because he didn't factor in the house edge.
I have already assume a 1% of house edge, which resulted in the 66% win chance for x1.5 bet and 49.5% win chance for a x2 bet in my previous post.
But yup my calculation is kind of slightly off, not because of the house edge but because of the exit condition.
In my original calculation, I simplified the scenario and considered the gambler is busted after a 20 loss streak.
In fact, the gambler will still have a small balance left that is not enough for him to continue doubling the bet size.
After some re-thinking, I found it a bit unfair to compare it directly with a simple x1.5 bet as the latter "strategy" will only end in two state: 0.015 btc or 0 btc.
As a result, I have considered a refined case that the gambler will go all in if he can't double his bet.
If that all-in bet is a win, the gambler will set his base bet back to 0.00000001 and continue with his martingale as usual.
If that all-in bet is a loss, he will have nothing left and will have to quit.
I have written a few lines of code to do a Monte Carlo simulation in R of it:
start_time <- proc.time()
Success = 0
Iteration = 5000
for (n in 1:Iteration) {
Balance <- 0.01
Bet <- 0.00000001
while (TRUE) {
if (runif(1) < 0.505) {
Balance <- Balance - Bet
Bet <- min(Bet * 2, Balance)
}
else {
Balance <- Balance + Bet
Bet <- 0.00000001
}
if (Balance == 0)
break
else if (Balance >= 0.015) {
Success <- Success + 1
break
}
}
}
Chance <- Success/Iteration
end_time <- proc.time()
Out of the 5000 iterations, 2942 of it end with successful making 0.015 btc and thus the chance is 0.5884%.
The chance is higher than my previous calculation, because now the gambler will not quit after a 20 loss streak but go all in and has a chance of recouping the loss and making 0.015 in the end.