Here me out, indicator deniers. If you can see typical prices with your eyes, you can measure between any candle’s low/high and another candle’s close in pips just by a glance, can calculate stochastic and RSI2 values in your head; you have absolutely no hope of ever figuring out what is happening.
13 years and 20 minutes. It has come to this. A single innocent day, and I happen to figure out the 3 most important things for trading Eur/USD.
The structure
I hated this from the start. At the beginning of this week, I managed to find the only measurable thing that truly matters. The structure is not whatever you say it is; money flow extremes are responsible for printing the Scarpe boxes. In effect, every Scrape Level is actually 2 values. The one further out cannot be violated (Most important, #1). A violation means that the trend will continue in that direction.

////MFI Box up if ( ((MFI14[i+12]>=MFI14[i+13] && MFI14[i+12]>75 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)>28 ) || (MFI14[i+12]<MFI14[i+13] && MFI14[i+12]>71 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)<18) ) && MFI14[i+12]>MFI14[i+11] && MFI14[ArrayMaximum(MFI14,3,i+11)]>MFI14[ArrayMaximum(MFI14,8,i+14)] ){ if (iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i+12)<85 || iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i+12)>96.8) {} else { ObjectCreate("RayRect"+IntegerToString(i),OBJ_RECTANGLE,0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+40*Point, Time[i+16], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))); ObjectSet("RayRect"+IntegerToString(i),OBJPROP_COLOR,clrBlack); ObjectSet("RayRect"+IntegerToString(i),OBJPROP_WIDTH,3); ObjectSet("RayRect"+IntegerToString(i),OBJPROP_BACK,0); ObjectCreate( "Banalisation"+IntegerToString(i), OBJ_HLINE, 0, Time[0], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+40*Point); ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_COLOR, clrBlack); ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_WIDTH, 3 ); ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_RAY_RIGHT, false ); ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_STYLE, 1 ); ObjectCreate( "Banalisations"+IntegerToString(i), OBJ_HLINE, 0, Time[0], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))); ObjectSet("Banalisations"+IntegerToString(i), OBJPROP_COLOR, clrBlack); ObjectSet("Banalisations"+IntegerToString(i), OBJPROP_WIDTH, 3 ); ObjectSet("Banalisations"+IntegerToString(i), OBJPROP_RAY_RIGHT, false ); ObjectSet("Banalisations"+IntegerToString(i), OBJPROP_STYLE, 1 ); ObjectCreate("DOG"+IntegerToString(i),OBJ_TEXT, 0, Time[i+8],iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+90*Point); ObjectSetText("DOG"+IntegerToString(i),"Scrape Level ="+DoubleToStr(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+40*Point,4),4), 26, "Impact", clrCrimson); } }
Starting move
It was a great idea to “digitalize” the pip measurements (using only integers); they make for beautiful divergence visuals. I only plot the distances if they come with a close on the relevant side of the E-16.

The two green boxes are coming off an RSI2 reading below 6.4and have achieved 20 or more pips for an open (measuring leg, Most important #2) az a second option, I included a Bollinger Squeeze below 30 pips. The direction of the wind is to be factored in, of course.
//directional momentum read up - closing above E-16
if (Close[i]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i) && iFractals(symbol,0,MODE_UPPER,i)
&& High[i]==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i))
){
ObjectCreate("Nixy"+DoubleToStr(i), OBJ_TEXT, 0, Time[i], Low[i]-100*Point);
ObjectSetText("Nixy"+DoubleToStr(i), DoubleToStr(NormalizeDouble(volup[i],0),0), 33, "Impact", clrBrown);
if ((iFractals(symbol,0,MODE_LOWER,i+3) || iFractals(symbol,0,MODE_LOWER,i+4) || iFractals(symbol,0,MODE_LOWER,i+5)) && volup[i]<10)
{ObjectSet("Nixy"+DoubleToStr(i),OBJPROP_COLOR,clrBlue);
if (High[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i) && (iFractals(symbol,0,MODE_LOWER,i+4) || iFractals(symbol,0,MODE_LOWER,i+3))) ObjectSetText("Nixy"+DoubleToStr(i), DoubleToStr(NormalizeDouble(volup[i],0),0)+"!", 43, "Impact", clrBlue);
}
else if ((iFractals(symbol,0,MODE_LOWER,i+3) || iFractals(symbol,0,MODE_LOWER,i+4) || iFractals(symbol,0,MODE_LOWER,i+5)) && volup[i]>20)
ObjectSetText("Nixy"+DoubleToStr(i), DoubleToStr(NormalizeDouble(volup[i],0),0), 38, "Impact", clrMediumSeaGreen);
if ((RSI2[ArrayMinimum(RSI2,10,i)]<6.4 || (iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)-iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1))<300*Point) && volup[i]>=20) {
ObjectCreate("Fracabbb"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i+1], High[i], Time[ArrayMinimum(RSI2,10,i)], Low[ArrayMinimum(RSI2,10,i)]);
ObjectSetInteger(0,"Fracabbb"+IntegerToString(i),OBJPROP_COLOR,clrChartreuse);
ObjectSet("Fracabbb"+IntegerToString(i),OBJPROP_BACK,1);
ObjectSet("Fracabbb"+IntegerToString(i),OBJPROP_WIDTH,5);
}
}
Squirt scale
There are two different exits. One is after 2 divergences (the taper) or, if a second divergence comes with an extra strong reading, a squirting scale gets called in for pretty precise exit levels. I plot the “still too strong” second divergence with pink instead of white, and plot the 3 displacements, 27, 26, and 25 pips more in a sequence.


