Evolving Situation

First, about the blue circle. It has been puzzling from the beginning. The market maker was responsible for the gap up. But the blue thing that would be a crack and square is completely out of character for an MM, as they do lift and square when buying. The conclusion is that this was active trading, new money.

Now, with the mindset of market makers reacting and squaring, the initiating moves had to be made by non-MM players. The purple fractals seem to have one thing in common: they utilize those market maker lines that were long squaring prints (coral-colored lines) and they hold their palms out 4-12 pips lower. The traders seem to ignore the green, short squaring lines.

The other conclusion is that a top is missing. The squaring at the recent top made no impression on the pendulum, it was a divergent close to a leg. The MM stronghold would see an overrun since the oversold level was just purchased.

Particularly because of the head and shoulders looks.

If the traders are still interested, they should buy below the 1.0405 line (minus 4-12 pips zone).

The aim could be as high as 1.0528 and with the consolidation mean being moved higher a little extra on top of that.

The bottoming sequence was a W3C getting a Support beat after a new consolidation.

Never Ending Calibration

I often fall into the trap of faith I put in filters that are not yet settled (if there was no signal no change has transpired attitude). A Money flow overbought peak is not the end on the upside according to my thinking, and a divergence sequence must play out first.

I could not be more wrong. The market maker can use this luck-found pocket of liquidity to square holdings into, thus there would be nothing more to look for on the upside

The sane mistake others make with drawing lines thinking any crossing to be a break and they must be repellant, well I commit the sane ctime when I exclude from BB shortfalls where price has gone over the line a bit. So some extra allowance is a must. 8 pips I added.

So I have this coworker reciting mindless sentences like “structure is king”.

The problem with discressionary trading that it has no rules, and it is not replicable. I cannot write a binary code for “I don’t like this long” and which side of the bed you woke up on is not a valid premise.

I chose not to exist in a world of narratives, I don’t like having no definitions for things, I want computers to stay binary. Maybe is not an answer to any question.

Undestanding market making however could make you a king.

As for tangible advice, the market maker is now net short. Align your holdings accordingly. Use a move up to dump longs, i.e. towards 1.0430 or upon approaching the 30-sample BB.

Overbought Penalty

The pause/difficulty here is the sudden overbought condition (RSI, Stoch).

At the same time, there is an hourly 200-sample new high made with an acceleration. That is not bearish, at least not in the short term, because a higher high and a thrust are missing.

A bottoming process is underway, and this is going to go back down for sure, possibly making an F3 print with a lower low.

There is a 28-hour allowance for the HH beat (expected to be 6-16 pips higher than the current one statistically).

If the HH is only made beyond 28 hours, the final thrust would only be a lower high.

I believe there will be a thrust when the MA ribbon is lower. The daily 50 EMA is likely going to be hit. 1.05 or so would make sense.

The main curve ball is the behavior lately starting 1 hour after the US close. They have been moving the market regularly, starting with the 2C low.

The least likely outcome would be a stochastic embedding (hanging out in the overbought for 3 days+) and starting to churn higher.

This is a pullback after a new high, that feels like a start of something new but barely got beyond the statistical 35-41 pips that is the highest likelihood after a Money Flow acceleration.

The Right Clues

The downwards constraint is over with. The swing low is in. If you want to play something, play the upside.

On the recent pullback after an FF++ move (very strong, only 20 pips away from the full tilt, we are looking at a possible FF hit at 1.0486.

They purchased the Goosing level, very close to the consolidation mean which tells you they are very bullish. Also, the purple stretch (93+ pips) condition on the downside did not receive a beat.


Some nostalgia for those used to watch the Lost.

Before Trump 2.0

A liquidity break has finished (red line). A lower low is guaranteed. The Bollinger Bands are starting to compress (volatility will trend down – green vertical marker).

The market maker is a net short here. The thick red was the squaring of long holdings.

The week is closing more than 91 pips up, so technically a swing low is in place until the low gets taken out again.

Suggestion? Follow the market maker’s hand.

//squaring shorts - going  up - BB #2
if (Close[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)
   && Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1) && Low[i+2]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+2)
)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], Low[i] , Time[i], Low[i]-60*Point);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);
             if (i>0){
                     ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i-1)));
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);}
}


