This would be the most technical article to date. Sorry, but I’m doing this to remind myself to a few things.

Eshock: Exhaustion counter the stochastic advised direction.
i.e. an Exhaustion with a Higher High
iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i))>=iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,10,i+9)))
with a stochastic most recently being below the halfway mark
iStochastic(symbol,30,120,3,3,MODE_SMA,0,MODE_SIGNAL,i+3)<48
is an Eshock on the upside
V Bottom: an 8-sample CI sequence
ci[i+5]>14 && ci[i+4]>14 && ci[i+3]>14 && ci[i+2]>14 && ci[i+1]<14 && ci[i]<19 && (RSI2[i]<3 || RSI2[i+1]<3 ) &&
with a new, 10-sample lower low
iLow(symbol,0,iLowest(symbol,0,MODE_LOW,10,i))<= iLow(symbol,0,iLowest(symbol,0,MODE_LOW,20,i))
and an out of oversold current RSI2
RSI2[i]>27

CI Divergence: 7-sample CI peaks connected where the left side of the divergence is an exhaustion sharpie connected to to next, out-of-oversold sharpie low. This is done in order to point out an area of a likely strong opposition – i.e. “Buy the Beat”
i2=1;
while (i2<300 ){
i=i2+2;
if (Low[i2]<Low[i2+2] && Low[i2+2]<Low[i2+3] && CI[i2]<CI[i2+1] && CI[i2-1]>CI[i2] && CI[i2]<45)
while (i<i2+30){
if (CI[i2]>CI[i] && CI[i]<CI[i-1] && CI[i]<CI[i+1] && CI[i]<33 && Low[i]<Low[i+1] && Low[i+1]<Low[i+2] && Low[i2]<Low[i2+2] && Low[i2+2]<Low[i2+3] && CI[i2]<CI[i2+1] && CI[i2-1]>CI[i2] && CI[i2]<45 ) break;
i++;}
if (CI[i2]>CI[i] && CI[i]<CI[i-1] && CI[i]<CI[i+1] && CI[i]<33 && Low[i]<Low[i+1] && Low[i+1]<Low[i+2] && Low[i2]<Low[i2+1] && Low[i2+2]<Low[i2+3] && CI[i2]<CI[i2+1] && CI[i2-1]>CI[i2] && CI[i2]<45 ) break;
i2++;}
LowFractalTime_2=iTime(symbol, 0,i2); LowFractalTime_1=iTime(symbol, 0,i);
if (i<300 && i<i2+30) {ObjectDelete(0,"cNNN3_2");
ObjectCreate(0,"cNNNm3_2",OBJ_TREND,0,LowFractalTime_1,Low[i],LowFractalTime_2,Low[i2]);
ObjectSetInteger(0,"cNNNm3_2",OBJPROP_RAY_RIGHT,false);
ObjectSet("cNNNm3_2",OBJPROP_COLOR,indicator_color3);
ObjectSet("cNNNm3_2",OBJPROP_WIDTH,8);
ObjectSet("cNNNm3_2",OBJPROP_BACK,1);
ObjectCreate("hisPITAL"+IntegerToString(i), OBJ_TEXT,0, Time[i2+2], Low[i2]);
ObjectSetText("hisPITAL"+IntegerToString(i), "Buy the Undercut of "+DoubleToStr(NormalizeDouble(Low[i2],4),4), 10, "Arial Black", clrNavy);
If you go back to the first image you would see, that the current, 200-pip rally came out of the undercut of the first deep pullback after the V bottom.

Definition of a range. A range is defined by heads. They are the butterflies on the image. How did I end up using the Money Flow index to find them, not clue, but that is what I went with. They get a 4-pip displacement. 4-hour for time frame.
if ((iFractals(NULL,0,MODE_UPPER,i) && iMFI(NULL,0,12,i)>50 && iMFI(NULL,0,12,i)<77 && St[i]<96 && St[i]>60 )) HARD[i]=iHigh(NULL,0,i)+.0004;
if ((iFractals(NULL,0,MODE_LOWER,i) && !iFractals(NULL,0,MODE_LOWER,i+3) && iMFI(NULL,0,12,i)<49.6 && St2[i]>5 && St2[i]<60 && St3[i]<60 )) HARD[i]=iLow(NULL,0,i)-.0004;
The lines are the beats, Hard2 merely holds out the last Hard value
four[i]=four[i+1];
sixteen[i]=sixteen[i+1];
twentysix[i]=twentysix[i+1];
if (HARD2[i]!=HARD2[i+1] && HARD2[i]!=0 && MathAbs(HARD2[i]-HARD2[i+1])>190*Point) {
if (Close[i+1]<HARD2[i] && Close[i+2]<HARD2[i]){
four[i]=HARD2[i]+40*Point;
sixteen[i]=HARD2[i]+160*Point;
twentysix[i]=HARD2[i]+260*Point;
}
else if (Close[i+1]>HARD2[i] && Close[i+2]>HARD2[i] && HARD2[i]!=0 && MathAbs(HARD2[i]-HARD2[i+1])>190*Point){
four[i]=HARD2[i]-40*Point;
sixteen[i]=HARD2[i]-160*Point;
twentysix[i]=HARD2[i]-260*Point;
}
else {four[i]=four[i+1];
sixteen[i]=sixteen[i+1];
twentysix[i]=twentysix[i+1];}
}
The blue, bracketed value has an additional 5-pips displacement beyond the last beat line of 26 pips (for a total of 35pips – does this remind you of something? How about the Fluctuation size of EUR/USD?)
If you ever need the value for where to participate in a break out, I have just given them to you in Navy Blue. Of course, there would be fake-outs, so you would need to use my smart trail stop with CODE “2” – meaning 0.2 for stop loss on a buy stop and “2” for stop loss on a sell stop, which would in return lock in 1-pip beyond the open once in 4+ pips in gains for protection.

So, when would the upside end?

A daily exhaustion was set. A beat on the upside would be a sell. A beat usually occurs in the next 1-5 days. The most likely size of the beat is around 1/2 Fucltuation size = 16 pips, but it could be anything: 4 pips, 8 pips, 12 pips, 26 pips and even 36 pips sometimes (anything up to a Fluctuation Maximum). Trade accordingly.
3x volatility was breached (3.69 to be exact). The beat may go higher in price, but would not go further in terms of stretch from the mean. Barring an embedding, a volatility crush would take this back down to 1.0866 after the beat.

Watch out for the new fireflies!
…
Just noticed that the 50% comfort level is at 1.1065

Daily Resistance (left) and Support levels (right)


The Beatnicks (Ettore Beats):
16.9 pips, 60.5 pips, 18.8 pips, 19.8 pips, 28.9 pips, 29.2 pips


There is 1 problem though – namely how much was the volatility bracket exceeded by the last spike

Based on this, the last spike was a 45-pip beat, and there is nothing more to look for on the upside currently.
…
46 rounded
