5-3-5

A corrective structure.

The A5-B3-C5 patterns consist of zigzags.

Didn’t I just say that this move-up could be Wave 1 (from the orange-shaded root)?

First of all, we have not had a Wave 4 yet. Apparently, every C wave is made up of 5 waves.

A 5 wave up move not a correction. An ABC with a 5-3-5 structure qualifies.

This was a mean reversion to the S-20. The stochastic embedding is now lost. The daily RSI2 has reached a level that registers as excessive, and so this could be all that she wrote for a counter move before Wave 5 down.

In the first image, you can see the 80-pip checkpoint, at 1.0791. Breaking that would clarify the intention of making that missing lower low. A typical beat would be 16 pips beyond the previous low, so around 1.0745.

If things really get rolling, the 1.0708 target would be the second important beat a Wave 5 could be making.

Theory of Waves

Once you have the E-9 Daily Band in place and you plot the guard rails 1-fluctuation maximum out, you may start to ponder if the breach of the E-9 is a must for a Wave 1 print, and perhaps something else may be required before a Wave 3 can commence.

Such a system makes sense to me, even if some of the first waves would later be renamed as an A.

The 4H RSI2 HL2 has to print an overbought/oversold value (70+, 30-) at the end of Wave 2 before the rest of the structure can commence.

At times the pullback may be so shallow, that it would become a target for a beat.

These “Expansions” are suggestive of a corrective structure.

All in all, Wave 2 seems to always end in a Lower High / Higher Low.

Like I said before, my proxy on the 4H for the E-9 is E-52. The FMax value is 38.4 pips measured from the E-52 Lows and the E-52 highs.

Breaker Wave

Volatility trading is a very complex subject.

A breaker wave is when a counter wave becomes strong enough to reverse the current.

No clue about how the sell-side operates yet, but spotted something about the long side.

Lime Green Plots.

if (ExtATRBuffer[i]>33 && ExtATRBuffer2[i]>15 && ExtATRBuffer2[i+1]<15 && Close[i]>Open[i]-50*Point && !(ExtATRBuffer[i]>41 && ExtATRBuffer[i]<53)){
            ObjectCreate("LINUSS"+IntegerToString(i),OBJ_VLINE,1, Time[i], 0);
            ObjectSet("LINUSS"+IntegerToString(i),OBJPROP_COLOR,clrLimeGreen);
            ObjectSet("LINUSS"+IntegerToString(i),OBJPROP_WIDTH,6);
            ObjectSet("LINUSS"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
            ObjectSet("LINUSS"+IntegerToString(i),OBJPROP_BACK,1);
}

The other subject would have been about immunity. Nothing scientific, just pure statistics.

  if (Low[i]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i) && !((Low[i+1]<iMA(symbol,0,207,0,MODE_EMA,PRICE_LOW,i+1) && Close[i+1]>iMA(symbol,0,207,0,MODE_EMA,PRICE_LOW,i+1)) || (Low[i+2]<iMA(symbol,0,207,0,MODE_EMA,PRICE_LOW,i+2) && Close[i+2]>iMA(symbol,0,207,0,MODE_EMA,PRICE_LOW,i+2))))
             {ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrGray);
             if (ExtATRBuffer2[i]<6) ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrBlack);
             else if ((ExtATRBuffer2[i]>ExtATRBuffer2[i+1]) || ExtATRBuffer2[i]>30) { ObjectCreate("LINUSZZS"+IntegerToString(i),OBJ_TEXT, 2, Time[i],25);
               ObjectSetText("LINUSZZS"+IntegerToString(i),"14Hrs Immunity", 16, "Impact", clrDarkGreen);
               if (magenta[ArrayMaximum(magenta,100,i)]>0) ObjectSetText("LINUSZZS"+IntegerToString(i),"18Hrs Immunity", 16, "Impact", clrDarkGreen);
               
             }
               if (Low[i+1]-iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)>240*Point)
               {ObjectCreate("LINUSZZZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],15);
               ObjectSetText("LINUSZZZ"+IntegerToString(i),"Dip Below 8-24 pips=buy", 16, "Impact", clrGreen);}
             }
             if (((ExtATRBuffer[i]<42 && ExtATRBuffer[i+1]>42) ) && Close[i+2]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+2) && Close[i+1]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+1))
             {ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrGray);
               if (ExtATRBuffer2[i]<6) ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrBlack);
               ObjectCreate("LINUSZZZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],15);
               ObjectSetText("LINUSZZZ"+IntegerToString(i),"Dip Below 8-24 pips=buy", 16, "Impact", clrGreen);
               if (Low[i+1]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)) {ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
                  ObjectCreate("LINUSZZS"+IntegerToString(i),OBJ_TEXT, 2, Time[i],25);
                 ObjectSetText("LINUSZZS"+IntegerToString(i),"64Hrs Immunity", 16, "Impact", clrDarkGreen); 
               }
             }

