Смотрите, есть две случайные величины. Первая определяет, будет ли в данный момент открыта позиция, не важно длинная или короткая. Вторая величина определяет направление позиции, если принято решение об ее открытии:
if rnd(100)<=STOCHASTIC then LongPosition else ShortPosition
То есть при каждом новом прогоне сделки будут генерироваться случайным образом согласно заданным вероятностям.
Вот кусочек Велслаб-кода:
...
if not LastPositionActive then
begin
if Random * 100 < 2*abs(50-getseriesvalue(bar,Stochk1)) then
begin
po:=Random * 100;
if po < getseriesvalue(bar,Stochk1) then BuyAtMarket( Bar + 1, '0' );
if po > getseriesvalue(bar,Stochk1) then ShortAtMarket( Bar + 1, '0' );
end;
end;
....