Entombed

aka the Pain Train

Now, let’s talk the second premise after the coma.

Of course, I am still measuring from the E-414 band. 3x stretch = 3x fluctuation maxiumum = 3 x 38.4 pips

The reason for wanting to see a stretch beyond 3x is that statisically that is the field from where a mean reversion is expected.

Now, the daily stochastic is reaching such an overbought level that there would have to be a higher high further down the road, a wave structure cannot end like this.

The 18-sample stoch is at 97.56%, a leg could end here, but a diverging higher high would be necessary with a reading below 95.6%.

I haven’t fixed the upside yet, but here’s an example of tracking the optimal turning depth, the numbers plotted on the magenta bricks – the blue prints are plausible, the white ones are too low or already on the way up.

Meaning, the current print would be a white number unless the day finishes much lower with a blue stochastic or would need another higher high on the following day.

There is a cyan (pro volume candle) that should react upon price pushing more into its tail.

I would expect the next push up to fall shy of the daily BB.

Are we going for the Orange block?

The mean reversion is way overdue. If the CTAs have left something in the tank, refer to the daily Cyan candle (1.0933-1.0905 would be the zone to defend.)

We have started to eat away into the last money flow injection’s reversal zone, barring new money coming in again price could reverse at any moment. I could see another reach into the 1.102x, but not beyond 1.103x. If the CTAs reached max long and price stops moving higher, who are they going to be able to sell to?

I refrained so far from calling the touches on the Olive lines as First Blood, Second Blood. You know, too many movie and game references could get confusing.

Kapow

Why so nervous?

So then what exactly happened?

The market made an extension.

I misunderestimated the distance the market would do upon ttipping the buystop level by 6 pips, because I’m not Matt Watson, and you are not watchinh Carwow.

You Give Me A Treason…

I called it Unfair Value Guard Rail, so let’s just go with that. Currently they seem to be in the habit of blocking a mean reversion from happening. It seems like they managed to trap lots of Dollar longs and feel like creaming them.

The Rail (aka Viaduct) is 1 fluctuation maximum away (38.6 pips) from the E-9 band (E-414 on.30 mins).

What is the one thing you do not want to see happen next?

