when you Lose: repeat previous bet
when you Win: increase by basebet size but only enough to maintain one basebet unit of profit per bet. If you already have won the base unit your next bet continues to be the basebet. And you never bet more than the amount required to total up to a profit
There are some tables here that show the progression: http://www.outsidebet.net/oscars-grind-roulette-system
Bet amount Outcome Total Profit
1 LOSS -1
1 LOSS -2
1 LOSS -3
1 LOSS -4
1 WIN -3
2 WIN -1
2 WIN 1
at the end, the player doesn't increase the bet amount beyond 2 because all that is required to accomplish a profit are 2 units. The script has to know to reset after each cycle of 1 unit of profit
That's actually pretty easy, but your example doesn't match the website. I think your final bet should have been a 3, because the prior bet was a win, and you have still not come into profit.
This is a start, but you need to figure out when do you stop?
roundprofit = 0
basebet = 1
nextbet = basebet
function dobet()
roundprofit += currentprofit
if (win) then
if (roundprofit < 0) then
nextbet = previousbet + basebet
else
nextbet = base
end
else
end
end
Thank you Chilly2k. The example I gave is from here: http://www.roulette30.com/2014/01/oscars-grind-system-pluscoup-progression.html
It stops at a final bet of 2 because that's all that is required to be +1 unit.
For stopping: I would just want to stop at a certain level of profit or a certain level of loss. At the end of a +1 unit cycle I would want to continue betting until the gain or loss limit was reached.
I tried the script provided but it doesn't do pluscoup.
the += operator means greater than or equal to, right? When does the "currentprofit" reset as a result of reaching +1 unit or how do we ensure we tell currentprofit to reset so that it restarts per pluscoup strategy? Wouldn't this mean a periodic balance check/reset as well?
I've tried to expand on the script with this:
basebet = 0.00005000
nextbet = basebet
profitsincelastcycle = 0
roundprofit = 0
function dobet()
roundprofit += currentprofit
profitsincelastcycle += lastBet.profit
if (win) then
if (roundprofit < 0) then
nextbet = previousbet + basebet
print(profitsincelastcycle)
print(nextbet)
else
nextbet = base
print(profitsincelastcycle)
print(nextbet)
end
end
if (!win) then
nextbet = previousbet
print(profitsincelastcycle)
print(nextbet)
end
end
end
But I'm getting reports like this:
runsim(0.1,20)
Running 20 bets Simulation with starting balance of 0.1
-4E-06
4E-06
0
5E-05
5E-05
5E-05
0.0001
5E-05
5E-05
5E-05
0
5E-05
5E-05
5E-05
0
5E-05
-5E-05
5E-05
-0.0001
5E-05
-5E-05
0.0001
-0.00015
0.0001
-5E-05
0.00015
-0.0002
0.00015
-5E-05
0.0002
0.00015
5E-05
0.0001
5E-05
0.00015
5E-05
0.0001
5E-05
5E-05
5E-05
Betting Stopped!
Simulation finished. Bets:21 Wins:10 Losses:11 Balance:0.1001 Profit:0.0001 Worst Streak:140 Best Streak:40
This looks closer. I'm still testing. Thank you again for your help. When I get this sorted I'll send some crypto your way.
basebet = 0.00005000
nextbet = basebet
profitsincelastcycle = 0
roundprofit = 0
chance = 49.5
function dobet()
roundprofit += currentprofit
profitsincelastcycle += lastBet.profit
if (win) then
if (roundprofit < 0) then
nextbet = previousbet + basebet
print ("WIN")
print(nextbet)
else
nextbet = base
print ("WIN")
print(nextbet)
end
end
if (!win) then
nextbet = previousbet
print ("LOSE")
print(nextbet)
end
end
end
The += is shorthand.
roundprofit += currentprofit is the same as
roundprofit = roundprofit + currentprofit
Also on the win path, when the roundprofit is not less then zero, (else part) you can add a a check if roundprofit > 0 then roundprofit = 0 end. In that path the roundprofit is either 0 or greater then 0. And zeroing it is like starting a new cycle.
Also I'm guessing your running with a chance of 50? Of whatever chance gives you 2 for 1 winning? At least thats what it would be for Red/Black in Roulette. In that case before you increase the bet, you can add a check and see if the current bet (previousbet) will be enough to put you in profit. If it will, just bet that amount, if not then bump the bet.
if (win) then
if (roundprofit < 0) then
if ((previousbet + roundprofit) > 0) then
nextbet = previousbet
else
nextbet = previousbet + basebet
end
print ("WIN")
print(nextbet)
else
nextbet = base
print ("WIN")
print(nextbet)
if (roundprofit > 0) then
roundprofit = 0
end
end
end
I think your last cycle variable should be exactly the same as roundprofit. You getting the same info from a different place.