Let’s talk “if you don’t want to be faded”.

Money flow displacements – that’s where we left off
if (mfi[i+12]>mfi[i+13] && mfi[i+12]>mfi[i+11] && mfi[ArrayMaximum(mfi,3,i+11)]>mfi[ArrayMaximum(mfi,23,i+15)] && mfi[i+12]>79 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)>28){
ObjectCreate("Sal"+DoubleToStr(i), OBJ_TEXT, indicator_window+1, Time[i+10], mfi[i]+mfi[i]*.2);
ObjectSetText("Sal"+DoubleToStr(i), "Sell Beats: "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+80*Point,4),4)+", "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+140*Point,4),4)+", shy of "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+220*Point,4),4), 22, "Impact", Black);
if (iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i+12)<88 || iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i+12)>96.8) ObjectSetText("Sal"+DoubleToStr(i), "MFI strength", 22, "Impact", DimGray);
}
if (mfi[i+12]<mfi[i+13] && mfi[i+12]<mfi[i+11] && mfi[ArrayMinimum(mfi,3,i+11)]<mfi[ArrayMinimum(mfi,23,i+15)] && mfi[i+12]<21 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)<72){
ObjectCreate("Sals"+DoubleToStr(i), OBJ_TEXT, indicator_window+1, Time[i+10], mfi[i]*1.4);
if (Low[i]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i)) ObjectSetText("Sals"+DoubleToStr(i), "Sell Retract: "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i+1))+80*Point,4),4), 22, "Impact", Crimson);
else if (Low[i+12]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i+12)) ObjectSetText("Sals"+DoubleToStr(i), "Buy Beats: "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-80*Point,4),4)+", "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-140*Point,4),4)+", ["+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-220*Point,4),4)+" -> "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-500*Point,4),4)+"]", 22, "Impact", Black);
else ObjectSetText("Sals"+DoubleToStr(i), "Buy Beats: "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-80*Point,4),4)+", "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-140*Point,4),4)+", shy of "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-220*Point,4),4), 22, "Impact", Black);
if (Low[i+12]<(stratod[i+12]-400*Point)) ObjectSetText("Sals"+DoubleToStr(i), "Buy Beat: "+" ("+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-220*Point,4),4)+")-> LL", 22, "Impact", Magenta);
if (iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i+12)>10) ObjectSetText("Sals"+DoubleToStr(i), "MFI weakness", 22, "Impact", DimGray);
}
How did I come up with the 3 numbers? They are statistics based on the initial move. Since I wait 4 hours for the “initial move” to print, and the money flow itself runs with a delay, there is a good chance that the push already occurred by then and the echo can be predicted. Sort of. Barring no new money coming in during the move towards the echo.

So, where are you wrong? That’s a tricky one and is tied to your broker’s behaviour. You already should stop buying in our example by 1.0533, but you cannot just put a pending order out at that number. There’s usually a 3-pip slippage on top of the increased spread play for the broker to put you in a trade you will regret.
To be extra safe, go 10 more pips and only then double down in the opposite direction.
Blue lining.
If there’s one thing that we learnt from Elliott Wave, it is that large corrections are made up 5 waves, hence he named them ABC corrections.
I had this idea of marking up the start of where a 5-wave correction is imminent.
A bit over optimized, but that’s what I have for now:
if ( i>0 && RSI2[i+1]<5 && RSI2[i]>5 && RSI2[i]<70 && MFI[i]<5 && RSI2[i+3]>1 && (Close[i+1]<Open[i+1] || Close[i+2]<Open[i+2]) && Low[i+1]>iBands(symbol,0,4,3,0,PRICE_MEDIAN,MODE_LOWER,i+1)
&& High[i]<iBands(symbol,0,4,3,0,PRICE_MEDIAN,MODE_UPPER,i)
&& MathAbs(Open[i-1]-Close[i-1])>20*Point
&& iBands(symbol,0,4,3,0,PRICE_MEDIAN,MODE_UPPER,i-1)-iBands(symbol,0,4,3,0,PRICE_MEDIAN,MODE_LOWER,i-1)>300*Point
&& iStochastic(symbol,0,12,3,3,MODE_SMA,1,MODE_MAIN,i+17)<80
){
ObjectCreate("OPUS"+IntegerToString(i),OBJ_VLINE,indicator_window+1, Time[i], 0);
ObjectSet("OPUS"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
ObjectSet("OPUS"+IntegerToString(i),OBJPROP_WIDTH,3);
ObjectSet("OPUS"+IntegerToString(i),OBJPROP_BACK,1);
}
The only one that was on the iffier side was this rising wedge, since the RSI2 was too slow to register the Wave 2 blip in an articulate manner.

Other corrections visible from 4H space:



& when the brain begins to fault
As you can see, what I’m doing is not throwing shit on the wall. Far from it. I utilize statistics and mechanical awareness.
Unlike one size fits all charlatans selling 2k memberships, I have no products to sell and I am not even venturing to try the same things on a different Forex pair. Yes, I am a one trick horny.
These are the things I can get my head wrapped aound: lowest spread, lowest commission, highest liquidity, specalization – the ability to hedge apples with apples, the aforementioned statistics based indications, projections, some automatization and then you may have a fleeting chance of making it.
I don’t think anyone has picked this exact route before me.
…
Who are you now?