You are on page 1of 7

-- UM2xV10x_v2b

-- Author : GlenArven
-- Hangout : Primedice
-- The ultimate martingale script
-- The only thing you need to decide on is what the basebet will be .
-- Based on your available balance, the minimum balance and 2x bet multiplier are
calculated.
-- Bethigh is selected based on past rolls. Nothing is perfect but this system
works the best.
-- Not going to fully explain it. Look at the code and figure it out.
-- Added currentstreak reverse variable = forward
-- Added 1.1x bets
-- Added automatic calculations for 1.1x balance divisor
-- fully automatic can set basebet and it will do the rest.
-- It can run at very low balances. But the higher the balance the longer it should
run.
-- Send donations to 113JwiMN19MyziPEDohuFDrhujgzGrnqz4
-- Enjoy!!

basebet = 0.00000010
tbase = 0.00000010
nextbet = basebet
bchance = 49.5000 -- 2x bet chance
tchance = 90.0000 -- 10x bet chance
chance = bchance
bhilo = true -- 2x bethigh switch
if (math.random(0,1) ==1) then
bhilo = true
else
bhilo = false
end
thilo = true -- 10x bethigh switch
runCnt = 0 -- run counter
runMax = 10000 -- Maxmimum rolls
bmulti = 2.25 -- 2x bet multiplier
lmulti = 2.25 -- Lower limit of bet multiplier
multi = 2.00 -- 2x bet multiplier variable
tmulti = 13 -- 10x bet multiplier
tmaxroll = 0 -- Output variable
maxroll = 0 -- Maximum number of rolls that can
be done with current balance and bet multiplier
aRoll = 50 -- lastBet.Roll storage
bRoll = 49 -- previous roll
bloss = 0 -- loss counter
blossmax = 0 -- max loss output variable
nextbal = balance -- next balance
minbal = 0 -- minimum balance before restart.
Script does not stop. It restarts again with available balance.
reverse = false -- currentstreak reverse switch
tlo = 9.99 -- Lower limit of 10x bet
thi = 90 -- Upper limit of 10 bet
tgo = false -- 1.1x bet switch
tbaldiv = 2380 -- 1 == 1 bet , 14 == 2 bets, 183
== 3 bets, 2380 == 4 bets, 30941 == 5 bets, 402234 == 6 bets plus the 2 bet count
to start 1.1x bets
tbaldiv2 = 183
tenbets = 0 -- Counter for 1.1x bets
x2loss = 0

-- initialize array for max multiplier based on maxroll


-- Initialize bray[75]
mcnt = 75
bray = {}
for n = 0, mcnt do
bray[n] = lmulti + (0.01 * n) -- Array of bet multiplier values
end
-- End initilization

-- Initialize arrays for streak tracking


-- This is used to stay on the better side of 50 when betting 2x
tcnt = 19
trkl = {}
trkh = {}
for n = 0, tcnt do
trkl[n] = 0
trkh[n] = 0
end
-- END array initialization

function dobet()

bRoll = aRoll
aRoll = lastBet.Roll

if ((balance > nextbal) and (runCnt > runMax)) then


print("Finished")
stop()
end

if (balance > nextbal) then


nextbal = balance
end

if ((math.fmod(runCnt, 100) == 0) or (runCnt == 0)) then


-- Function to set minbal
-- Based on balance and multiplier.
m = lmulti -- Will always be base multiplier
b = basebet

cnt1 = 0
car1 = 0
car2 = 0
car1 = b
for cnt1 = 0, 30 do
car2 = car1 + (b * m^(cnt1 + 1))
if (balance > (2 * car2)) then
minbal = car2
end
car1 = car2
end
end
-- END Function to set minbal

-----------------------------------------------------------------------------------
----------------
-- Start process to determine current bet multiplier

if ((math.fmod(runCnt, 100) == 0) or (runCnt == 0)) then


multi = 2.00
tmaxroll = 0
for n = 0, mcnt do
bmulti = bray[n]

-- Funtion to set maxroll


-- Based on balance and multiplier.
m = bmulti
b = basebet
car1 = 0
car2 = 0

car1 = b
counter = 0
found = false
while (counter<=30 and (!found)) do
car2 = car1 + (b * m^(counter+1))
if ((balance > car1) and (balance < car2)) then
maxroll=counter+1
found = true
end
car1 = car2
counter+=1
end
-- End set maxroll

if ((maxroll >= tmaxroll) and (bmulti >= multi)) then