//squaring shorts - going  up - BB
if (Close[i]-Low[i]>160*Point && Open[i]-Low[i]>160*Point
   && (Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1) || Low[i+2]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+2))&& Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)
)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], Low[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);
              if (Low[i]<Low[i+1]){
               ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, Low[i]);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);}              
}


//squaring shorts - up - lower BB
if (Close[i]-Low[i]>80*Point && Open[i]-Low[i]>80*Point
   && ((Low[i+2]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+2) && Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1) )|| (Low[i+3]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+3) && Low[i+2]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+2))&& Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i))
)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], Close[i]-100*Point , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);
              if (Low[i]<Low[i+1]){
               ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, Close[i]-60*Point);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);}              
}


//squaring shorts - going  up - S30
if (Close[i]-Low[i]>160*Point && Open[i]-Low[i]>160*Point
   && (Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+1) && Low[i+2]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+2))&& Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i)
)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], Low[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);
              ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, Low[i]);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);
}


//squaring longs - going  down - BB 
if (High[i]-Close[i]>80*Point && Low[i+1]<Low[i+2] && Low[i+1]<Low[i+3]
&& Close[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i) 
&& Low[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1) 
&& Low[i+3]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+3) 

)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], High[i] , Time[i], Close[i]);

     ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrRed);
               ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, High[i]);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);
}

//squaring longs - going down - BB miss
if (High[i]-Close[i]>60*Point && High[i]-Open[i]>60*Point 
&& High[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i) 
&& High[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1) 
&& High[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)-100*Point 
&& High[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)-100*Point 
&& Low[i+3]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+3)-100*Point

//&& Low[i+3]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+3)
)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], High[i] , Time[i], Close[i]);
             
              if (i>0 && High[i-1]>High[i]) 
              {ObjectDelete("KAROLYIII"+DoubleToStr(i));
              ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i], Low[i-1] , Time[i-1], Open[i-1]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);
              ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, Low[i-1]);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);
              }
              else {
               ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrRed);
               if (Low[i+3]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+3)) ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrMaroon);
               ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, High[i]);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);
                     }
}



//squaring longs - going  down - S30 
if (High[i]-Close[i]>80*Point && Low[i+1]<Low[i+2] && Low[i+1]<Low[i+3]
&& iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i)<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1)
&& Close[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i) 
&& Low[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+1) 
&& Low[i+3]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+3) 

)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], High[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrRed);
               ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, High[i]);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);

}



//squaring longs - going  down - BB to S30 
if (High[i]-Close[i]>80*Point && Low[i+2]<Low[i+3] && Low[i+2]<Low[i+4]
&& iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1)<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+2)
&& Close[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i) 
&& Low[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1) 
&& Low[i+4]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+4) 

)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], High[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrRed);
               ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, High[i]);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);
}

Left or right?
Stage or fright?
...
(There's a Junipero cherry for everyone!)

(There's a Junipero cherry for everyone!)
...

...
More geld than Marian

More domesticated than a Martian

Tramp stamp, Trump assassination

Afternoons in homophobia

(But what can you do
when you are
big in Upton On Avon?)

But what can you do
When you are Hooked on Alphaville
But what can you do
Doped to the max

How can anyone live in Germany?

(There's a Junipero cherry for everyone)

(There's a Junipero cherry for everyone)

Walking in the rain...

Dancing on the ceiling...

What a feeling...

And right after

A big breakfast at Tiffany's

My Ivory Flower,

(There's a Junipero cherry for everyone)

(There's a Junipero cherry somewhere)

Up

The filters I wrote pick up this 3-hour selling as a short squaring.

This is a fluctuation maximum (46 pips) from one side to the other side without moving the consolidation range. This move could be a Wave 2 down or a Wave B down. Either way, more upside beyond the high that was made today looks to be in the cards.

//squaring - up - S30
if (Close[i]-Low[i]>160*Point && Open[i]-Low[i]>160*Point
   && (Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+1) && Low[i+2]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+2))&& Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i)
)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], Low[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);
              ObjectCreate("Pipper"+IntegerToString(i), OBJ_HLINE, 0,  0, Low[i]);
                     ObjectSetInteger(0,"Pipper"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                     ObjectSet("Pipper"+IntegerToString(i),OBJPROP_WIDTH,5);
}

As for the CPI I knew that the Market Makers were wrong, see the green squarings prior, and also there were 3 false starts on the MFI/RSI2 combo, so I told my coworker that the upside was “prepped”, and this was going to rally.

Buy 6 pips below the black candle’s close (1.0280) and add more if it moves lower for up to 16 pips.

The next three reactive lines are at 1.0381 and 1.04045 and 1.04337. Any of these could & should see a 25-pip counter move at least, but trail to be prudent.

Next Level

The difficulty is trading the USD currently.

The F3 got voided again, this time by making a lower low.

The current F has no hope of being upgraded to an F3 since it registered deep oversold on the Daily RSI2.

if (i>0 && Low[i]<Low[i-1] && iRSI(symbol,0,2,PRICE_MEDIAN,i)>8.5 && Low[i]<iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i)-FMax*2.4*10*Point) ObjectSetText("Bod"+DoubleToStr(i), "F3", 34, "Impact",  White); 

Meanwhile, the BB width is still expanding. There should be a move back up to the 100-pip stop next.

The orange plotted line splits the difference between the 8 and 16 EMAs.

The idea is to sell it if the market is in a channeling mode like it was for 2 days.

(iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i)+iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i))/2