if (Close[i]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i)-50*Point && Close[i+3]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+3)){ ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrMagenta);
                 ObjectCreate("LINUSZZS"+IntegerToString(i),OBJ_TEXT, 2, Time[i],25);
                 ObjectSetText("LINUSZZS"+IntegerToString(i),"46Hrs Immunity", 16, "Impact", clrDarkGreen); 

There is an Echo printing on the upside. The upside would have failed at the S-356 band if the next hour would not be able to take out the fractal high.

1.0747-48 keeps coming up

Getting Out

There are two possibilities for getting out of jail currently.

There is a lesser chance, but a possibility that the C leg down does not get much beyond the squaring leg.

There is a higher chance that a lower low would be made.

The red arrow is a relative weakness with the 3-sample volatility going above 10, yet falling short of the band.

 ///upside fall short of the band    
     if (uvol[i]!=0 && Low[i+1]>iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i+1)
     && uvol[i]>10 && High[i+1]>iMA(symbol,0,60,0,MODE_SMA,PRICE_MEDIAN,i+1) &&
      High[i]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i) && uvol[i]>uvol[ArrayMaximum(uvol,3,i+1)] && uvol[ArrayMaximum(uvol,3,i+1)]>uvol[ArrayMaximum(uvol,3,i+4)] && uvol[ArrayMaximum(uvol,3,i+4)]>0){
           ObjectCreate("Citeras"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+2], High[i+2]+90*Point); 
           dir[i]=-1;
          ObjectSetText("Citeras"+DoubleToStr(i), CharToStr(222), 44, "Wingdings",  Red); 
     }

More tips & tricks?

Both A and B ended after a beat of where the 14-sample 30-minute Money Flow peaked.


Album #35 has sailed out.

Next 2

For me, trading is about thinking 2 steps ahead.

The bigger picture is dipping into the imbalance left by the pro buying. That’s below 1.0708.

With that said, the 25% line is at 1.0729 and a small fake-out could be all you would see from the Wave3.

A Wave 4 would likely pull back to the upper guard rail; picture a mirror image of the following.

Now, on the way down the base case is still a 25-50 pips beat. Which in theory could mean a near miss of the 1.0708 level this time around. There may be a shallow dip below or a halfway mark, but then you would see a 125-175 pips correction back up.

The second magenta strip is missing.

The upper guard rail is around 1.0890 currently. An ABC pullback beyond that would keep the wave structure going, and the Wave5 would finish what the Wave3 could not muster.

The guard rails are 1 fluctuation maximum away from the E-9 band. On the 4H this is the 52-EMA high to low plus minus 38.4 pips.


The Zero Sum Fun is out.

Bit Of Development

So I wasn’t allowing for a shape plot when the crossback is happening whilst the price is still below the band. I have to include these from now on, since this one took out yesterday’s high, but with a different color. Magenta would stand for a lower low / 2nd attempt is still coming.

On this image, there were 2 more lows, the last one 25 pips out.

The following was also in a pair, but the second low was 51 pips lower.

So yeah, a shot over the bow, but think lower still.

