Oracle (ORCL - Get Report) opened Wednesday at $52.75 below its quarterly pivot at $53.10, which indicates risk to its 200-day simple moving average at $50.66 -- where the stock is a buy.

One reason for the stock's decline so far this week is a downgrade by Macquarie. Their call is that Oracle's $10 billion share buyback program has ended and that its software pipeline has weakened.

At Wednesday's open, the stock is up 17.6% year to date and in bull market territory 24.8% above its Dec. 26 low of $42.40. The stock is just 5% below its all-time intraday high of $55.53 set on April 24.

Oracle reports quarterly earnings after the close on Wednesday, June 19 and analysts expect it to earn $1.07 to $1.08 per share. Oracle has been restructuring its business from being a software licensing company to a cloud-based subscription model. During this process Oracle has been acquiring numerous companies to advance its cloud software offerings. Oracle is reasonably priced with a P/E ratio of 17.42 and dividend yield of 1.81%, according to Macrotrends.

The Daily Chart for Oracle

Courtesy of Refinitiv XENITH

The daily chart for Oracle shows that Dec. 26 was a "key reversal" day. This is defined by setting a cycle low of $42.40 then closing at $44.59 above the Dec. 24 high of $43.83. This set the stage for its 2019 strength. The upside was then fortified by the formation of a "golden cross" on Feb. 14 when the 50-day simple moving average rose above the 200-day simple moving average, indicating that higher prices would follow and the all-time intraday high of $55.53 was set on April 24. Since this high, the stock traded as low as $49.89 on June 3 holding its 200-day simple moving average at $50.39. The stock is below its 50-day simple moving average at $53.79. The stock is just below its quarterly pivot at $53.10 and is well above its monthly and annual value levels at $49.63 and $47.54, respectively.

The Weekly Chart for Oracle

Courtesy of Refinitiv XENITH

The weekly chart for Oracle is neutral with the stock below its five-week modified moving average of $53.11. The stock is well above its 200-week simple moving average or "reversion to the mean" at $44.92. The 12x3x3 weekly slow stochastic reading is projected to rise to 52.37 this week up from 50.59 on June 14. When the stock set its all-time intraday high of 55.53 on April 24 this reading was above 90.00 at 93.56, which defines an "inflating parabolic bubble." When this formation occurs, the stock almost always declines 10% to 20% as the bubble pops. If this weakness reaches a value level or key moving average, it's time to buy the stock again.

Trading Strategy: Buy weakness to the 200-day simple moving average at $50.66 and add to positions on weakness to its annual value level at $47.54.

How to use my value levels and risky levels:

Value levels and risky levels are based upon the last nine weekly, monthly, quarterly, semiannual and annual closes. The first set of levels was based upon the closes on Dec. 31. The original semiannual and annual levels remain in play. The weekly level changes each week; the monthly level changed at the end of January, February, March, April and May. The quarterly level was changed at the end of March. My theory is that nine years of volatility between closes are enough to assume that all possible bullish or bearish events for the stock are factored in. To capture share price volatility investors should buy on weakness to a value level and reduce holdings on strength to a risky level. A pivot is a value level or risky level that was violated within its time horizon. Pivots act as magnets that have a high probability of being tested again before its time horizon expires.

The close on June 28 is the second most important for 2019. This close is an input to my proprietary analytics and will generate new weekly, monthly, quarterly and semiannual levels.

How to use 12x3x3 Weekly Slow Stochastic Readings:

My choice of using 12x3x3 weekly slow stochastic readings was based upon back-testing many methods of reading share-price momentum with the objective of finding the combination that resulted in the fewest false signals. I did this following the stock market crash of 1987, so I have been happy with the results for more than 30 years. The stochastic reading covers the last 12 weeks of highs, lows and closes for the stock. There is a raw calculation of the differences between the highest high and lowest low versus the closes. These levels are modified to a fast reading and a slow reading and I found that the slow reading worked the best. The stochastic reading scales between 00.00 and 100.00 with readings above 80.00 considered overbought and readings below 20.00 considered oversold. Recently I noted that stocks tend to peak and decline 10% to 20% and more shortly after a reading rises above 90.00, so I call that an "inflating parabolic bubble" as a bubble always pops. I also call a reading below 10.00 as being "too cheap to ignore."

Disclosure: The author has no positions in any stocks mentioned and no plans to initiate any positions within the next 72 hours.