The basic idea is to randomly select between bethigh == true, false or true/false
Changed routine so that flip is randomly generated, while hilo is controlled by
count of rolls above and below mid and when series of rolls are opposite and as long
as a loosing series based on balance
The 2x multiplier can and should be modified based on your balance.
As with any martingale time is an issue. The hope is the 1.1x bets will break up some of the 2x runs. It is slow but steady and can run for 48 hrs.
-- 3WaySplit_v2.1 Author GlenArven
-- The basic idea is to randomly select between bethigh == true, false or true/false
-- Changed routine so that flip is randomly generated, while hilo is controlled by
-- count of rolls above and below mid and when series of rolls are opposite and as long
-- as a loosing series based on balance
multiplier = 3
bethigh = true
bchance = 49.50 -- 2x chance
chance = bchance
tchance = 90.00
tmultiplier = 13 -- Need to fix ths so it calculates from balance
hilo = bethigh -- Control for bethigh
flip = false -- Switch to turn on flipping series for bethigh
runCnt = 0 -- Counter for number of rolls before stop()
runMax = 10000 -- Limit for counter for stop
switch = 0 -- randomly changed number used to cause flip to be true
tbase = 0.00000050 -- 1.1x base bet
base = 0.00000001 -- 2x base bet
nextbet = base
maxroll = 1 -- The number of roll that can happen based on the balance at the time of roll
aRoll = 50 -- Records previous roll
pRoll = 0 -- Records previous previous roll
-- tcnt2 = 0 -- Counter used to start a hilo reverse / Replaced with runCnt
tlim = 100 -- Limit for counter
tcntlo = 0 -- Count of rolls below mid
tcnthi = 0 -- Count of rolls above mid
mTwoh = 50.49 -- bethigh middle of 50/50
mTwol = 49.50 -- !bethigh middle of 50/50
roll = 0 -- Counter for series of rolls above or below mid
hlim = 90.00 -- Upper limit of 1.1x bet
llim = 9.99 -- Lower limit of 1.1x bet
lten1 = false
hten1 = false
pbet = 0 -- Stores sumation of previous bets during loosing streak
tbet = 0 -- 1.1x bet required to recover 2x loosing streak
tbal = 0
tdiv1 = 1 --2380 -- 183 -- Divisor of balance to calc 1.1x bet that will at least break even from a loosing 2x streak
tdiv2 = 14 --183 -- Divisor of balance to calc 1.1x bet after win 2x bet
tdiv3 = 183
tdiv4 = 2380
tdiv5 = 30941
tdiv = 0 -- Divisor of balance for 1.1x bets
div = 0
rand = 0
function dobet()
-- Same switch but extended to 6 draws on 1.1x
-- Use after 300k
if balance > 0.00300000 then
div = math.random(0,10000)
if ((div > 123) and (div < 128)) then
tdiv = tdiv1
else
if div < 100 then
tdiv = tdiv2
else
if div < 1000 then
tdiv = tdiv3
else
if div < 7500 then
tdiv = tdiv4
else
tdiv = tdiv5
end
end
end
end
else
-- random switch for 1.1x base bet divisor
-- For use with balance < 300k
div = math.random(0,1000)
if div < 2 then
tdiv = tdiv1
else
if div < 10 then
tdiv = tdiv2
else
if div < 200 then
tdiv = tdiv3
else
tdiv = tdiv4
end
end
end
end
-- End switch
pRoll = aRoll
-- Process stop
runCnt = runCnt + 1
if (runCnt > runMax) then
print("Process Complete!")
stop()
end
-- End Process stop
-- Random switch for bethigh = true, false or true/false
if math.random(0,1) == 1 then
if math.fmod(runCnt, 2) == 0 then
switch = math.random(0,3)
end
if switch == 1 then
flip = true
else
flip = false
end
end
-- print(switch)
-- End flip switch
-- Funtion to set maxroll
-- Based on balance and multiplier.
m = multiplier
b = base
if ((balance > (b * m^0)) and (balance < (b * m^1))) then
maxroll = 1
else
if ((balance > (b + (b * m^1))) and (balance < (b + (b * m^1) + (b * m^2)))) then
maxroll = 2
else
if ((balance > (b + (b * m^1) + (b * m^2))) and (balance < (b + (b * m^1) + (b * m^2) + (b * m^3)))) then
maxroll = 3
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4)))) then
maxroll = 4
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5)))) then
maxroll = 5
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6)))) then
maxroll = 6
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7)))) then
maxroll = 7
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8)))) then
maxroll = 8
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9)))) then
maxroll = 9
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10)))) then
maxroll = 10
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11)))) then
maxroll = 11
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11) + (b * m^12)))) then
maxroll = 12
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11) + (b * m^12))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11) + (b * m^12) + (b * m^13)))) then
maxroll = 13
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11) + (b * m^12) + (b * m^13))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11) + (b * m^12) + (b * m^13) + (b * m^14)))) then
maxroll = 14
else
if ((balance > (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11) + (b * m^12) + (b * m^13) + (b * m^14))) and
(balance < (b + (b * m^1) + (b * m^2) + (b * m^3) + (b * m^4) + (b * m^5) + (b * m^6) + (b * m^7) + (b * m^8) + (b * m^9) + (b * m^10) + (b * m^11) + (b * m^12) + (b * m^13) + (b * m^14) + (b * m^15)))) then
maxroll = 15
else
maxroll = 16
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
-- End set maxroll
aRoll = lastBet.Roll
-- Switches hilo based on a count of rolls above and below 50
if aRoll > 50.00 then
tcnthi = tcnthi + 1
else
tcntlo = tcntlo + 1
end
if math.fmod(runCnt, 50) == 0 then -- Tied runCnt in as counter and removed tcnt2 as is duplicate
if tcnthi > tcntlo then
hilo = true
else
hilo = false
end
end
if math.fmod(runCnt, 500) == 0 then
if tcnthi > tcntlo then
tmp = tcnthi - tcntlo
tcnthi = 0
tcntlo = 0
tcnthi = tmp / 2
else
tmp = tcntlo - tcnthi
tcnthi = 0
tcntlo = 0
tcntlo = tmp / 2
end
end
-- End switch
-- Attempts to reverse bethigh when roll on one side of midpoint for max bet number of times.
-- If max losses for balance is 10 bets then if 10 wins happens bethigh is reversed.
if hilo then
if ((aRoll > mTwoh) and (pRoll > mTwoh)) then
roll = roll + 1
else
roll = 1
end
else
if ((aRoll < mTwol) and (pRoll < mTwol)) then
roll = roll + 1
else
roll = 1
end
end
if (roll > maxroll) then
if hilo then
hilo = false
else
hilo = true
end
end
-- End Reverse
if aRoll < llim then
lten1 = true
hten1 = false
else
if aRoll > hlim then
lten1 = false
hten1 = true
else
lten1 = false
hten1 = false
end
end
-- Begin bet calcs
if win then
pbet = 0
tbet = 0
tbal = 0
if ((balance / tdiv) > 0.0000001) then
tbet = balance / tdiv
else
tbet = 0.0000001
end
if lten1 then
--print("Bet lten1")
bethigh = true
nextbet = tbet
chance = tchance
else
if hten1 then
--print("Bet hten1")
bethigh = false
nextbet = tbet
chance = tchance
else
if flip then
if bethigh then
bethigh = false
nextbet = base
chance = bchance
else
bethigh = true
nextbet = base
chance = bchance
end
else
bethigh = hilo
chance = bchance
nextbet = base
end
end
end
else
--print("loss")
if chance == tchance then
pbet = 0
nextbet = previousbet * tmultiplier
else
if chance == bchance then
pbet = pbet + previousbet
tbet = pbet * 10
if ((balance / tdiv) > 0.0000001) then
tbal = balance / tdiv
else
tbal = 0.0000001
end
if (tbet < tbal) then -- Attempts to keep 1.1x from running once 2x bet is too high to quit
if lten1 then
--print("Bet lten1")
nextbet = tbal
bethigh = true
chance = tchance
else
if hten1 then
--print("Bet hten1")
nextbet = tbal
bethigh = false
chance = tchance
else
nextbet = previousbet * multiplier
chance = bchance
if flip then
if bethigh then
bethigh = false
else
bethigh = true
end
else
nextbet = previousbet * multiplier
bethigh = hilo
chance = bchance
end
end
end
else
nextbet = previousbet * multiplier
chance = bchance
if flip then
if bethigh then
bethigh = false
else
bethigh = true
end
else
nextbet = previousbet * multiplier
bethigh = hilo
chance = bchance
end
end
end
end
end
-- End bet calcs
end -- End dobet