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.
platform compression pattern
I am attempting to find (or create) an indicator that will tell what percent (0-100) the Chaikin oscillator is within its (high-low) range. The purpose is to identify "platform compression pattern" The pattern is formed when the Chaikin Oscillator takes on a minimal value for an extended period of time. Sample attached
One problem is that "minimal value" takes on a very different range depending on the volume traded, e.g. for MSFT with volume around 300 million, "minimal" Chaikin Oscillator might range within +/- 10 million. Whereas PACW with volume around 1 million, a "minimal" Chaikin Oscillator may range within +/1 10 thousand. Therefore the value of the oscillator itself cannot be used
I have tried correlating the oscillator with some bounded oscillator such as ADX or PPO but have been unable to find anything that reasonably correlates. It sounds to me that the answer would be a stochastic. ("The Stochastic Oscillator measures the level of the close relative to the high-low range over a given period of time").
I tried " [ 0 DAYS AGO Slow Stoch %K(14,3, Chaikin Osc(6,10)) < 20] ", for a succession of "days ago", but zero stocks returned.
So maybe you could set up a test of the difference between max and min values over, say, a month (21 bars), and compare, say, three months. If month 3 diff (the most recent month) is less than the month 2 diff, and the month 2 diff is less than month 1, the range should be narrowing. Or, you might test just for months 3 and 2 less than 1, to allow for variation.
If compression usually occurs around zero, you could also test for a 3 month max above zero and a 3 month min below zero, so the test above doesn't catch compression way above or below zero, if that's not what you want.
In finding the difference between the max and min, you have to take into account whether max or min or both or neither are above or below zero. If both are above zero, you can just subtract. If both are below zero, you would convert both to positive with absval( ), then subtract. If one is above zero and the other below, you would convert the one below to positive with absval( ), then ADD.
The scan engine doesn't allow "if-then" statements, so you have to test for each set of conditions and connect them with or statements.
It's a little complex.
P.S. I tried a variation of your Stochastic test above, using Fast K and set it to greater than zero, which must be true, but got no results. So, although using ChiOsc as the third term for Stoch passes syntax, it doesn't appear to execute as expected.