// --- settings
RISK=3
//MAperiod = 100
// --- end of settings
//ima = average[maperiod]
value10=3+RISK*2
x1=67+RISK
x2=33-RISK
value11=value10
shift=0//CountBars-11-1
buysig=0
sellsig = 0
Counter=shift
iRange=0.0
AvgRange=0.0
for Counter=shift to shift+9 do
AvgRange=AvgRange+Abs(High[Counter]-Low[Counter])
next
iRange=AvgRange/10
Counter=shift
TrueCount=0
while (Counter<shift+9 and TrueCount<1) do
if (Abs(Open[Counter]-Close[Counter+1])>=iRange*2.0) then
TrueCount=TrueCount+1
endif
Counter=Counter+1
wend
if (TrueCount>=1) then
MRO1=Counter
else
MRO1=-1
endif
Counter=shift
TrueCount=0
while (Counter<shift+6 and TrueCount<1) do
if (Abs(Close[Counter+3]-Close[Counter])>=iRange*4.6) then
TrueCount=TrueCount+1
endif
Counter=Counter+1
wend
if (TrueCount>=1) then
MRO2=Counter
else
MRO2=-1
endif
if (MRO1>-1) then
value11=3
else
value11=value10
endif
if (MRO2>-1) then
value11=4
else
value11=value10
endif
value2=100-Abs(Williams[value11](close)[shift]) // PercentR(value11=9)
//$Tablevalue2[shift]=value2
//$val1[shift]=0
//$val2[shift]=0
//value3=0
//atr=AverageTrueRange[14](close)
if (value2<x2) then
//signals
if value2[1]>x2[1] and lastsig>=0 then
sellsig = 1
lastsig = -1
//drawarrowup(barindex,low-atr/2) coloured(0,255,0)
endif
endif
if (value2>x1) then
//signals
if value2[1]<x1[1] and lastsig<=0 then
buysig = 1
lastsig = 1
//drawarrowdown(barindex,high+atr/2) coloured(255,0,0)
endif
endif
//distance = close/ima
condition = sellsig=1 or buysig=1 //and (distance>=.95 and distance<=1.05)
screener[condition]//(distance as "distance")