AGAIG: THE SQUARED HISTOGRAM TRADER
This is my latest and likely my last chart as it is the best I have come up with (at least for my eyes).
It is my “trading wall” and the candles are visual behind the wall. Candles will move inside and outside the wall. Included on the chart is my Price Pointer, Market Open Vertical Line, Murrey Math Pivots with no bubbles, my Heikin Ashi Trend Labels, the 20 EMA solid line, the AGAIG Indicator Bubbles (repainters), AGAIG Non-repaint Arrows, the VWAP Dash Line, the Turning Point white Arrows, and the Squared Histogram Indicator.
This is a great chart for day trading but works on all timeframes for longer term trades. My LONG/SHORT Bubbles a can repaint but are good visuals for potential changes-in-direction. I have also included non-repaint CYAN ARROWS. The upper left label shows when the wall changes color and the upper right labels are tied to Heikin Ashi.
I originally developed this as a lower chart indicator and moved it up to the chart to see how it would look and like it much better on the upper chart. It is very visual and fit my motto “If you can’t see it why trade it.”
This my get as close to “Holy Grail” as can be developed by me. I have only been trading it now for two days with 100% success. I trade when my Bubble plus the upper left label are in agreement and/or also the arrows.
Chart Link: http://tos.mx/!UpoEgQU5
Chart Look:
I hope you enjoy this one and always appreciate feedback.
INDICATOR CODE: It says declare lower and can be used there. When moved physically to the upper chart leave the declared lower on it as a declared upper didn't work well for me.
Code:
#AGAIG Then Squared Histogram Trader
declare lower;
input atrreversal = 2.0;
input LabelSize = fontsize.large;
input LabelLocation = location.top_left;
def priceh = MovingAverage(AverageType.EXPONENTIAL, high, 5);
def pricel = MovingAverage(AverageType.EXPONENTIAL, low, 5);
def EIL = ZigZagHighLow("price h" = priceh, "price l" = pricel, "percentage reversal" = .01, "absolute reversal" = .05, "atr length" = 5, "atr reversal" = atrreversal).lastL;
def EIH = ZigZagHighLow("price h" = priceh, "price l" = pricel, "percentage reversal" = .01, "absolute reversal" = .05, "atr length" = 5, "atr reversal" = atrreversal).lastH;
def lastEIH = CompoundValue(1, if !IsNaN(EIH) then EIH else lastEIH[1], Double.NaN);
def lastEIL = CompoundValue(1, if !IsNaN(EIL) then EIL else lastEIL[1], Double.NaN);
def newHigh = !IsNaN(lastEIH) and (IsNaN(lastEIH[1]) or lastEIH != lastEIH[1]);
def newLow = !IsNaN(lastEIL) and (IsNaN(lastEIL[1]) or lastEIL != lastEIL[1]);
def state = CompoundValue(1, if newHigh then -1 else if newLow then 1 else state[1], 1);
Alert(newHigh, "BUY SHORT signal", Alert.BAR, Sound.Ring);
Alert(newLow, "BUY LONG signal", Alert.BAR, Sound.Ring);
AddLabel(state == 1, "BUY LONG", Color.GREEN, LabelLocation, LabelSize);
AddLabel(state == -1, "BUY SHORT", Color.RED, LabelLocation, LabelSize);
plot StateStrip = if !IsNaN(close) then 1 else Double.NaN;
StateStrip.SetPaintingStrategy(PaintingStrategy.SQUARED_HISTOGRAM);
StateStrip.SetLineWeight(5);
StateStrip.AssignValueColor(
if state == 1 then Color.GREEN else Color.RED
);