New Members: Be sure to confirm your email address by clicking on the link that was sent to your email inbox. You will not be able to post messages until you click that link.
Why does the volume clause appears not to work as intended?
//Stock scan - Rank by last X days X= 6,22, etc. For some unknown reason, volume >150000 does not work very well, tried many things
[country is us] and
[type=stock] and
[Daily SMA(10,Daily Close) > 2] AND [Daily SMA(10,Daily close)<=12] and
[Daily EMA(30,Daily Volume) > 150000]
rank by [pctchange(22, CLOSE)]
//end of scan
As you can see, this is a very simple scan, but I cannot get the volume clause to work as intended, almost a third of the stocks returned are less than 150 k in volume, some stocks have volumes of 10k, 30K, etc. I know there is some slippage, but a third is too much. Have tried changing the parameters of the volume clause to no avail. Thanks
0
Answers
I ran your scan, which returned 800 stocks, and sampled about 10 of them. All had a 30 day average volume above 150K (I checked this by adding a 30 day MA to the volume window). However, on some, the volume on the individual bars varied widely. It only takes a couple of volume spikes to "distort" the average. I think that accounts for your individual bars around 10, 30K.
If you want to eliminate (or at least reduce) stocks with unusually high or low volume, you could add clauses like:
and [min(30, volume) > ema(30, volume) * 0.5]
and [max(30, volume) < ema(30, volume) * 2.0]
In other words, no stocks with a bar less than half today's 30 day average, and none with volume more than twice today's 30 day average.
This drops the hit number from 800 to 82, and the results seem to be symbols that trade more "normally".
You might want to play with the min/max parameters (0.5, 2.0). I'm not sure the "max" clause is necessary - big volume sometimes precedes important price moves, so you might want to compare results with/without it.