Lover sikker seier i teorien, men vi setter Martingale-bettingstrategien på en praktisk prøve. Fungerer det å doble innsatsen? Gjennomgang med simuleringer og video.
Martingale-metoden oppsto i Frankrike på 1700-tallet og er fortsatt en av de mest kjente innsatsstrategiene den dag i dag. Populariteten kan tilskrives tre ting:
Som vi vet, i roulette kan vi satse på om ballen vil lande i et rødt eller svart spor. Hvis vi gjetter riktig, vinner vi et beløp som tilsvarer innsatsen vår, noe som betyr at hvis innsatsen er $100, så er gevinsten også $100 (sammen med innsatsen blir det totalt $200, som vi får tilbake).
La oss anta at vi satser $100 på rødt. Ifølge Martingale-strategien, hvis vi taper innsatsen, dobler vi innsatsen i neste runde, det vil si at vi legger $200 på rødt. Dette sikrer at hvis rødt vinner, får vi tilbake de $100 vi tapte i første runde, og vi tjener også en ekstra $100. Hvis svart skulle vinne igjen, ville vi nok en gang doble innsatsen, og plassere $400 på rødt. I hovedsak fortsetter vi å doble innsatsen vår på rødt til det dukker opp. Når det skjer, kan vi starte prosessen på nytt og tilbakestille grunninnsatsen til $100.
I praksis er denne metoden hovedsakelig begrenset av to faktorer:
For å hjelpe deg med å bruke denne strategien, har vi laget et Excel-regneark der du kan legge inn størrelsen på startinnsatsen din, og deretter finne ut hvor mye mer du må satse i tilfelle hvert tap. Du kan bruke dette for rulett eller et lignende spill der du kan vinne tilbake dobbelt innsatsen din. På samme måte kan du bruke tabellen nedenfor som tar utgangspunkt i en startinnsats på $100. Tabellen viser også sannsynligheten for en tapsrekke i europeisk rulett (som for eksempel svart/rød innsatser).
Tapende trinn | Nødvendig innsats | Sjanse for å skje |
---|---|---|
1 | 100 | 48.600000% |
2 | 200 | 23.6196000% |
3 | 400 | 11.4791256% |
4 | 800 | 5.5788550% |
5 | 1,600 | 2.7113236% |
6 | 3,200 | 1.3177032% |
7 | 6,400 | 0.6404038% |
8 | 12,800 | 0.3112362% |
9 | 25,600 | 0.1512608% |
10 | 51,200 | 0.0735128% |
11 | 102,400 | 0.0357272% |
12 | 204,800 | 0.0173634% |
13 | 409,600 | 0.0084386% |
14 | 819,200 | 0.0041012% |
15 | 1,638,400 | 0.0019932% |
16 | 3,276,800 | 0.0009687% |
17 | 6,553,600 | 0.0004708% |
18 | 13,107,200 | 0.0002288% |
19 | 26,214,400 | 0.0001112% |
20 | 52,428,800 | 0.0000540% |
For å svare på spørsmålet har vi laget et dataprogram som simulerer 10 000 rulettspinn og en simulert spiller som bruker denne strategien. Du kan også se kildekoden til denne simuleringen i denne artikkelen.
Etter å ha kjørt simuleringen, det vil si de 10 000 rulettspinnene, 100 ganger, fant vi ut at denne strategien bare klarte å resultere i en fortjeneste 11 ganger. I disse tilfellene endte spilleren opp med et beløp mellom to og seks ganger sin startkapital. Imidlertid, i flertallet av tilfellene, det vil si de gjenværende 89 gangene, gikk spillerens saldo tom lenge før den 10 000. runden.
Det som generelt kan sies er at denne strategien er i stand til å generere en positiv saldo på kort sikt. Imidlertid møter spilleren før eller senere en rekke med uflaks, noe som resulterer i tap av all kapital.
Du kan kjøre Python-koden for Martingale-simuleringen. Den er best egnet for å kjøre i et Jupyter-notatbokmiljø, som for eksempel den gratis Google Colab-notatboken.
import random
import seaborn as sns
import matplotlib.pyplot as plt
mpockets = ["Red"] * 18 + ["Black"] * 18 + ["Green"] * 1
mrolls = []
def makeRandomRolls():
global mrolls
mrolls = []
mi = 0
while mi < 10000000:
mi += 1
mrolls.append(random.choice(mpockets))
def always_red_Martingale(bankroll, maxspin):
bankroll = 100
bet = 1
currentSpin = -1
pockets = ["Red"] * 18 + ["Black"] * 18 + ["Green"] * 1
bankroll_history = []
roll_history = []
betTrigger = False
while (bankroll > 0) and (currentSpin < maxspin):
currentSpin = currentSpin + 1
roll = mrolls[currentSpin]
roll_history.append(roll)
if bet > bankroll:
bet = bankroll
#print('!!! BET Larger than bankrol. Setting max bet to: ' + str(bankroll))
if betTrigger == True:
if roll == "Red":
#print('!!! Bet placed and Won. Bet was: ' + str(bet))
bankroll += bet
bet = 1
betTrigger = False
else:
bankroll -= bet
bet *= 2
#print('!!! Bet placed and LOST. New bet is: ' + str(bet))
if (currentSpin > 2) and \
(roll_history[-1] == "Black") and \
(roll_history[-2] == "Red"):
betTrigger = True
bankroll_history.append(bankroll)
return bankroll_history
sns.set(rc={'figure.figsize':(18.7,8.27)})
MS = 10000
makeRandomRolls()
plt.plot(always_red_Martingale(bankroll=100,maxspin=MS), linewidth=2, label='Player using Martingale strategy, always bets on red (with 1 USD)')
plt.xlabel("Number of roulette spins", fontsize=18, fontweight="bold")
plt.ylabel("Balance (USD)", fontsize=18, fontweight="bold")
plt.xticks(fontsize=16, fontweight="bold")
plt.yticks(fontsize=16, fontweight="bold")
plt.title("How balance changes with each roulette spin (bet)", fontsize=22, fontweight="bold")
plt.legend(loc="upper left")