A progression high (and follow through) – meaning a 30-min close outside the 30 sample BB then a close back inside within 1 hour ( and taking out the high that was just made, for that would solidify the fresh bullish count up.

However, if they do not manage the close outside, the downside had prevailed.

Are there any more doubts about my imaginery lines?

Black Balloons Day

Infe Station, Manife Station, Fore Station – arrivée.

No Volume Period

In a no vol period moves don’t play out. Take for instance this mean reversion move. I was ready to go in with a full hedge just below the E-9.

Since I had no fills, I was watching in pain a no brainer rally draw down. Could had been the easiest money all year if I was conscious of the volume effects. 5k for zero effort. Managed to resist it.

Here you can learn for once and all the difference between regression and progression highs / lows.

The same no volume effect may have made this wave 5 up underwhelming. Why don’t I number every crossback? I need at least 3 hours from the last change of count to call a different leg.

The Unfair Value Upper Guard Rail (Green) provided support, but reluctantly and the count talks of a complete structure.

The E-9 is getting too close and the untested E-414L/E-712M zone although wide is now vulnerable too. It could be crossed with either high velocity or a consolidation in the thick of the greenery. Once surpassed it would turn a too wide empty space to cross back.

The volume and the volatility is going to return along with the new money and the upside possibilites are currently exhausted.

BAE is in the building. Used to pay a million a quarter rent when they had the whole floor. Mow they are sharing it with Exxon.

Survival of the Wittiest

I was had by this slow motion capitulation. I have some crystal clear lessons to share.

The right thinking should had been:

You can have 5 days separated from the E9 (red), a touch down isn’t expected until the 6th day. It is not about the Bollinger Bands, it is about frequent returns to the E-9. The return on the 6th to 8th day is the norm.

The fact, that the number of days can go up to 13, does not change the rule of thumb. This market below was making new 1590-sample lows.

A 5.11x stretch (more than 4x) from the mean is Bear Market volatility. The “300” move was a measuring leg. The divergence would be set by the divergent leg that falls shy of the original stretch measured, but not by a lot, say 20%-25%. This divergence shows enough shift in the core holdings for a reversal.

Image above: 5.11x stretch

Image below: 3.78x stretch.

When price moves slowly, the human is more prone to fade.

After the “CAP” was broken, price was in a Capitulation, no matter the speed.

The final divergences got broken (awfully close to the top, in blue), but the MFI beat (there was only one) held neatly. There were no 15 diffetent calls only this one. I’m sure there were a few dozen FVGs on the way without even going below 30 minutes (some of them got overrun, some of them reacted – did any of them help to figure out where price was to reverse?).

It tooketh the Money Flow Beat Reversal Siegfriedity and left withouth touching any interruptors err I mean breakers. If I confess to you right here and now that I have never written liquidity on any chart, you think you could still love me?

Respect the spinner. When price goes outside and then comes back, the middle value serves as an accelerator.

This was one of the most straighforward corrections ever, it merely had the potential to become the hardest trap you imposed on yourself due to the high volatility and the very slow commute at times.

As you can see, this is not so much a guessing game as much as it is a pacing game.

Go long, sell near money flow extreme beat. 2 lines of code. People don’t follow instructions – 1 line of truth.

Slow & steady Windischgrätz.

The downside spike out was much more pronounced than the upside one.

Keeping It Real

If I had to sum up in two words the market maker’s objective, it would be trappig people.

Garden variety

There are different methods available, i.e.: Algos can fade break outs.

CTAs can provide leverage with a prolonged directional move, especially after lightening their holdings. They definitely play a role in the high volume churns.

The turnips

The question about a weekly volume churn in one direction is if it is going to get reversed the next week, making for a U-turn.

The following image shows one example for both outcones:

There is a beat the following week, that’s normal.

Notice that the red & the green walks hand in hand more often than not.

Multiple cover highs / cover lows may be the symptom of CTAs withdrawing. The following 2 images are showing the CTA cover zones.

In different environments different things can be useful for projecting a high / low in advance.

The Zoo

The Rabbits pointed at 1.0922-1.0952 the last time they popped up.

The Vwap oscillator (4H) is currently expressing serious doubts about the sustainability of this move.

The power box is shaded and has called the extent of this move some 28x4H earlier. The green on top is the icing.

As for the “is the high in” I had invented fuzzy math.

20% (QE) + 20% (QE) + 25% (Green Ball) + 55% (Black Ball) = 110%.

At the moment the white interrupted line on the downside got violated and on the upside price fell short.

These lines were made by the 3 candles kicking in the Bull & the new Bear Market. The downtrend is about to be re-established.

Finally, the Money Flow Beat Reversal Liqudity levels are plotted…

The gray box got already tapped into.

I had to get real about this experiment to conclude that the short term MFI extreme / beat has more relevance than the long term MFI continuation divergence.

The final divergence is finally made.

Better Volume Pro Sabotaged

This is forex, and my Bear / Bull market separator is still 3 consecutive weekly closes on one side of the E-59.

Price finished between the Weekly R3 (1.0917), and the Window Envelope at 1.0901, after a bear market rally & got more overbought than it was at the peak made by the Bull Market. Go figure. I think 2 more weeks closing above the E-59 would be a lot to ask.

Cyan = professional activity.

Red = high volume churn down

Green = high volume churn up

Out of music.

#property copyright   "Better Volume Pro Sabotaged by Macdulio, (c) 2021"
#property link        "http://www.forexfore.blog"
#property description "Better Volume Pro Sabotaged by Macdulio"
//#property strict

#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 Chartreuse
#property indicator_color2 DimGray
#property indicator_color3 Yellow
#property indicator_color4 Cyan
#property indicator_color5 Red
#property indicator_color6 Magenta
#property indicator_color7 Maroon

#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property indicator_width5 2
#property indicator_width6 2

extern int lookback = 100;
extern int     NumberOfBars = 500;
extern string  Note = "0 means Display all bars";
extern int     MAPeriod = 100;
extern int     LookBack = 20;
extern bool    AlertEmail=false;
extern bool    AlertSound=false;
extern bool    AlertPopup=false;

datetime       LastAlert;
string symbol = Symbol();

double red[],blue[],yellow[],green[],white[],magenta[],v4[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
      SetIndexBuffer(0,red);
      SetIndexStyle(0,DRAW_HISTOGRAM,0,5);
      SetIndexLabel(0,"Climax High ");
      
      SetIndexBuffer(1,blue);
      SetIndexStyle(1,DRAW_HISTOGRAM,0,5);
      SetIndexLabel(1,"Neutral");
      
      SetIndexBuffer(2,yellow);
      SetIndexStyle(2,DRAW_HISTOGRAM,0,5);
      SetIndexLabel(2,"Low ");
      
      SetIndexBuffer(3,green);
      SetIndexStyle(3,DRAW_HISTOGRAM,0,5);
      SetIndexLabel(3,"HighChurn ");
      
      SetIndexBuffer(4,white);
      SetIndexStyle(4,DRAW_HISTOGRAM,0,5);
      SetIndexLabel(4,"Climax Low ");
      
      SetIndexBuffer(5,magenta);
      SetIndexStyle(5,DRAW_HISTOGRAM,0,5);
      SetIndexLabel(5,"ClimaxChurn ");
      
      SetIndexBuffer(6,v4);
      SetIndexStyle(6,DRAW_LINE,0,2);
      SetIndexLabel(6,"Average("+MAPeriod+")");
      
      IndicatorShortName("Better Volume PRO" );
      

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
  
//----
   return(0);
  }
  
string PeriodToText(int per) {

   switch (per)
   {
      case PERIOD_M1: return("M1");
      case PERIOD_M5: return("M5");
      case PERIOD_M15: return("M15");
      case PERIOD_M30: return("M30");
      case PERIOD_H1: return("H1");
      case PERIOD_H4: return("H4");
      case PERIOD_D1: return("D1");
      case PERIOD_W1: return("W1");
      case PERIOD_MN1: return("MN1");
   }

}  
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  
   double VolLowest,Range,Value2,Value3,HiValue2,HiValue3,LoValue3,tempv2,tempv3,tempv;
   int limit,j;
   int counted_bars=IndicatorCounted();
   
   
   
   
deletetxt1("PENELOPE");


 ObjectCreate("PENELOPE"+6,OBJ_LABEL,0, 0,0);
  ObjectSet("PENELOPE"+6,OBJPROP_CORNER,0);
    ObjectSet("PENELOPE"+6,OBJPROP_XDISTANCE,0);
  ObjectSet("PENELOPE"+6,OBJPROP_YDISTANCE,20);
  ObjectSet("PENELOPE"+6,OBJPROP_COLOR,clrNavy); 
  ObjectSetText("PENELOPE"+6,"Every Break Out is A",9,"Arial Black");


ObjectCreate("PENELOPE"+9,OBJ_LABEL,0, 0,0);
  ObjectSet("PENELOPE"+9,OBJPROP_CORNER,0);
    ObjectSet("PENELOPE"+9,OBJPROP_XDISTANCE,0);
  ObjectSet("PENELOPE"+9,OBJPROP_YDISTANCE,40);
  ObjectSet("PENELOPE"+9,OBJPROP_COLOR,clrNavy); 
  ObjectSetText("PENELOPE"+9,"Money Flow-Break Out",9,"Arial Black");
   
   
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   if ( NumberOfBars == 0 ) 
      NumberOfBars = Bars-counted_bars;
   limit=NumberOfBars; //Bars-counted_bars;
   
      
   for(int i=0; i<lookback; i++)   
      {
         red[i] = 0; blue[i] = Volume[i]; yellow[i] = 0; green[i] = 0; white[i] = 0; magenta[i] = 0;
         Value2=0;Value3=0;HiValue2=0;HiValue3=0;LoValue3=99999999;tempv2=0;tempv3=0;tempv=0;
         
         
         VolLowest = Volume[iLowest(NULL,0,MODE_VOLUME,20,i)];
    //    if (Volume[i] == VolLowest)
    //        {
    //           yellow[i] = NormalizeDouble(Volume[i],0);
    //           blue[i]=0;
    //        }
               
         Range = (High[i]-Low[i]);
         Value2 = Volume[i]*Range;
         
         if (  Range != 0 )
            Value3 = Volume[i]/Range;
            
         
         for ( int n=i;n<i+MAPeriod;n++ )
            {
               tempv= Volume[n] + tempv; 
            } 
          v4[i] = NormalizeDouble(tempv/MAPeriod,0);
         
          
          for ( n=i;n<i+LookBack;n++)
            {
               tempv2 = Volume[n]*((High[n]-Low[n])); 
               if ( tempv2 >= HiValue2 )
                  HiValue2 = tempv2;
                    
               if ( Volume[n]*((High[n]-Low[n])) != 0 )
                  {           
                     tempv3 = Volume[n] / ((High[n]-Low[n]));
                     if ( tempv3 > HiValue3 ) 
                        HiValue3 = tempv3; 
                     if ( tempv3 < LoValue3 )
                        LoValue3 = tempv3;
                  } 
            }
                                      
         
            
    
            
               if ( Value2 == HiValue2  && Close[i] > (High[i] + Low[i]) / 2 )
            {
               red[i] = NormalizeDouble(Volume[i],0);
               blue[i]=0;
               yellow[i]=0;
            } 
          else     if ( Value3 == HiValue3 )
            {
               green[i] = NormalizeDouble(Volume[i],0);                
               blue[i] =0;
               yellow[i]=0;
               red[i]=0;
            }  
            
            
          if ( Value2 == HiValue2 && Value3 == HiValue3 )
            {
               magenta[i] = NormalizeDouble(Volume[i],0);
               blue[i]=0;
               red[i]=0;
               green[i]=0;
               yellow[i]=0;
            } 
         if ( Value2 == HiValue2  && Close[i] <= (High[i] + Low[i]) / 2 )
            {
               white[i] = NormalizeDouble(Volume[i],0);
               magenta[i]=0;
               blue[i]=0;
               red[i]=0;
               green[i]=0;
               yellow[i]=0;
            } 
            
         
      }
//----Alert Code - gah

   if (AlertEmail || AlertSound || AlertPopup)
      if (Time[0] != LastAlert) {
         LastAlert = Time[0];

         if (red[1] > 0) {
            if (AlertSound)
               PlaySound("alert");
            if (AlertPopup)
               Alert(Symbol() +" "+PeriodToText(Period())+ " Climax High at " + TimeToStr(TimeLocal(),TIME_DATE|TIME_MINUTES));
            if (AlertEmail)
               SendMail(WindowExpertName() + " - " + Symbol() +" "+PeriodToText(Period())+ " Climax High at " + TimeToStr(TimeLocal(),TIME_DATE|TIME_MINUTES),"New Climax High");
         }//if (red[1] > 0)          

         if (white[1] > 0) {
            if (AlertSound)
               PlaySound("alert");
            if (AlertPopup)
               Alert(Symbol() +" "+PeriodToText(Period())+ " Climax Low at " + TimeToStr(TimeLocal(),TIME_DATE|TIME_MINUTES));
            if (AlertEmail)
               SendMail(WindowExpertName() + " - " + Symbol() +" "+PeriodToText(Period())+ " Climax Low at " + TimeToStr(TimeLocal(),TIME_DATE|TIME_MINUTES),"New Climax Low");
         }//if (white[1] > 0) 
         
      }//if (Time[0] != LastAlert) 

deletetxt1("Cinzano");
deletetxt1("Duhh");
   
    for(i=lookback; i>=0; i--)   
    {
      ///U-Turn Down
        if ( white[i]!=0 && red[i+1]!=0){
            ObjectCreate("Cinzano"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,1,i))+10*Point, Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))-10*Point);
          ObjectSetInteger(0,"Cinzano"+IntegerToString(i),OBJPROP_COLOR,clrCrimson);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_WIDTH,1);
          
                    ObjectCreate("Cinzanoy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-280*Point+20*Point); 
     
         ObjectSetText("Cinzanoy"+IntegerToString(i), "U-TURN DOWN", 14, "Impact", Navy);  
          
                      
        }
        ///U-Turn Up
        if ( white[i+1]!=0 && red[i]!=0){
            ObjectCreate("Cinzano"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,1,i))+10*Point, Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))-10*Point);
          ObjectSetInteger(0,"Cinzano"+IntegerToString(i),OBJPROP_COLOR,clrChartreuse);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_WIDTH,1);     
          
                    ObjectCreate("Cinzanoy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-280*Point+20*Point); 
     
         ObjectSetText("Cinzanoy"+IntegerToString(i), "U-TURN UP", 14, "Impact", Navy);         
        }
        
         ///Out of Upside Volume Turn Down
        if (green[i]==0 && red[i]==0 && red[i+1]!=0 && Volume[i]>Volume[i+1] ){
            ObjectCreate("Cinzano"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,1,i))+10*Point, Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))-10*Point);
          ObjectSetInteger(0,"Cinzano"+IntegerToString(i),OBJPROP_COLOR,clrRed);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_WIDTH,1);  
          
          
         if (i<0 && green[i-1]==0){ 
            ObjectCreate("Cinzanoy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-280*Point+20*Point); 
            ObjectSetText("Cinzanoy"+IntegerToString(i), "NO MORE BUYS", 14, "Impact", Navy);                     
          
          if (red[i+2]==0 ){
           j=i;
      while (j>0){
         if (Low[j]<Open[i+1] && Low[j]<Close[i+1]) break;
         j--;
      }
        if (j<0) j=0;  
            ObjectCreate("Cinzanoss"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))-40*Point, Time[j], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i)));
          ObjectSetInteger(0,"Cinzanoss"+IntegerToString(i),OBJPROP_COLOR,clrSpringGreen);
          ObjectSet("Cinzanoss"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Cinzanoss"+IntegerToString(i),OBJPROP_WIDTH,3); 
          
          ObjectCreate("Cinzanoszs"+IntegerToString(i), OBJ_TEXT, 0, Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))+280*Point+20*Point); 
                if (iMA(NULL,60,67,0,MODE_EMA, PRICE_HIGH,i)>iMA(NULL,60,207,0,MODE_EMA, PRICE_HIGH,i))          ObjectSetText("Cinzanoszs"+IntegerToString(i), "TGT:"+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))+280*Point,4),4), 14, "Impact", DarkGreen);
         else ObjectSetText("Cinzanoszs"+IntegerToString(i), "(TGT:"+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))+280*Point,4),4)+")", 14, "Impact", DarkGreen);           
          }
          }      
        } 
         ///Out of Downside Volume Turn Up
        if ( white[i+1]!=0 && white[i]==0 && Volume[i]>Volume[i+1]){
            ObjectCreate("Cinzano"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,1,i))+10*Point, Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))-10*Point);
          ObjectSetInteger(0,"Cinzano"+IntegerToString(i),OBJPROP_COLOR,clrChartreuse);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_WIDTH,1);       
          
          
          if (i<0 && green[i-1]==0){
               ObjectCreate("Cinzanoy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-280*Point+20*Point); 
               ObjectSetText("Cinzanoy"+IntegerToString(i), "NO MORE SELLS", 14, "Impact", Navy);       
          }     
        }
        
        
        ///First Sore White
          if ( i>0 && white[i+2]==0 && green[i+2]==0 && red[i+1]!=0 && red[i]==0 && red[i-1]==0  && white[i-1]==0 && Volume[i]<Volume[i+1]){
           j=i-1;
      while (j>0){
         if (High[j]>High[i+1]) break;
         j--;
      }
        if (j<0) j=0;  
          ObjectCreate("Cinzanos"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))+50*Point, Time[j], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1)));
          ObjectSetInteger(0,"Cinzanos"+IntegerToString(i),OBJPROP_COLOR,clrRed);
          ObjectSet("Cinzanos"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Cinzanos"+IntegerToString(i),OBJPROP_WIDTH,3);      
          
           ObjectCreate("Cinzanosz"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-280*Point+20*Point); 
     
         ObjectSetText("Cinzanosz"+IntegerToString(i), "TGT:"+DoubleToStr(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-280*Point,4),4), 14, "Impact", Crimson);                 
        }
        
          ///First Sore Red
      if ( i>0 && red[i+2]==0 && green[i+2]==0  && white[i+1]!=0 && white[i]==0 && white[i-1]==0 && red[i-1]==0 && Volume[i]<Volume[i+1]){
      j=i-1;
      while (j>0){
         if (Low[j]<Low[i+1]) break;
         j--;
      }
        if (j<0) j=0;  
            ObjectCreate("Cinzanos"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1))-50*Point, Time[j], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1)));
          ObjectSetInteger(0,"Cinzanos"+IntegerToString(i),OBJPROP_COLOR,clrSpringGreen);
          ObjectSet("Cinzanos"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Cinzanos"+IntegerToString(i),OBJPROP_WIDTH,3);
          
                   ObjectCreate("Cinzanosy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], Low[i]-50*Point); 
         ObjectSetText("Cinzanosy"+IntegerToString(i), " BUY @:"+DoubleToStr(NormalizeDouble((iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i))-50*Point),4),4), 14, "Impact", White);
         ObjectCreate("Cinzanosx"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], Low[i]-50*Point); 
         ObjectSetText("Cinzanosx"+IntegerToString(i), "BUY @:"+DoubleToStr(NormalizeDouble((iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i))-50*Point),4),4), 14, "Impact", DarkGreen); 
          
          ObjectCreate("Cinzanosz"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1))+280*Point+20*Point); 
           if (iMA(NULL,60,67,0,MODE_EMA, PRICE_HIGH,i)>iMA(NULL,60,207,0,MODE_EMA, PRICE_HIGH,i))    ObjectSetText("Cinzanosz"+IntegerToString(i), "TGT:"+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1))+280*Point,4),4), 14, "Impact", DarkGreen);  
       else  ObjectSetText("Cinzanosz"+IntegerToString(i), "(TGT:"+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1))+280*Point,4),4)+")", 14, "Impact", DarkGreen);           
        }
        
        
        
        ///first Climax down        
        if ( white[i+3]==0 && white[i+2]==0 && white[i+1]==0 && white[i]!=0 && red[i+1]==0 && High[i]-Close[i]<180*Point){
                      ObjectCreate("DuhhW"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+3], High[i], Time[i], iClose(symbol,0,i));
                      ObjectSetInteger(0,"DuhhW"+DoubleToStr(i),OBJPROP_COLOR,clrWhite);
                      ObjectSet("DuhhW"+DoubleToStr(i),OBJPROP_WIDTH,3);
                      ObjectSet("DuhhW"+DoubleToStr(i),OBJPROP_BACK,0);
        
        }
        ///first Climax up        
        if ( red[i+3]==0 && red[i+2]==0 && red[i+1]==0 && red[i]!=0 && white[i+1]==0 && Close[i]-Low[i]<180*Point && i>0
        && white[i-1]==0
        ){
                      ObjectCreate("Duhh"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+3], Low[i], Time[i], iClose(symbol,0,i));
                      ObjectSetInteger(0,"Duhh"+DoubleToStr(i),OBJPROP_COLOR,clrYellow);
                      ObjectSet("Duhh"+DoubleToStr(i),OBJPROP_WIDTH,3);
                      ObjectSet("Duhh"+DoubleToStr(i),OBJPROP_BACK,0);
        }
        
      
      ///Magenta  
      if (i<200 && magenta[i]!=0){
          ObjectCreate("Cinzano"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,1,i))-20*Point, Time[0], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,1,i))+20*Point);
          ObjectSetInteger(0,"Cinzano"+IntegerToString(i),OBJPROP_COLOR,clrMagenta);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Cinzano"+IntegerToString(i),OBJPROP_WIDTH,1);  
      
      }
    }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

   void deletetxt1(string text){
   for(int iObj=ObjectsTotal()-1; iObj >= 0; iObj--){
      string   on = ObjectName(iObj);
      if(StringFind(on, text) == 0)  ObjectDelete(on);
}  }
         

