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.
Scan for accumulation & trading range
Hi , i would like to ask for advise who to scan for Accumulation & stocks in a trading range
Tnx
0
Comments
[[exchange is NYSE] or [exchange is NASD]]
and [market cap > 100] // or whatever universe you choose
// Force MA(251) falling - Force is an accumulation indicator
and [sma(251, Force(251)) < 21 days ago sma(251, Force(251))]
// Force(251) above its MA 63
and [Force(251) > sma(63,Force(251))]
// Force MA 63 rising
and [sma(63, Force(251)) > 21 days ago sma(63, Force(251))]
// Pri MA 63 falling
and [sma(63, close) < 21 days ago sma(63, close)]
// Pri MA had been rising
and [sma(63,close) > 63 day ago sma(63, close)]
Force was originally designed as a short term indicator. I've customized the parameters to find longer term accumulation and it seems to work most of the time. The exception is when there is extreme volume. That distorts the ema for quite a while and may be showing accumulation when there isn't any really. When that happens, you can shorten the parameter, maybe to 63 (one quarter of trading on a daily chart) and see if it makes a difference.
You can get an idea of how often the scan picks up winners, and what winners look like, by back-dating the run date to, say, six or nine months ago or more. That will tell you what has happened to hits since the scan date. Then, to see the scan results as of the run date, so you can recognize the best candidates from current scans, use the start/end date feature on the chart workbench and apply to all, setting the end date to the back-dated scan date.
p.s. you will want to set up a chart style that includes the indicators / overlays used in the scan so you can verify the results.
Here's an example:
You don't need all the panels. Here are the settings. You may be able to copy and enlarge the images.
This appears to be the reason why:
https://www.investing.com/news/transcripts/earnings-call-transcript-mercer-int-q4-2024-beats-earnings-expectations-93CH-3884171
the period of MAX/MIN and/or by adjusting the multiplier to the ATR. The MAX/MIN period controls
the length of time that a stock has been in a trading range. Decreasing the period will yield more stocks,
and increasing the period will yield fewer stocks. Adjusting the ATR will modify the vertical span of the range.
Running the scan as is with the last 2 statements commented out yielded me 257 stocks. Uncommenting
the last 2 statements whittled it down to 129 stocks. The last 2 statements, when uncommented,
ensure that the stock is near one of the boundaries of the range, and the last statement ensures that the
most recent close in inside the range. Changing the ATR multiplier to 4 (and thus decreasing the vertical span of the range), while leaving the period alone, yielded 53 stocks when the last 2 lines are commented out, and returned 36 of those stocks when the last 2 statements are uncommented.
As far as accumulation goes, I'm not sure what you meant. But if your ultimate goal is to buy at the
bottom of the range and short at the top of the range, then uncomment the last 2 statements. Then put
the charts that are returned into a chartlist. At that point I would look at the stocks with some momentum
indicators set to short time periods for an entry.
//// Universe of stocks
//// Universe of stocks
[
// [group is ETF]
[exchange is NYSE]
or [group is SP500]
or [group is SP100]
or [group is SP400]
or [group is SP600]
or [group is NASDAQ100]
or [group is DOW30]
or [group is DOW65]
]
and [SMA(20, Volume) > 500000]
and [AbsVal(MAX(60,close) - MIN(60,close)) < 5 * ATR(14)] // Puts stock in a trading range
//and [[AbsVal(close - MAX(50,close)) < ATR(14)] or [AbsVal(close - MIN(50,close)) < ATR(14)]]
//and [[close < AbsVal(close - MAX(50,close))] or [close > AbsVal(close - MIN(50,close))]]
Accumulation means a preponderance of buying over selling not expressed by rising prices.
Two market gurus talked about the importance of spotting accumulation to anticipate a change in trend, Wyckoff and Granville.
Wyckoff claimed large market players would increase their stake in a promising stock after it had suffered a large decline by simply buying what was offered, instead of bidding prices up, which would put a floor on the price. When the market noticed the price was no longer falling, and started buying, too, the larger players would short the stock to put a ceiling on it until they had accumulated their full position. The floor and ceiling produced a range. But behind the scenes, the supply of stock available to buy was shrinking, and when the expected good news hit, price would jump because the stock was scarce. The jump would attract further attention and the up trend was underway.
Granville was not speaking of Wykoff, but he could have been. He said if you kept track of volume on up and down days, and compared the running total (what he called On Balance Volume, or OBV) to price, you would see divergences between price and OBV before a trend change. Before a trend changes, the number shares traded on trend days would start to fall, compared to the number of shares traded on counter-trend days.
So, if the trend was down, but days closing up traded more than days closing down, OBV would stop making new lows as price continued lower. Eventually, price would stop going down and OBV would turn up, and that signaled a change of trend was due. Vice versa at the top. Price would continue up as OBV turned down.
Since the advent of computers, several more accumulation/distribution indicators have emerged. A/D Line, Chaiken Money Flow, Chaikin Oscillator, Money Flow Index, and others. My favorite is Force Index by Alexander Elder, with the custom parameters shown on the MERC chart above. The Force calculation involves volume and the change in price, not just the direction, to incorporate a fraction of the volume into an EMA of a running total of volume. Divergences between price and Index foretell a change in direction, although the change can be a while in coming.
As in the MERC example above, if you find a stock with improving Force but price in a range above the low, look for the next earnings date as a possible launch of a new trend.
//// Universe of stocks
[
// [group is ETF]
[exchange is NYSE]
or [group is SP500]
or [group is SP100]
or [group is SP400]
or [group is SP600]
or [group is NASDAQ100]
or [group is DOW30]
or [group is DOW65]
]
and [SMA(20, Volume) > 500000]
and [AbsVal(MAX(60,close) - MIN(60,close)) < 5 * ATR(14)] // Puts stock in a trading range
// Put the recent close near one of the boundaries of the range
and [[AbsVal(close - MAX(60,close)) < ATR(14)] or [AbsVal(close - MIN(60,close)) < ATR(14)]]
// Make sure the recent close is inside the range
and [close < MAX(60,close)]
and [close > MIN(60,close)]