Air Guitar Sonata

Air Guitar = bottoming. Not just for an ABC correction up, but a new impulse structure.

The analog.

The present. If you look closely enough, there is a red line on both charts. That’s the 9-day EMA, the divider between bear and bull.

GLD+ (upper line of the box) is 5-pips shy of the 3-day ATR measured from the consolidation mean.

The plot.

///black arrow up @120
if (royal[ArrayMaximum(royal,24,i)]>0 && royal[ArrayMaximum(royal,6,i)]<=0 && iFractals(symbol,0,MODE_LOWER,i) && Low[i]<iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i)+80*Point && Low[i]>iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i)){
     ObjectCreate("Cigar"+IntegerToString(i), OBJ_TEXT, 0, Time[i], Low[i]-30*Point); 
          ObjectSetText("Cigar"+IntegerToString(i), CharToStr(233), 56, "Wingdings", Black); 
   ///Aero Brick
   j=i+2;
   while (j<i+6){
      if (iFractals(symbol,0,MODE_LOW,j) && Low[j]<(iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,j)+80*Point) && Low[j]>iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,j)) break;
      j++;
   }   
   if (j<i+6) {
     ObjectCreate("KAROLYI"+IntegerToString(i), OBJ_RECTANGLE, 1, Time[i+1], 22, Time[i], 0);
     ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_COLOR,clrPurple);
     ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_WIDTH,4); 
     ObjectSetInteger(0,"KAROLYI"+IntegerToString(i),OBJPROP_BACK,0);
     ObjectCreate("DOG"+IntegerToString(i),OBJ_TEXT, 1, Time[i+1],75);
                ObjectSetText("DOG"+IntegerToString(i),"POC+/GLD+ Test", 26, "Impact", clrPurple); 
                mode[i]=1;
     
   }   

Next, there would be several tests of the S-30 (30-min). (Make or break, and if no go there, look for the second brick soap box, which also prints below the 30-sample BB.)

Here, you can see how the bear compression remained deeper in the shed (dog house) than the bull compression, and the 3 arrows are where they converged, but the bears never came out on top.