The 2-hour thrust down took the price to the support level relative to the consolidation mean, 37 pips away (a no-break extension).

The next move should be a lift and square: a candle breaking above the 30 SMA and a consecutive candle with a 16+ pips wick on the bottom of it. Wherever that candle closes, 6-16 below would be the hot area to go long.

I expect to see a liquidity break, a rally at least 2 days long which would tackle the upper BB30 three times in a row. The 9-day EMA seems totally attainable in the coming days.

The F3 Playbook

In short, 92-95 pips run up, then two bowbacks making a bid for the low, one close, the other closer, but a match of the F3 low on the second attempt, and then… it is all over.

The last two F3-s looked like this:

If you consider A and B prints, the first A would be a bit longer than the second, and the first B would be longer or equal to the second. This is a contracting pattern. Length? 3-8 days.

According to this blueprint, the first A should take the price to 1.0304-1.3010

Minor Details

3 things I wasn’t paying attention to before.

#1 When the total regime change happened at the top, the entire consolidation took place below the 16 EMA. So it is not enough to be on the other side of the 80 line, it must be high-basing to turn.

This therefore did not qualify.

The current problem with the reversal is that the volatility is rising.

The third important clue was the failure to the leg 3 (which resulted in having to rename it as a 2B) was again too much volatility. Believe it or not, a steep 2-day incline is not productive.

See those red diagonal lines? They are steep 2-day inclines that I call liquidity breaks. All of them have resulted a lower low, and only two of them had a re-visit/beat by 5 and 11 pips namely.

Two days and 100+ pips and the rally is spent.

if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,j))-Low[i]>1000*Point && iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,j))<iMA(symbol,0,9,0,MODE_EMA,PRICE_HIGH,iHighest(symbol,0,MODE_HIGH,2,j))+600*Point) ObjectSet("Liquidityx"+i,OBJPROP_COLOR,clrRed);
         ObjectSet("Liquidityx"+i,OBJPROP_WIDTH,9); 
         ObjectSet("Liquidityx"+i,OBJPROP_BACK,1); 

Other than that, the “3” did not register on my RSI2 scale which would make it equal to the one at the top. Strong divergence.


Album #48 came out today