The Middle Of The Boat

Total Speculation article.

The first thing is this shape, the Megalodon and a glitch from history.

See the red thing and price in the middle?

I remember this one clearly, the market gapped to the other end of the Megadolon 149 pips away, then made a good attempt for closing the gap before running 360 pips again in the gap’s direction. There never was any explanation for the oversized gap away. Purely mechanical stuff.

I am not calling for a gap, not calling for a direction, just want to say that really anything is possible here.

The next shocking thing to talk about is the Money Flow continuation divergence.

Currently the money flow is more overbought than it was at 1.1275

The white palm highlighted is calling attention to not closing down even 10 pips on the week – and at the same time the Stochastic is not Embedded.

if (Close[i]>High[i]-100*Point && !embedded[i]) ObjectSetText("Mile"+DoubleToStr(i), CharToStr(73), 29, "Wingdings", clrWhite);

Say Goodbye to the Bad Guy…

Energy Trading – Conditions

The basis of energy trading is the Choppiness oscillator. I use 48-sample on the 15 min. I don’t use it on any other time frame.

The segregated conditions are as follows:

The White Rabbit marks up the next plausible 30-pip reversal zone. 5 pips later the whole idea is obsolete, hedge and wait for the next signal.

      if (!((ExtMapBuffer[i+1]>ExtMapBuffer[i+2]+4 && ExtMapBuffer[i+2]<StdDevLoBuffer[i+2]+5) 
      || (ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] && ExtMapBuffer[i+3]<StdDevLoBuffer[i+3] && ExtMapBuffer[i+4]<StdDevLoBuffer[i+4] && ExtMapBuffer[i+5]<StdDevLoBuffer[i+5] && ExtMapBuffer[i+6]<StdDevLoBuffer[i+6] && ExtMapBuffer[i+1]<35 && StdDevLoBuffer[i+1]<38)
      || (ExtMapBuffer[i+1]>ExtMapBuffer[i+2]+2 && ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] && StdDevLoBuffer[i+1]>44) 
      ))
      {
      if ( ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] || ExtMapBuffer[i+1]>46 || MathAbs(ExtMapBuffer[i+1]-ExtMapBuffer[i+2])<.44){
         if (Close[i+1]>iMA(symbol,0,480,0,MODE_SMA,PRICE_MEDIAN,i+1) ){
          if (i<200){
             ObjectCreate("Fail"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i))+60*Point); 
            ObjectSetText("Fail"+IntegerToString(i), " Sell @ "+DoubleToStr(NormalizeDouble(iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i)),4),4), 31, "Impact", White);
            ObjectCreate("Failx"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i))+60*Point); 
            ObjectSetText("Failx"+IntegerToString(i), "Sell @ "+DoubleToStr(NormalizeDouble(iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i)),4),4), 31, "Impact", OrangeRed);
           ObjectCreate("Faily"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i))+360*Point); 
            ObjectSetText("Faily"+IntegerToString(i), " Stop @ "+DoubleToStr(NormalizeDouble(iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i))+300*Point,4),4), 31, "Impact", Maroon);
            ObjectCreate("Failxy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i))+360*Point); 
            ObjectSetText("Failxy"+IntegerToString(i), "Stop @ "+DoubleToStr(NormalizeDouble(iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i))+300*Point,4),4), 31, "Impact", Lime);
            }
            message = "NO UNHEDGED SHORTS ABOVE "+DoubleToStr(NormalizeDouble(iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,100,i))+350*Point,4),4);

