Useful To Know

High volume hourly prints are a great clue. Can you see the projection lines and the result of the interaction here?

Note also how there was no momentum (Stochastic Bar print) on the last pending fractal print (higher high).

The levels you map beforehand.

I was asked yesterday early morning about what the EU would do next.

I responded with 3 lines.

Top’s not in.

Low 1.17 first.

1.1784 could be EOF W2.

A thrust on the upside would take anywhere from 2.5 hours to 5.5 typically. I don’t acknowledge the move below 46 pips, and I have a 57-pip minimum for a top to be considered as a colored plot and 84 pips to be instantly called a closed top.

///Thrust up
if (i>1 && iFractals(symbol,0,MODE_UPPER,i) && (iMFI(symbol,0,7,i+1)<92 || iMFI(symbol,0,7,i+5)>92)
&& ((((RSI2[i]<90 && RSI2[i]>20) || iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i)>93) && (High[i]-Low[i+1]>460*Point || High[i]-Low[i+2]>460*Point || High[i]-Low[i+3]>460*Point || High[i]-Low[i+4]>460*Point) )
|| ((High[i]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,10,i+6))+820*Point
|| High[i+1]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,10,i+7))+820*Point) && (RSI2[i]>97 || High[i]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i))>450*Point))
&& Close[i]>High[i]-250*Point
)


){
ObjectDelete(“Zimmer”+IntegerToString(i));
ObjectCreate(“Zimmer”+IntegerToString(i),OBJ_TREND,0, Time[i+1], High[i], Time[iLowest(symbol,0,MODE_LOW,5,i+1)+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i+1)));
ObjectSet(“Zimmer”+IntegerToString(i),OBJPROP_COLOR,Purple);
if (High[i]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i+1))>840*Point) {ObjectSet(“Zimmer”+IntegerToString(i),OBJPROP_COLOR,Red);
ObjectCreate(“king”+IntegerToString(i), OBJ_TEXT, 0, Time[i], Open[i-1]+30*Point);
ObjectSetText(“king”+IntegerToString(i), “Estab1: “+DoubleToStr(NormalizeDouble(iOpen(symbol,0,iHighest(symbol,0,MODE_OPEN,3,i-1)),4),4), 21, “Impact”, Crimson);
ObjectCreate(“kings”+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+100*Point);
ObjectSetText(“kings”+IntegerToString(i), “Closed top!”, 21, “Impact”, Crimson);
if (i>1 && Close[i-2]<Close[i-1]-50*Point){
ObjectCreate(“kinga”+IntegerToString(i), OBJ_TEXT, 0, Time[i], Open[i-2]+30*Point);
ObjectSetText(“kinga”+IntegerToString(i), “Estab2: “+DoubleToStr(NormalizeDouble(iOpen(symbol,0,iHighest(symbol,0,MODE_OPEN,3,i-2))-50*Point,4),4), 21, “Impact”, Crimson);

dir[i]=-1;
}
}
if (High[i]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i+1))>1100*Point && High[i]<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,500,i+1))) {ObjectSet(“Zimmer”+IntegerToString(i),OBJPROP_COLOR,LimeGreen);
dir[i]=0;

ObjectDelete(“kings”+IntegerToString(i));

ObjectCreate(“king”+IntegerToString(i), OBJ_TEXT, 0, Time[i], Open[i-1]+30*Point);
ObjectSetText(“king”+IntegerToString(i), “Estab1: “+DoubleToStr(NormalizeDouble(iOpen(symbol,0,iHighest(symbol,0,MODE_OPEN,3,i-1)),4),4), 21, “Impact”, Crimson);

if (i>1 && Close[i-2]<Close[i-1]-50*Point){
ObjectCreate(“kinga”+IntegerToString(i), OBJ_TEXT, 0, Time[i], Open[i-2]+30*Point);
ObjectSetText(“kinga”+IntegerToString(i), “Estab2: “+DoubleToStr(NormalizeDouble(iOpen(symbol,0,iHighest(symbol,0,MODE_OPEN,3,i-2))-50*Point,4),4), 21, “Impact”, Crimson);
}
}
else if (High[i]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i+1))>570*Point) dir[i]=0;
if (High[i]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i+1))<570*Point) {ObjectSet(“Zimmer”+IntegerToString(i),OBJPROP_COLOR,clrDimGray); if (High[i]-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i+1))<500*Point) dir[i]–;}
ObjectSet(“Zimmer”+IntegerToString(i),OBJPROP_WIDTH,15);
ObjectSet(“Zimmer”+IntegerToString(i),OBJPROP_RAY_RIGHT,false);

}

