To: Dale Wingo who wrote (6990 ) 10/3/1998 5:57:00 PM From: Dale Wingo Respond to of 11149
All, Well gang I hope this can be my first contribution to the thread in terms of a scan... In light of the saying "let the trend be your friend" I wrote the following scan to find the strongest performers over a given time frame. Comments Welcome! // Find stocks that have been consistently trending up. // // The technique is to compare a short term EMA against a longer // term EMA a number of times from the beginning of a window of time // to now. If the shorter EMA stays above the longer EMA the entire // time then it is "consistent". // // As the short term EMA is changed to shorter values the "smoother" // performance of the stock is observed. And conversely, as the short // term EMA is changed to longer values the performance of the stock // is more volatile. // // As the long term EMA is changed to shorter values a straighter line // is observed. // // Variable Definitions: // // intLongDays - Number of days in the "longer" EMA. Should always be > // intShortDays. // // intShortDays - Number of days in the "shorter" EMA. // // intHowFarBack - Number of days to be tested. Must be negative. // Input = "Common.lst"; Output="Out_AbovexxxdMA.lst"; ProcessMS = "c:\meta\Abovexxxdma\",VMS; issuetype=common; exchange nyse,nasdaq,amex; Integer intLongDays, intCount, intLoopStart; Integer intHit, intStep, intShortDays, intHowFarBack; intHowFarBack := -300; intShortDays := 20; intLongDays := 60; intStep := intShortDays /2; DaysToLoad = (intHowFarBack * -1)+ intLongDays +5; DaysRequired = (intHowFarBack * -1)+ intLongDays +5; intHit := 1; For intCount = intHowFarBack to 0 step intStep Do If emovavg(intCount,intShortDays,cl) < emovavg(intCount,intLongDays,cl) then intCount :=0; intHit :=0; EndIf; Next intCount; If intHit = 1 then // NOTE: Comment out the next line to make scan less sensitive to // recent corrections. If Close(0) => emovavg(0,intShortDays,cl) then println symbol:-6, ", ", Description:-30, ", xxx=", intLongDays:4, ", ", avgvol(0, -60):8:0, ", ", SharesFloat:8:0 ; EndIf; EndIf;