///shape long
   if ((ExtATRBuffer[i]<52 && ExtATRBuffer[i+1]>52 
   && ExtATRBuffer2[ArrayMinimum(ExtATRBuffer2,10,i)]>1.8
   && ExtATRBuffer[ArrayMaximum(ExtATRBuffer,10,i)]<64)
   
   || (((ExtATRBuffer[i]<42 && ExtATRBuffer[i+1]>42) || (ExtATRBuffer[i]<47 && ExtATRBuffer[i+1]>47)) 
   && Close[i+2]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+2) 
   && ((Close[i]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i)-50*Point && Close[i+3]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+3))
   || Close[i+1]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+1))
    ))
   {
      ObjectCreate("LINUS"+IntegerToString(i),OBJ_VLINE,2, Time[i], 0);
            ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrPurple);
            ObjectSet("LINUS"+IntegerToString(i),OBJPROP_WIDTH,6);
            ObjectSet("LINUS"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
             ObjectSet("LINUS"+IntegerToString(i),OBJPROP_BACK,1);
             
             
                  if (Low[i]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i) && !((Low[i+1]<iMA(symbol,0,207,0,MODE_EMA,PRICE_LOW,i+1) && Close[i+1]>iMA(symbol,0,207,0,MODE_EMA,PRICE_LOW,i+1)) || (Low[i+2]<iMA(symbol,0,207,0,MODE_EMA,PRICE_LOW,i+2) && Close[i+2]>iMA(symbol,0,207,0,MODE_EMA,PRICE_LOW,i+2))))
             {ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrGray);
               if (Low[i+1]-iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)>240*Point)
               {ObjectCreate("LINUSZZZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],15);
               ObjectSetText("LINUSZZZ"+IntegerToString(i),"Dip Below 8-24 pips=buy", 16, "Impact", clrGreen);}
             }
             if (((ExtATRBuffer[i]<42 && ExtATRBuffer[i+1]>42) ) && Close[i+2]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+2) && Close[i+1]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+1))
             {ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrGray);
               ObjectCreate("LINUSZZZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],15);
               ObjectSetText("LINUSZZZ"+IntegerToString(i),"Dip Below 8-24 pips=buy", 16, "Impact", clrGreen);
               if (Low[i+1]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)) ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
             }
 
    
   
      ObjectCreate("LINUSZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],85);
      ObjectSetText("LINUSZ"+IntegerToString(i),"Shape long!", 16, "Impact", clrGreen);
      
      ObjectCreate("LINUSZZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],35);
      ObjectSetText("LINUSZZ"+IntegerToString(i),"53/63/80=Break", 16, "Impact", clrGreen);
   

if (Close[i]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i)-50*Point && Close[i+3]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+3)){ ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrMagenta);
                 ObjectCreate("LINUSZZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],35);
                 ObjectSetText("LINUSZZ"+IntegerToString(i),"Lower low / 2nd attempt", 16, "Impact", clrMagenta);
            }     
           
   }

EOW3

What traits are unique to a Wave3?

This one would require a lot of patience. I am going against things like the fractal nature of the market.

A Wave 5 isn’t a big riddle.

A colored shape can call the right shoulder, you get the breaks, the previous swing high and the 80 pips (the two more or less coincided at the top), and you are on your way.

The pink slips:

///shape short
   if (((ExtATRBuffer2[i]<52 && ExtATRBuffer2[i+1]>52) ||  (( ExtATRBuffer2[i]<47 && ExtATRBuffer2[i+1]>47)))
   && ExtATRBuffer2[i+3]>10
   && ExtATRBuffer[ArrayMinimum(ExtATRBuffer,10,i)]>2
   && ExtATRBuffer[ArrayMaximum(ExtATRBuffer,10,i)]<64
   && Open[i+7]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i+7)
   && Close[i]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,6,i))-240*Point
   && Close[i]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i)-240*Point
   )
   {
      ObjectCreate("LINUS"+IntegerToString(i),OBJ_VLINE,2, Time[i], 0);
            ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrPink);
            ObjectSet("LINUS"+IntegerToString(i),OBJPROP_WIDTH,6);
            ObjectSet("LINUS"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
             ObjectSet("LINUS"+IntegerToString(i),OBJPROP_BACK,1);
    if (((ExtATRBuffer2[i]<42 && ExtATRBuffer2[i+1]>42) ) && Close[i+2]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i+2) && Close[i+1]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i+1))
             ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrGray);
             if (High[i]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i)) ObjectSet("LINUS"+IntegerToString(i),OBJPROP_COLOR,clrGray);
   
   
      ObjectCreate("LINUSZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],85);
      ObjectSetText("LINUSZ"+IntegerToString(i),"Shape short!", 16, "Impact", clrRed);
      
      ObjectCreate("LINUSZZ"+IntegerToString(i),OBJ_TEXT, 1, Time[i],35);
      ObjectSetText("LINUSZZ"+IntegerToString(i),"53/63/80=Break", 16, "Impact", clrRed);
   }

The Wave 3 however…

The daily RSI2 HL2 goes magenta 3 or 4 times? Ok.

