![]() |
M
This is my favorite MACD scan because it allows you to easily change the MACD parameters and yields crossovers below the zero line. The MACD Crossing Signal Line (variable) crossing signal line (variable), originally written by Brooke Elise Nagler, edited by Dennis A. Kranyak(http://www.unrulydog.com) to included companies that have a 30 day trading average of at least 50,000 shares and displays EPS and RS trends. See more of Brooke's scans, now located at the QP2 web site . A direct link is available on my "Good $urf'in" page. I have also inserted a line that requires float to be greater than zero, since the output calculations to determine % shares short uses float in the denominator. There are sometimes stocks that have float = zero in the data base, and this generates the dreaded "Cannot Divide By Zero" error. Please note also that the "Println" line has two line breaks inserted so that it would easily fit on the width of this web page. If you copy and past this scan, you will need to remove the line breaks in the Println statement for the scan to run properly.> output="macdbuyx.lst"; issuetype=common; exchange nyse,nasdaq,amex; DaysRequired=500; DaysToLoad=500; integer a, b, c; float histogram, histogramprev; a:=12; b:=26; c:=9; Set MACD = a,b,c; histogram:=MACD(0)-MACDSignal(0); //this creates oscillator to look //for macd crossing its signal line; 0 represents crossing point histogramprev:=MACD(-1)-MACDSignal(-1); //yesterday's value Printhdrln "Symbol,Company,Industry Group,Close,Change, % Chg,EPSRank,QRS,PE,Vol,30adv,SharesFloat,SharesShort, % Short"; if histogram > 0 and avgvol(0,-29)>50000 and // 30 day average volume greater than 50k per day Sharesfloat > 0 and macd (0) < 0 and close (0) >5.99 and histogramprev < 0 then println symbol , "," , Description,",",IRLsymbol:12,",",Close(0):7:2,",",Close(0)-Close(-1):7:2,",", ((Close(0)-Close(-1))/Close(-1))*100:7:2,",",EPSRank(0):3:0,",",QRS(0):3:0,",",PE:5:0,",",vol(0)/1000:8:1,",",avgvol (0,-29)/1000:8:1,",",Sharesfloat:5:0,",",Shortint:5:3,",",100*Shortint/(Sharesfloat):3:1; endif; Run the Scan to see results from the most recent market close
The 50 day moving average has crossed up over the 200 day moving average, filtered for common stocks, over $5 that have a 30 day average volume of 100k shares. output="maxb.lst"; issuetype=common; exchange nyse,nasdaq,amex; Printhdrln "Symbol,Close,EPSRank,QRS,30adv,Vol,PE,IRLGroup,SharesFloat,SharesShort,Name,InstHold"; if MovAvg(0,50,cl) > MovAvg(0,200,cl)and // The 50 day MA is above the 200 day ma today MovAvg(-1,50,cl) < MovAvg(-1,200,cl) and // The 50 Day MA was below the 200 day ma yesterday Close(0) >= 5 and // At least a 5 dollar stock AvgVol(0,-29) >= 100 then // The average 30 day volume is at least 100,000 shares println Symbol,",",Close(0):7:2,",",EPSRank(0):3:0,",",QRS(0):3:0,",",avgvol(0,-29):8:0,",",vol(0):8:0,",", PE:5:0,",",IRLsymbol:12,",",Sharesfloat:5:2,",",Shortint:5:2,",",description:-15,",",InstHold:3:2; endif; |
![]() |
webmaster@unrulydog.com |
|