John,
Yes, I believe WOW uses an ema, and that could be most of the difference right there.
I have been playing around with a StochRSI scan too. Just got it into a semi-finished form today, in fact. It is not as versatile as yours, and _definitely_ not as fast, but it may be of interest to some WOW users. Results followed by scan:
WOW TEST WOW TEST 9-26 9-26 9-25 9-25
AACE 57.0641 57.0682 52.6179 52.6225 ACTM 55.9879 55.9877 52.0644 52.0641 ADIC 56.4257 56.4248 61.3381 61.3371 AFCX 42.9318 42.9344 45.8441 45.8468 AFL 24.3925 24.3924 28.1349 28.1348
output="digistoc.lst" input="stochyin.lst" integer big, lessbig, K, H, N float A, B, fina, emac, StochRSI, YStochRSI N := 14 set RSI = 14 big := 112 lessbig := 97 fina := 0 A := 0 B := 0 StochRSI := 0 YStochRSI := 0 emac := 2.0/(1.0 + N) for K = big to lessbig+1 step -1 A := (RSI(-K+2) - Min(-K+2, -K-N+3, RSI)) / (0.000001 + | Max(-K+1, -K-N+2, RSI) - Min(-K+1, -K-N+2, RSI)) fina := fina + A next K
StochRSI := fina / (N+1) * 100 YStochRSI := fina / (N+1) * 100 for H = lessbig to 1 step -1 A := (RSI(-H+1) - Min(-H+1, -H-N+2, RSI)) / (0.000001 + | Max(-H+1, -H-N+2, RSI) - Min(-H+1, -H-N+2, RSI)) B := (RSI(-H) - Min(-H, -H-N+1, RSI)) / (0.000001 + | Max(-H, -H-N+1, RSI) - Min(-H,-H-N+1, RSI)) StochRSI := (A * 100 - StochRSI) * emac + StochRSI YStochRSI := (B * 100 - YStochRSI) * emac + YStochRSI next H if StochRSI > 0 then println symbol, " StochRSI",",",StochRSI:8:4," //(artificial //line break) YStochRSI",",",YStochRSI:8:4 endif
As I said, this thing is _slow_. In fact, it is slower than the StochRSI function in WOW. If making use of it reduces the MS conversion time sufficiently to pay for the wait, it might be usable. Otherwise, it's just a curiosity.
-Gary |