(downside magenta RSI2[i]<5.3) upside magenta RSI2[i]>96)

2.6x stretch from the E-9 is achieved on the last leg? Ok.

The white band is at 2.8x Stretch.

   int FSize=32;
   double FMax = FSize*6/5;
   E9P[i]=iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i)+FMax*2.8*10*Point;
   E9M[i]=iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i)-FMax*2.8*10*Point;

The wave isn’t over until the price violates the 14-sample Weekly window envelope? If it is so, that would make for a major advantage: 4 weeks ago you already could have known that the W3 would get below 1.0764. Perfect aiming device for options.

iEnvelopes(symbol,0,14,0,0,0,3.5,MODE_UPPER,i)
iEnvelopes(symbol,0,14,0,0,0,3.5,MODE_LOWER,i)

What else? Must get beyond the 240 BB. Ok.

iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i)
iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i)

Something even more specific?

Let’s use the last end of W3 as a template. Vertical flip.

I am most interested about the play with the 8 EMO (Magenta) and the 30-sample BB. The two spike outs on the top, the one backtest leg into the row of dojis.

The first two fractals are made, the second close above the 8 EMO is pending.

EMO = EMA of Opens 
iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i)

On the upside, the backtest leg was a BBECHO plot. Hoping to get the same.

//// BB ECHO on the upside 
if (High[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)-20*Point 
&& High[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)+190*Point
&& Open[i]>Close[i]
&& Low[i]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i)
&& Close[i+2]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+2)
&& High[i+1]>High[i] && High[i+1]>High[i+2] 
&& High[i+2]>High[i+3]
&& Open[i+3]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+3) 
//|| Open[i+4]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+4) 

&& Close[i+1]<(High[i+1]-((High[i+1]-Low[i+1])/3)))
{
    ObjectCreate("HOTE"+i,OBJ_TEXT, 0, Time[i+1],High[i+1]+90*Point);
    ObjectSetText("HOTE"+i,"BBECHO", 26, "Impact", clrYellow);     
    if (i>1) {ObjectSetText("HOTE"+i,"BBECHO", 26, "Impact", clrBlack);     
    level = High[i+1]+100*Point;  }
}

Live Or Make It

The cover function currently is pretty clear, a D print (1.5 hr volatility on the decline).

Now, why was the “?” a sell?

The volatility check zone of 24-32 pips in a senior trend requires the market to show strength. All buy-side volatility expansions (10-sample) are suspect My chosen proxy would be lows above the 8 EMO. Less than 3 consec. is a no-go.

the plot at the start

 if (ExtATRBuffer2[i]>24 && ExtATRBuffer2[i]<32 && ExtATRBuffer2[i+1]<28 && ExtATRBuffer2[i+2]<28){
    if ((Low[i]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i) && Low[i+1]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i+1) && Low[i+2]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i+2)  && Close[i+3]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i+3))
    || (Close[i]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i)+80*Point && Close[i+1]<iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i+1)+40*Point && Close[i+1]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i+1))
  
    )
    { if (High[i+2]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i+2))
      ObjectCreate("HOTS"+i,OBJ_TEXT, 2, Time[i],ExtATRBuffer2[i]+30);
      ObjectSetText("HOTS"+i,CharToStr(241), 56, "Wingdings", clrGreen);
    }
    else if ((Close[i]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i) || Close[i+1]>iMA(symbol,0,8,0,MODE_EMA,PRICE_OPEN,i+1)) &&    
    High[i+2]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_MAIN,i+2) && Low[i+2]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+2)){
    ObjectCreate("HOTS"+i,OBJ_TEXT, 2, Time[i],ExtATRBuffer2[i]+30);
    ObjectSetText("HOTS"+i,CharToStr(242), 56, "Wingdings", clrCrimson);
    }
 }

130 pips

Play the break of the prior day’s high.

In every example I have there are at least 130 pips to be had from the swing low.

Only one example for the price pulling back to the breakout, so drawdown if any, would be limited.

The thick white line is the level to clear.

If you get a drop first, that’s a head start for a discount initial position. Add the rest on the break.

History:

New release:

The one example of a 40-pip pullback from the breakout line happened on the upside. I would go with 4 pips out not to be picked up for this kind of choking. The line was not hit (on a bid chart) but this does not mean that the broker does not slip you into the sucker trade.