The dud was purchased. The dud functions well in a mapping market (30-minute chart).

/////RSI2 DUD upwards

    if (i>0 && RSI2[i-1]<RSI2[i] && (vali[i+2]==true || (vali[i+2]==true && vali[i+3]==false)) && RSI2[i]>65 && High[i]<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i+3))+30*Point){
            
               ObjectCreate("Dud"+DoubleToStr(i), OBJ_TEXT, 0, Time[i], High[i]+130*Point); 
               ObjectSetText("Dud"+DoubleToStr(i), "DUD", 24, "Impact",  clrNavy); 
               if (RSI2[i]>85 && RSI2[ArrayMinimum(RSI2,13,i+1)]<2) ObjectSetText("Dud"+DoubleToStr(i), "DUD", 14, "Impact",  clrRed); 
            
               j=i;
               
               while (j>0){
                   if (Low[j]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-30*Point) break;
                   j--;
               }
               if ((j==0 && j>i-50) || Low[j]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-30*Point) {
                     ObjectCreate( "Banalist"+IntegerToString(i), OBJ_TREND, 0,  Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-30*Point , Time[j], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-30*Point);
                     ObjectSet("Banalist"+IntegerToString(i), OBJPROP_COLOR, clrGreen );
                     ObjectSet("Banalist"+IntegerToString(i), OBJPROP_WIDTH, 2 );
                     ObjectSet("Banalist"+IntegerToString(i), OBJPROP_RAY_RIGHT, false );
                     ObjectSet("Banalist"+IntegerToString(i), OBJPROP_STYLE, 0 ); 
               }
               
                
                      j=i;
               
               while (j>0){
                   if (Low[j]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-120*Point) break;
                   j--;
               }
               if ((j==0 && j>i-50) || Low[j]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-120*Point) {
                     ObjectCreate( "Banalista"+IntegerToString(i), OBJ_TREND, 0,  Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-120*Point , Time[j], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-120*Point);
                     ObjectSet("Banalista"+IntegerToString(i), OBJPROP_COLOR, clrGreen );
                     ObjectSet("Banalista"+IntegerToString(i), OBJPROP_WIDTH, 4 );
                     ObjectSet("Banalista"+IntegerToString(i), OBJPROP_RAY_RIGHT, false );
                     ObjectSet("Banalista"+IntegerToString(i), OBJPROP_STYLE, 0 ); 
               }
               
               
                         j=i;
               
               while (j>0){
                   if (Low[j]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-270*Point) break;
                   j--;
               }
               if ((j==0 && j>i-50) || Low[j]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-270*Point) {
                     ObjectCreate( "Banalistb"+IntegerToString(i), OBJ_TREND, 0,  Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-270*Point , Time[j], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,3,i))-270*Point);
                     ObjectSet("Banalistb"+IntegerToString(i), OBJPROP_COLOR, clrGreen );
                     ObjectSet("Banalistb"+IntegerToString(i), OBJPROP_WIDTH, 6 );
                     ObjectSet("Banalistb"+IntegerToString(i), OBJPROP_RAY_RIGHT, false );
                     ObjectSet("Banalistb"+IntegerToString(i), OBJPROP_STYLE, 0 ); 
               }
            
            }

The movement has not been overwhelmingly strong. The fact that after the new fractal print, the following candle managed to get below the 8 EMO hints that this is going to be a yellow divergence, meaning not optimal length of separation.

There are 30 more minutes before the new fractal will be advanced on the hourly. In 1 hour and 30 minutes, it can still be voided and the 2-hour timer restarted.

The breaches are still missing. The breach of the market speed trendline, and a high that manages to go outside the 30-sample BB.

I can’t yet call a top.

By the way, here’s the gray volatility divergence that was plotted at the bottom.

If you are curious how the system responds to a blank shot like today’s, it calls it another HH. 21 minimum is the pips of pullback before proceeding.