The Pink Rabbit is a bit lower ranking due to the Choppiness gaining considerable strength on the following print landing the energy reserves in a more elevated band. On the above picture you could say that the Pink Rabbit downgraded the White Rabbit.

 (ExtMapBuffer[i]>ExtMapBuffer[i+1]+4 && ExtMapBuffer[i+1]<StdDevLoBuffer[i+1]+5 )     ||
       (ExtMapBuffer[i]>ExtMapBuffer[i+1]+3 && ExtMapBuffer[i+1]>44 && MathAbs(ExtMapBuffer[i+1]-ExtMapBuffer[i+2])<.44 && ExtMapBuffer[i+2]<45 )  ||
            (ExtMapBuffer[i+1]<StdDevLoBuffer[i+1] && ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] && ExtMapBuffer[i+3]<StdDevLoBuffer[i+3] && ExtMapBuffer[i+4]<StdDevLoBuffer[i+4] && ExtMapBuffer[i+5]<StdDevLoBuffer[i+5] && ExtMapBuffer[i]<35 && StdDevLoBuffer[i]<38 && (ExtMapBuffer[i+1]>33 || ExtMapBuffer[i+1]<25) )
      || (ExtMapBuffer[i]>ExtMapBuffer[i+1]+2 && ExtMapBuffer[i+1]<StdDevLoBuffer[i+1] && StdDevLoBuffer[i]>44) 
      || (ExtMapBuffer[i]<34 && ExtMapBuffer[i+1]>34 && ExtMapBuffer[i]<StdDevLoBuffer[i] && StdDevLoBuffer[i]<38)
      )
      {
     //    ObjectCreate("FOCUS"+IntegerToString(i),OBJ_VLINE,2, Time[i+1], 0);
         
         if (Close[i+1]>iMA(symbol,0,480,0,MODE_SMA,PRICE_MEDIAN,i+1)) ObjectCreate("FOCUS"+IntegerToString(i),OBJ_TREND,indicator_window, Time[i+1], 43.5, Time[i+1], 80 );
         else  ObjectCreate("FOCUS"+IntegerToString(i),OBJ_TREND,indicator_window, Time[i+1], 43.5, Time[i+1], 0 );
         if (ExtMapBuffer[i+2]>StdDevLoBuffer[i+2] && !(MathAbs(ExtMapBuffer[i+1]-ExtMapBuffer[i+2])<.44)) ObjectSet("FOCUS"+IntegerToString(i),OBJPROP_COLOR,clrNONE);
      else ObjectSet("FOCUS"+IntegerToString(i),OBJPROP_COLOR,clrWhite);
            ObjectSet("FOCUS"+IntegerToString(i),OBJPROP_WIDTH,4);
      ObjectSet("FOCUS"+IntegerToString(i),OBJPROP_BACK,1);
      if (MathAbs(Close[i+1]-iMA(symbol,0,480,0,MODE_SMA,PRICE_MEDIAN,i+1))<200*Point) ObjectSet("FOCUS"+IntegerToString(i),OBJPROP_COLOR,clrRed);
      if (ExtMapBuffer[i+1]<34 || ExtMapBuffer[i+2]<34 || ExtMapBuffer[i+1]>46) { ObjectSet("FOCUS"+IntegerToString(i),OBJPROP_COLOR,clrMagenta);
            if (ExtMapBuffer[i+1]>46) ObjectSet("FOCUS"+IntegerToString(i),OBJPROP_COLOR,clrPink);

The Magenta Strip is sort of an “overdrive condition”, way outside the Std bands. It is such an extreme reading that it can predict further movement due to the high inertia – momentum needs to be slowed by a divergence first.

See how on the image a higher high is getting figured?

        if (!((ExtMapBuffer[i+1]>ExtMapBuffer[i+2]+4 && ExtMapBuffer[i+2]<StdDevLoBuffer[i+2]+5 )     ||
       (ExtMapBuffer[i+1]>ExtMapBuffer[i+2]+3 && ExtMapBuffer[i+2]>44 && MathAbs(ExtMapBuffer[i+2]-ExtMapBuffer[i+3])<.44 && ExtMapBuffer[i+4]<45 )  ||
            (ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] && ExtMapBuffer[i+3]<StdDevLoBuffer[i+3] && ExtMapBuffer[i+4]<StdDevLoBuffer[i+4] && ExtMapBuffer[i+5]<StdDevLoBuffer[i+5] && ExtMapBuffer[i+6]<StdDevLoBuffer[i+6] && ExtMapBuffer[i+1]<35 && StdDevLoBuffer[i+1]<38 && (ExtMapBuffer[i+2]>33 || ExtMapBuffer[i+2]<25) )
      || (ExtMapBuffer[i+1]>ExtMapBuffer[i+2]+2 && ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] && StdDevLoBuffer[i+1]>44) 
      || (ExtMapBuffer[i+1]<34 && ExtMapBuffer[i+2]>34 && ExtMapBuffer[i+1]<StdDevLoBuffer[i+1] && StdDevLoBuffer[i+1]<38)
          )
          && !((ExtMapBuffer[i+2]>ExtMapBuffer[i+3]+4 && ExtMapBuffer[i+2]<StdDevLoBuffer[i+3]+5 )     ||
       (ExtMapBuffer[i+2]>ExtMapBuffer[i+3]+3 && ExtMapBuffer[i+3]>44 && MathAbs(ExtMapBuffer[i+3]-ExtMapBuffer[i+4])<.44 && ExtMapBuffer[i+5]<45 )  ||
            (ExtMapBuffer[i+3]<StdDevLoBuffer[i+3] && ExtMapBuffer[i+4]<StdDevLoBuffer[i+4] && ExtMapBuffer[i+5]<StdDevLoBuffer[i+5] && ExtMapBuffer[i+6]<StdDevLoBuffer[i+6] && ExtMapBuffer[i+7]<StdDevLoBuffer[i+7] && ExtMapBuffer[i+2]<35 && StdDevLoBuffer[i+2]<38 && (ExtMapBuffer[i+3]>33 || ExtMapBuffer[i+3]<25) )
      || (ExtMapBuffer[i+2]>ExtMapBuffer[i+3]+2 && ExtMapBuffer[i+3]<StdDevLoBuffer[i+3] && StdDevLoBuffer[i+2]>44) 
      || (ExtMapBuffer[i+2]<34 && ExtMapBuffer[i+3]>34 && ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] && StdDevLoBuffer[i+2]<38)
          ) 
     // && !(ExtMapBuffer[i+1]>ExtMapBuffer[i+2]+4 && ExtMapBuffer[i+2]<StdDevLoBuffer[i+2]+5 )     ||
    //   (ExtMapBuffer[i+1]>ExtMapBuffer[i+2]+3 && ExtMapBuffer[i+2]>44 && MathAbs(ExtMapBuffer[i+2]-ExtMapBuffer[i+3])<.44 && ExtMapBuffer[i+4]<45 )  ||
    //        (ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] && ExtMapBuffer[i+3]<StdDevLoBuffer[i+3] && ExtMapBuffer[i+4]<StdDevLoBuffer[i+4] && ExtMapBuffer[i+5]<StdDevLoBuffer[i+5] && ExtMapBuffer[i+6]<StdDevLoBuffer[i+6] && ExtMapBuffer[i+1]<35 && StdDevLoBuffer[i+1]<38 && (ExtMapBuffer[i+2]>33 || ExtMapBuffer[i+2]<25) )
    //  || (ExtMapBuffer[i+1]>ExtMapBuffer[i+2]+2 && ExtMapBuffer[i+2]<StdDevLoBuffer[i+2] && StdDevLoBuffer[i+1]>44) 
    //  || (ExtMapBuffer[i+1]<34 && ExtMapBuffer[i+2]>34 && ExtMapBuffer[i+1]<StdDevLoBuffer[i+1] && StdDevLoBuffer[i+1]<38)
    //      ) 
    )
      {if ( ExtMapBuffer[i]>53){ 
         if (Close[i+1]>iMA(symbol,0,480,0,MODE_SMA,PRICE_MEDIAN,i+1)){
             ObjectCreate("Faila"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,100,i))-530*Point); 
            ObjectSetText("Faila"+IntegerToString(i), " Buy 4 HH (before white rabbit up)@ "+DoubleToStr(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,100,i))-540*Point,4),4), 21, "Impact", White);
            ObjectCreate("Failax"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,100,i))-530*Point); 
            ObjectSetText("Failax"+IntegerToString(i), "Buy 4 HH (before white rabbit up)@ "+DoubleToStr(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,100,i))-540*Point,4),4), 21, "Impact", LimeGreen);
            }
          else {
            ObjectCreate("Faila"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,100,i))+540*Point); 
            ObjectSetText("Faila"+IntegerToString(i), " Sell 4 LL (before white rabbit dn)@ "+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,100,i))+530*Point,4),4), 21, "Impact", Maroon);
            ObjectCreate("Failax"+IntegerToString(i), OBJ_TEXT, 0, Time[i], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,100,i))+540*Point); 
            ObjectSetText("Failax"+IntegerToString(i), "Sell 4 LL (before white rabbit dn)@ "+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,100,i))+530*Point,4),4), 21, "Impact", OrangeRed);}
         }
      }

