New, but not necessarily ground breaking, here's an idea I've been toying with visualizations for for a while.
This is a way of looking at price channels as an oscillator, with a long-term average to show compression of the price range.
There are several lines going on here:
1. Black - Upper and Lower Price Channel bounds, adjusted to bound the zero line.
2. Red - Price line. This is where in the price channel the adjusted current price is.
3. Blue (solid) - Zero line.
4. Blue (long dash) - Long Average Price Line, for reference.
5. Black (short dash) - Long Average Lower Bound - this is the compression indication.
Some illustrations for eye-candy and explanation:
This was a ranging day. after clearly expanding the range in the first period of the day (as shown by the red cloud between the average range and the current channel range) the price range began to contract just before mid-day. The blue cloud indicates a compression of the price range or near steady ranges with no drastic movements. The red Price Line moves back and forth between the upper and lower bounds on the price channel and the average price line (long blue dash) really doesn't deviate very far from the zero line.
Down trending day. The price line moved along the bottom of the price channel all day, until late in the session when it barely moved back up to zero. The range continually expanded until just after that, and was larger in magnitude than the long term average range all day.
Up trend day -- everyone's favourite. The price action line doesn't drop below the zero line with the exception of a short morning pullback until late in the session. The market starts to slow down (as you may see from the range shifting outside it's long term trend to inside the long term trend) just before lunch. The range compresses, and the price line moves below zero near the end of the session.
This indicator seems to provide an interesting view of price action, though I have not developed any entry/exit signals from it, it does show trend exhaustion or indecision with some accuracy.
I have not tested for better / more effective lengths. It is presented as is and for your consideration, and not an endorsement of any particular whispers it may send you.
Link to study:
http://tos.mx/FoU94gV
Code:
If it makes you profitable, cool. Let me know in the comments how you use this thing.
Happy Trading,
Mashume
This is a way of looking at price channels as an oscillator, with a long-term average to show compression of the price range.
There are several lines going on here:
1. Black - Upper and Lower Price Channel bounds, adjusted to bound the zero line.
2. Red - Price line. This is where in the price channel the adjusted current price is.
3. Blue (solid) - Zero line.
4. Blue (long dash) - Long Average Price Line, for reference.
5. Black (short dash) - Long Average Lower Bound - this is the compression indication.
Some illustrations for eye-candy and explanation:
This was a ranging day. after clearly expanding the range in the first period of the day (as shown by the red cloud between the average range and the current channel range) the price range began to contract just before mid-day. The blue cloud indicates a compression of the price range or near steady ranges with no drastic movements. The red Price Line moves back and forth between the upper and lower bounds on the price channel and the average price line (long blue dash) really doesn't deviate very far from the zero line.
Down trending day. The price line moved along the bottom of the price channel all day, until late in the session when it barely moved back up to zero. The range continually expanded until just after that, and was larger in magnitude than the long term average range all day.
Up trend day -- everyone's favourite. The price action line doesn't drop below the zero line with the exception of a short morning pullback until late in the session. The market starts to slow down (as you may see from the range shifting outside it's long term trend to inside the long term trend) just before lunch. The range compresses, and the price line moves below zero near the end of the session.
This indicator seems to provide an interesting view of price action, though I have not developed any entry/exit signals from it, it does show trend exhaustion or indecision with some accuracy.
I have not tested for better / more effective lengths. It is presented as is and for your consideration, and not an endorsement of any particular whispers it may send you.
Link to study:
http://tos.mx/FoU94gV
Code:
Code:
# Price Channel Compression Indicator
# With Price Oscillator
#
# Mashume 10.XII.2020
# Released to UseThinkScript Community
# GNU GPL v3.0 as applicable
declare lower;
input displace = 0;
input length = 20;
input arrows = no;
input Compression_Length = 150;
input price_Av_Len = 49;
def LowerBand = Lowest(low[-displace + 1], length);
def UpperBand = Highest(high[-displace + 1], length);
def PriceAction = HL2;
def up = UpperBand - PriceAction;
def lo = -( PriceAction - LowerBand);
def distance = UpperBand - LowerBand;
plot upper_d = distance * 0.5;
plot lower_d = - upper_d;
upper_d.SetDefaultColor(GetColor(7));
lower_d.SetDefaultColor(GetColor(7));
plot too_high = if CLOSE > UpperBand and arrows == yes then upper_d else double.nan;
too_high.setPaintingStrategy(paintingStrategy.ARROW_DOWN);
too_high.setDefaultColor(color.black);
plot too_low = if CLOSE < LowerBand and arrows == yes then lower_d else double.nan;
too_low.setPaintingStrategy(paintingStrategy.ARROW_UP);
too_low.setDefaultColor(color.black);
plot zero = 0;
zero.SetDefaultColor(getColor(3));
plot price_line = simpleMovingAvg((PRICEACTION - LowerBand) - (0.5 * distance), 2);
price_line.SetDefaultColor(GetColor(5));
price_line.SetLineWeight(2);
# addcloud(price_line, 0, Color.PLUM, Color.PINK);
plot compression = - ExpAverage(upper_d, Compression_Length);
compression.SetDefaultColor(GetColor(7));
compression.SetStyle(Curve.SHORT_DASH);
addCloud (compression, lower_d, getColor(5), GetColor(3));
plot price_MA = expAverage(price_line, price_Av_Len);
price_MA.SetDefaultColor(GetColor(6));
price_MA.SetStyle(Curve.MEDIUM_DASH);
If it makes you profitable, cool. Let me know in the comments how you use this thing.
Happy Trading,
Mashume