tmaxroll = maxroll
multi = bmulti
end
end -- End for statement
bmulti = multi -- Output 2x multiplier
maxroll = tmaxroll -- test first
end -- End of if statement
-----------------------------------------------------------------------------------
----------------
-- End process to set bet multiplier

-- 2x bet Streak tracking


-- Continuous array population
for n = 0, (tcnt - 1) do
trkl[n] = trkl[n + 1]
trkh[n] = trkh[n + 1]
end
if (aRoll < 50) then
trkl[tcnt] = 1
trkh[tcnt] = 0
else
if (aRoll > 49.99) then
trkl[tcnt] = 0
trkh[tcnt] = 1
end
end
-- END array population

-- Sumation
lcnt = 0
hcnt = 0
for n = 0, tcnt do
lcnt += trkl[n]
hcnt += trkh[n]
end
-- END Sumation

-- currentstreak reverse
neg = math.floor(maxroll / 2)
if (currentstreak < -(neg)) then
if reverse then
reverse = false
else
reverse = true
end
end
-- END currentstreak reverse

-- Begin Test
if (runCnt > tcnt) then
if (reverse) then
if (lcnt > hcnt) then
bhilo = true -- Tests seem to indicate reverse is better than forward.
else
if (lcnt < hcnt) then
bhilo = false
end
end
else
if (lcnt > hcnt) then
bhilo = false
else
bhilo = true
end
end
end
-- END Test
-- END 2x bet Streak Tracking

-- tbaldiv calc
-- Sets tbaldiv to a safe 1.1x bet based on balance
-- tbaldiv2 is one roll less safe
if ((math.fmod(runCnt, 100) == 0) or (runCnt == 0)) then
if (balance < 0.00002380) then
tbaldiv = 183 -- 3 rolls
tbaldiv2 = 14 -- 2 rolls
else
if (balance < 0.00030941) then
tbaldiv = 2380 -- 4 rolls
tbaldiv2 = 183 -- 3 rolls
else
if (balance < 0.00402234) then
tbaldiv = 2380 -- 4 rolls

tbaldiv2 = 183 -- 3 rolls


else
if (balance < 0.05229043) then
tbaldiv = 2380 -- 4 rolls
tbaldiv2 = 183 -- 3 rolls
else
if (balance < 0.67977560) then
tbaldiv = 30941 -- 5 rolls
tbaldiv2 = 2380 -- 4 rolls
else
if (balance > 0.67977560) then
tbaldiv = 402234 -- at least 6
rolls
tbaldiv2 = 30941 -- at least 5
rolls
end
end
end
end
end
end
end
-- END tbaldiv calc

-- 1.1x bet test


if ((aRoll < tlo) and (bRoll < tlo)) then
tgo = true
thilo = true
else
if ((aRoll > thi) and (bRoll > thi)) then
tgo = true
thilo = false
end
end
-- END 1.1x bet test

-- Calculate 1.1x basebet


if (math.random(0,4) == 1) then
tbase = balance / tbaldiv2
else
tbase = balance / tbaldiv
end
-- END calculate 1.1x basebet
-- END 1.1x bet test

if (bloss > blossmax) then


blossmax = bloss
end

-- Begin bet calcs


if (chance == bchance) then
if (balance > minbal) then
if win then
x2loss = 0
if tgo then
tenbets += 1
chance = tchance
nextbet = tbase
bethigh = thilo
else
bethigh = bhilo
nextbet = basebet
bloss = 0
end
else
x2loss += previousbet
if tgo then
tenbets += 1
if ((x2loss) < (tbase / 10)) then
chance = tchance
nextbet = tbase
bethigh = thilo
x2loss = 0
else
nextbet = previousbet * bmulti
bloss += 1
bethigh = bhilo
tgo = false
end
else
nextbet = previousbet * bmulti
bloss += 1
bethigh = bhilo
end
end
else
nextbet = basebet
bethigh = bhilo
chance = bchance
end
else
if (chance == tchance) then
if win then
chance = bchance
nextbet = basebet
bethigh = bhilo
tgo = false
bloss = 0
x2loss = 0
else
nextbet = previousbet * tmulti
end
end
end

print("bmulti:" .. bmulti .. " lcnt:" .. lcnt .. " hcnt:" .. hcnt .. " MaxRoll:" ..
maxroll .. " MaxLoss:"
.. blossmax .. " Betsx1.1:" .. tenbets .. " Minbal:".. minbal)

runCnt += 1

end --END dobet()

You might also like