F3 plots

 if (High[i]>iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i)+FMax*2.2*10*Point
      && High[i]>High[i+1]+33*Point && Close[i]<High[i]-60*Point &&
      High[i]-Low[i]>900*Point && Low[i]>L80N[i+1]
      ){
          ObjectCreate("Bod"+DoubleToStr(i), OBJ_TEXT, 0, Time[i], High[i]+330*Point); 
          if (i>1 && High[i]>High[i+1] && (High[i-1]>High[i] || High[i-2]>High[i]) && Low[i]>L80N[i]) ObjectSetText("Bod"+DoubleToStr(i), "F", 24, "Impact",  Green);
          else if (i>2 && High[i]>High[i+1] && High[i-3]>High[i] && Low[i]>L80N[i]) ObjectSetText("Bod"+DoubleToStr(i), "F", 24, "Impact",  Green);
          else ObjectSetText("Bod"+DoubleToStr(i), "F", 24, "Impact",  White); 
          if (iRSI(symbol,0,2,PRICE_MEDIAN,i)<88.4) ObjectSetText("Bod"+DoubleToStr(i), "F3", 34, "Impact",  White);  }
   
     if (Low[i]<iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i)-FMax*2.4*10*Point
      && Low[i]<Low[i+1]-33*Point  && (Close[i]>Low[i]+210*Point || (i>0 && Low[i-1]>Low[i])) &&
      High[i]-Low[i]>430*Point && High[i]<L80N[i+1]
      ){
          ObjectCreate("Bod"+DoubleToStr(i), OBJ_TEXT, 0, Time[i], Low[i]-330*Point); 
          
          if (i>1 && Low[i]<Low[i+1] && (Low[i-1]<Low[i] || Low[i-2]<Low[i]) && High[i]<L80N[i]) ObjectSetText("Bod"+DoubleToStr(i), "F", 24, "Impact",  Red);
          else if (i>2 && Low[i]<Low[i+1] && Low[i-3]<Low[i] && High[i]<L80N[i]) ObjectSetText("Bod"+DoubleToStr(i), "F", 24, "Impact",  Red);
          else ObjectSetText("Bod"+DoubleToStr(i), "F", 24, "Impact",  White); 
          if (iRSI(symbol,0,2,PRICE_MEDIAN,i)>8.5 && Low[i]<iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i)-FMax*2.4*10*Point) ObjectSetText("Bod"+DoubleToStr(i), "F3", 34, "Impact",  White); 
        }

Squared

Experiment.

The idea is that a market maker closes out a block with balanced books (no excess holdings in the wrong direction), thus making a brief countermove. We are going to try to spot and plot these.

Our canes are 3 lines, the 30 sample BB Upper, Lower and Main.

On the upside: lift and square (green boxes)

I am looking for a move above the MAIN or the UPPER line on the previous 2 candles, an ascending 16 EMA, and a lower wick greater than 16 pips.

//squaring - up - BB
if (Close[i]-Low[i]>160*Point && Open[i]-Low[i]>160*Point
   && (Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1) || Low[i+2]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+2))&& Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)
)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], Low[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);
}
//squaring - up - S30
if (Close[i]-Low[i]>160*Point && Open[i]-Low[i]>160*Point
   && (Low[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+1) || Low[i+2]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+2))&& Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i)
)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], Low[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);
}

Once the plot is made, the early bird can get in on a dip below the candle close on the upper examples by 6 pips up to 16 pips.

The squaring lines are relatively safe spots to put stop losses beyond.

On the downside: crack and square (red boxes)

The downside works similarly, but instead of a separation, I am looking for a crack, then a follow-up candle that has an upper wick of 8+ pips (yes, another arbitrary number).

I added one extra condition with a combination of the 2 bands, which is a combination of the two bands when a squeeze makes a move like this possible.

//squaring - down - BB 
if (High[i]-Close[i]>80*Point && Low[i+1]<Low[i+2] && Low[i+1]<Low[i+3]
&& Close[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i) 
&& Low[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1) 
&& Low[i+3]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+3) 

)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], High[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrRed);
}

//squaring - down - S30 
if (High[i]-Close[i]>80*Point && Low[i+1]<Low[i+2] && Low[i+1]<Low[i+3]
&& iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i)<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1)
&& Close[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i) 
&& Low[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+1) 
&& Low[i+3]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i+3) 

)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], High[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrRed);
}



//squaring - down - BB to S30 
if (High[i]-Close[i]>80*Point && Low[i+2]<Low[i+3] && Low[i+2]<Low[i+4]
&& iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+1)<iMA(symbol,0,16,0,MODE_EMA,PRICE_MEDIAN,i+2)
&& Close[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i) 
&& Low[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1) 
&& Low[i+4]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+4) 

)
{
 ObjectCreate("KAROLYIII"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+1], High[i] , Time[i], Close[i]);
              ObjectSetInteger(0,"KAROLYIII"+DoubleToStr(i),OBJPROP_COLOR,clrRed);
}