The 3 Skeleton Keys

#1 – Doing time.

Time is measured by the 4-hour stochastic. On an hourly chart this equates to 60 samples of HL2. No need for the D line.

The 4-hour stochastic can be acceptive or rejective.

Forgot to change the lines to 20 and 80, but you get the idea.

If you have 4 hours or more printed with oversold / overbought stochastic readings, the time was sufficient for the invocation of the new range. If price got rejected before a full 4-Hour close in the periphery, it is likely to relapse to the 30 SMA to regroup and re-attempt further on.

The invocation is the second Skeleton Key, but is not today’s subject. All you need to know for now is that it calls upon a target, it starts a timer and you should take this trade unless the 3rd Skeleton Key is in strong opposition of this.

Currently, the 3rd Skeleton Key is not strong opposition of the last range invocation with a negative 50 score (can be faded), but if the price starts closing below the 20-day SMA, the negative score would rise to 100 (do not fade). As you can see, the consolidation is taking place below the bottom of the LEMA cloud, which proved to be uncrossable until now. The Zig Zag based invocation can be overwritten by starting to close below the fractal.


def  LEMA = ExpAverage(close, 18 * 23);
plot  LEMAU = ExpAverage(high, 18 * 23);
LEMAU.setDefaultColor(color.black);
LEMAU.setLineWeight(2);
plot  LEMAL = ExpAverage(low, 18 * 23);
LEMAL.setDefaultColor(color.black);
LEMAL.setLineWeight(2);

def lowtarg = LEMAL - AbsValue((LEMAL[36] - LEMAL) / 36) * 60;
def hitarg = LEMAU + AbsValue(((LEMAU - LEMAU[36]) / 36) * 60);

AddCloud(if hitarg[7] > .02 then hitarg[7] else Double.NaN, lowtarg[8], Color.green, Color.BLACK);
AddCloud(if hitarg[7] > .02 then hitarg[7] else Double.NaN, lowtarg[8], Color.orange, Color.BLACK);

def  LEMAW = ExpAverage(close(period="2 HOURS"), 36 * 23);
plot  LEMAUW = ExpAverage(high(period="2 HOURS"), 36 * 23);
LEMAUW.setDefaultColor(color.black);
LEMAUW.setLineWeight(2);
plot LEMALW = ExpAverage(low(period="2 HOURS"), 36 * 23);
LEMALW.setDefaultColor(color.black);
LEMALW.setLineWeight(2);

def lowtargw = LEMALw - AbsValue((LEMALw[36] - LEMALw) / 36) * 60;
def hitargw = LEMAUw + AbsValue(((LEMAUw - LEMAUw[36]) / 36) * 60);

AddCloud(if hitargw[7] > .02 then hitargw[7] else Double.NaN, lowtargw[8], Color.red, Color.BLACK);