QP2 LogoM

MACD Crossover Buy

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 Paw Print 9.05k gifDownload MACDXB.exp (MACD Crossover Buy Scan)


Moving Average Crossover Buy

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;

Download MAXB.exp (MA Crossover Buy Scan) Paw Print 9.05k gif


When it comes to writing scans...

Please send comments and suggestions about this site to:
webmaster@unrulydog.com