How do you know when to use which? Simple enough. On the market type indicator, after the measuring leg, if you do not see a taper (white vertical marker), then your V top would land on either Level 2 or Level 3 (Most important #3).
/////green to green taper if (volup[i]<volup[i+1] && volup[i+2]<=volup[i+1] && volup[i+3]<volup[i+1] && volup[ArrayMaximum(volup,26,i+1)]>20 && volup[i+1]>=voldn[ArrayMaximum(volup,4,i+1)] && ((volup[i+1]>9 && RSI2[i+1]>90) || volup[i+1]>19) && volup[i+1]<33 && volup[ArrayMaximum(volup,26,i+4)]>volup[i+1] && volup[ArrayMaximum(volup,12,i+1)]>voldn[ArrayMaximum(voldn,12,i+1)] && voldn[i+1]<volup[i+1] ){ ObjectCreate("Rocket"+IntegerToString(i),OBJ_TREND,indicator_window, Time[ArrayMaximum(volup,26,i+4)],volup[ArrayMaximum(volup,26,i+4)],Time[i+1],volup[i+1]); ObjectSet("Rocket"+IntegerToString(i),OBJPROP_COLOR,clrMediumSpringGreen); ObjectSet("Rocket"+IntegerToString(i),OBJPROP_WIDTH,6); ObjectSet("Rocket"+IntegerToString(i),OBJPROP_BACK,1); ObjectSet("Rocket"+IntegerToString(i),OBJPROP_RAY_RIGHT,0); if (Close[i+1]>iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1)){ ObjectCreate("PitusX"+IntegerToString(i),OBJ_VLINE,0, Time[i+1], 0); ObjectSet("PitusX"+IntegerToString(i), OBJPROP_COLOR, clrWhite ); if (tup[ArrayMaximum(tup,5,i+5)]>0 && tup[ArrayMaximum(tup,10,i+11)]<1 && ((volup[i+1]<14 && RSI2[i+1]>90) || RSI2[i+1]>95) ) { ObjectSet("PitusX"+IntegerToString(i), OBJPROP_COLOR, clrDeepPink ); ObjectCreate( "Banalisation"+IntegerToString(i), OBJ_HLINE, 0, Time[0], High[i+1]+270*Point); ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_COLOR, clrDeepPink); ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_WIDTH, 3 ); ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_RAY_RIGHT, false ); ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_STYLE, 1 ); ObjectCreate( "Banalisations"+IntegerToString(i), OBJ_HLINE, 0, Time[0], High[i+1]+530*Point); ObjectSet("Banalisations"+IntegerToString(i), OBJPROP_COLOR, clrDeepPink); ObjectSet("Banalisations"+IntegerToString(i), OBJPROP_WIDTH, 3 ); ObjectSet("Banalisations"+IntegerToString(i), OBJPROP_RAY_RIGHT, false ); ObjectSet("Banalisations"+IntegerToString(i), OBJPROP_STYLE, 1 ); ObjectCreate( "Banalisationz"+IntegerToString(i), OBJ_HLINE, 0, Time[0], High[i+1]+780*Point); ObjectSet("Banalisationz"+IntegerToString(i), OBJPROP_COLOR, clrDeepPink); ObjectSet("Banalisationz"+IntegerToString(i), OBJPROP_WIDTH, 6 ); ObjectSet("Banalisationz"+IntegerToString(i), OBJPROP_RAY_RIGHT, false ); ObjectSet("Banalisationz"+IntegerToString(i), OBJPROP_STYLE, 1 ); } ObjectSet("PitusX"+IntegerToString(i), OBJPROP_WIDTH, 4 ); ObjectSet("PitusX"+IntegerToString(i), OBJPROP_STYLE, 2 ); ObjectSet("PitusX"+IntegerToString(i), OBJPROP_BACK, 1 );}
How many people out there do you think are auto plotting at home scrape levels and a squirt scale?
Disco for the masses.