NestWhileList

Update[x_,{WinFrac_,LoseFrac_}] := x+= RandomChoice[ {WinFrac,LoseFrac}->{1,-1}]
x>0

IsPositive[x_]:= x>0

RandomWalk[WinFrac_,InitialStack_]:= Module[
{x,LoseFrac=1-WinFrac, MAXRUNS=(10^4)},
NestWhileList[
#+ RandomChoice[ {WinFrac,LoseFrac}->{1,-1}]&,
InitialStack,
#>0 &,
1,
MAXRUNS
]
]

ListPlot[
Table[
SampleData=RandomWalk[0.5001,100],
{5}],
Joined->True
]

ListPlot[SampleData[[1;;100]]]

Table[
RandomChoice[ {0.25,0.75}->{1,-1}],
{100}]