The idea around the Cyan and the Purple highlights on the CI itself is that they are identified Energy Discharges / Pushes, two of the same color in s sequence sort of predicts more movement to be had in that direction, i.e.:

    if (Low[i]>iMA(symbol,0,32,0,MODE_EMA, PRICE_OPEN,i) && Low[i+1]>iMA(symbol,0,32,0,MODE_EMA, PRICE_OPEN,i+1) && Low[i+2]>iMA(symbol,0,32,0,MODE_EMA, PRICE_OPEN,i+2)) pup[i]=ExtMapBuffer[i];
         if (High[i]<iMA(symbol,0,32,0,MODE_EMA, PRICE_OPEN,i) && High[i+1]<iMA(symbol,0,32,0,MODE_EMA, PRICE_OPEN,i+1) && High[i+2]<iMA(symbol,0,32,0,MODE_EMA, PRICE_OPEN,i+2)) pdn[i]=ExtMapBuffer[i];

Pup = Push Up, Pdn = Push Down

The Story

It is pretty simple. At some point we’re gonna get a backtest of the E-9, that is expected to hold. After or around Opex.

The green shaded area is between the E-414 lows and the E-712 medians. The spread is now 34.9 and anything above 27 is too wide to simply slip through. Scale in with longs in this area and do not expect price to make it all the way, it may fall short by say 10 pips. 30 minute chart.