The Correction

Repeat after me, what are we doing here at the Parabolic Snails?

Figuring Out Funny and Puching Faces! Oi-oi!

After 2 progression lows, what am I looking for?

I am looking for either a Support Level to print or a Final Divergence.

The Support Level would mean the lowest close in the next 27 candles minus 4 pips.

The Final Divergence would be a fractal that sets up an RSI2 divergence – see code.

/// final divergence on the downside

 if (iFractals(symbol,0,MODE_LOWER,i) && greencount[i]>=2 && Low[i]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)+10*Point
 && RSI2[i]>3
  ){
   j=i+1;
   while (j<=i+7){
      if (RSI2[j]<RSI2[j+1] 
      && RSI2[j]<RSI2[j-1] 
      && RSI2[j]<8.3
      && RSI2[j]<RSI2[i]
       && Low[j]>Low[i]-20*Point
      ) break;
    j++;  
   }
  if (RSI2[j]<RSI2[j+1]
  && RSI2[j]<RSI2[j-1] 
  && RSI2[j]<8.3
   && RSI2[j]<RSI2[i]
  && Low[j]>Low[i]-20*Point
 // && Low[j]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,j)
  && High[j]>iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,j)-10*Point  
   ){
         ObjectCreate("120BPMMM"+IntegerToString(i),OBJ_TREND,0, Time[i], Low[i], Time[j], Low[j]);
      ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
      if (RSI2[j]<0.5) ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_COLOR,clrSteelBlue);
      if ((greencount[i]==3 || greencount[i]==5) && Low[i]==iLow(symbol,0,iLowest(symbol,0,MODE_LOW,70,i))) ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_COLOR,clrDarkGray);
      ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_WIDTH,12);
      if (Low[i+7]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+7)-120*Point || Low[i+6]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+6)-120*Point || Low[i+5]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+5)-120*Point || Low[i+4]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+4)-120*Point || Low[i+3]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+3)-120*Point || Low[i+2]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+2)-120*Point || Low[i+1]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)-120*Point || 
      Low[i]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)-120*Point || Low[j]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,j)-120*Point) ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_WIDTH,44);
      ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
   }
 } 

Both of the above mentioned outcomes are contingent of price not touching the upper Bollinger (30 sample). If it does, the correction is no longer considered a clean run, but a mixed sell off and the progression low count would go up to 4, 5 or 6.

Weekly pivot at 1.0631

So what is the difference between support and support, if I already know S1 and S2 ahead of the time? They are statistical high probabilities. The actual support level printed by the market would likely fall close to these.

Uneven delivery highlights the 1.0635 and 1.0658 levels.

The two spin out zones have their supports almost in line, and if you imagine a line that would come to 1.0622-1.0618.

All you need to know now is wait for the plot or count 27 candles and put out a pending buy or sell the upper BB and above if that one comes accross first.

Final Pum Pum

Catching the final divergence developing?

An example here.

You are looking for a 30-minute fractal print, that comes within 3 pips (normally over) the most recent high / low & is within 8 candles of the recent RSI2 peak’s print setting up a reversal divergence.

Of course, the current candle is not gonna be called a fractal until 2 more candles on the right making lower highs.

Also, you want to have seen 3 progression highs on the upside and 2 on the downside to even start looking for a Final Divergence.

The RSI2 basis has to be halves, not Closes.

…Fractal granted. Final Divergence plotted.

Here’s the code for the final burnout: pedal to the metal RSI (>99 / <1) for 3.5 hours straight (7 candles – after Progerssion Peak 2 / 3 again).

/// final burn out on the upside

 if (redcount[i]>=2 && RSI2[i]>99 && RSI2[i+1]>99 && RSI2[i+2]>99 && RSI2[i+3]>99 && RSI2[i+4]>99 && RSI2[i+5]>99 && RSI2[i+6]>99       
 
  ){
     ObjectCreate("120BPMMM"+IntegerToString(i),OBJ_TREND,0, Time[i], High[i], Time[i+6], High[i+6]);
     ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
     ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
     ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_WIDTH,22);
   }

You simply cannot say that you are not learning anything here.

H2 – The Game

It had a few more names.

You coud already sense my engagement with forex, as in the scroller, the second line (after briefly mentioning deflation) I was citing the CHF against the GBP topping 1.58.

In this game idea of mine, your character was a Weird Al look alike.

The game was sniping off the H2 tanks on top of the new buses. If the tank you hit escaped and tackled the skyscraper you were on, you lost one life.

Yes, I know what you are thinking. Yes, I took that picture and the bus was the famous 205.


This I can’t explain yet: the final divergence (Blue) on the upside always appear after an Odd Number (3,5) and always after an Even Number on the downside (2,4,6).

(Now with Final Burnout Added)

Waiting on the Final Divergence Cousteau

Centripetroleum

My answer to the FVG, Inner City Mama, is this:

If you care about liquidity, the plots would need 4 more candles (the first 2 hours of the open) to appear.

Do pay attention to what’s going on down there, too.

   if (mfi[i]<mfi[i+1] && mfi[i+2]<mfi[i+1] && mfi[i+1]>79 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)>72 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)<92 && mfi[ArrayMaximum(mfi,3,i)]>mfi[ArrayMaximum(mfi,23,i+3)] 
         ){
                     
                ObjectCreate("RayTX"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i)), Time[i+6], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i)), Time[i]);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_COLOR,clrTeal);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_WIDTH,5);
                
                
                ObjectCreate("RayT2X"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1)), Time[i+6], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1)), Time[i]);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_COLOR,clrDeepPink);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_WIDTH,5);
         
      
      }


      if (mfi[i]>mfi[i+1] && mfi[i+2]>mfi[i+1] && mfi[i+1]<21 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)<28 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)>6 
      //&& mfi[ArrayMinimum(mfi,3,i)]<mfi[ArrayMinimum(mfi,23,i+3)]
       ){
                     
                        
                ObjectCreate("RayTX"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i)), Time[i+6], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i)), Time[i]);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_COLOR,clrTeal);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_WIDTH,5);
                
                
                ObjectCreate("RayT2X"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,8,i+1)), Time[i+6], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,8,i+1)), Time[i]);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_COLOR,clrDeepPink);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_WIDTH,5);
         
      
      }

Insane Clown Posse Mentorship

Horizontal levels – everybody has them.

In the middle of the candle – no woder that they get hit, but do they actually mean anything?

Support & persitance.

People latched onto this FVG gap and the word, “liquidity” like two holy grails at once.

Nobody understands what Howard talks about and their models can’t seem to be duplicated for measuring illusive crap like global liquidity.

Do you know what I would call liquidity?

When the account holders commit more of their equity to the broker, i.e. opening new positions.

Wanna see the worst ICP imitation?

Don’t forget to add a dislike. He is charging for this crap. I would be ashamed to go among people after posting something like that. The market does not ever progress in two different direction at the same time. If it is in a bull count, you don’t look for a downside target next.

There is nothing but scammers on YouTube it seems, no real knowledge, no for real understanding.

By plotting my R1, R2, marking up the RSI2 divergence and counting 9 candles (to call a bottom) + plotting the regression virgin levels on the right margin I came closer to the truth than these schmucks ever will get by trying to trade multiple instruments and seeking for something universal. All they do is make up a narrative. Close to 50% chance they roll with.

Look at this crap: write Liquidity everywhere on the chart and feel like a genius.

Time Taker

How long will time take?

Here’s the essence of the sigh I made back in 2014 about how the world’s progressing.

I used to commute by the 205 bus. It had a diesel engine back in the days. The long commute (bladder starts to fill up), diesel vibration onto the body, a bit of male boredom and with good odds I got off a the bus with a mild erection. Then they chaned the fleet abruptly. High torque electric acceleration and deceleration was the new sign of times. Thanks to the “progress” they made, after the change instead of having a boner I felt like vomiting myself upon arrival.

Now, this is how the B36 9 cnt can call the bottom for you: a too quick re-visit of the low (<9 hours) is bound to fail.

5 is less than 9. The key of this B print is missing the 30-sample hourly BB

if (i>0 && RSI2[i]<RSI2[i+1] && RSI2[i-1]>RSI2[i] && RSI2[i]>3 && RSI2[i]<12 && iRSI(symbol,0,14,PRICE_MEDIAN,i)<30 && Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_MAIN,i)
 && RSI2[ArrayMinimum(RSI2,19,i+1)]<RSI2[i]
 ){
      ObjectCreate("Talm"+DoubleToStr(i), OBJ_TEXT, 0, Time[i], Low[i]- 50*Point); 
            if (Low[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)

I guess I did have a problem with hydrogen tanks appearing on the road en masse.

Batteries are chronically dangerous. I have a laptop at home with a blown up battery inside, that bent the casing all over. I work by generators. One day a battey blew its lid, barely missing my coworker’s head. The acid squirt that followed left rough marks in the concrete as a constant reminder. Chemical burn produces its own fuel. It does not need oxygen.

Today the trade was Fade R2 Cover R1. I shared the plot at least 15 times already.

I did some of the trades acceptably.

The upside isn’t over yet by a long shot.

If 1.0716 gets hit, price would go to 1.0742 the minmum.

MFI – The Sequel

Definr Closing Outside. By 2 pips? 1 pip? 0.5 pips?

Exactly. Nothing to do other than dusting off my Hoffman and changing the code. 0.5-pip discount to call the Regression high.

This was a major squaring event. Obviously there were those wanting to get out of Euro longs for a break even / small loss.

There was the Money Flow making a peak & there were those selling the upper 30-sample Bollinger Band getting its first tag in 3 months (this alone should tell you that you have a measuring leg made to the upside).

 ////upside progression
   if (redcount[i+1]==redcount[i+7] &&
   Close[i+1]>iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)+5*Point && Close[i]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)-10*Point){
       ObjectCreate("120BPM"+IntegerToString(i),OBJ_TREND,0, Time[i+1], 0.8, Time[i+1], Close[i+1]);
      ObjectSet("120BPM"+IntegerToString(i),OBJPROP_COLOR,clrCoral);
      ObjectSet("120BPM"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
      //upside regression
      if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,36,i+3))-20*Point) {ObjectSet("120BPM"+IntegerToString(i),OBJPROP_COLOR,clrGray);
         if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+1))-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,36,i+3))>640*Point) greencount[i]=0;
         else if (greencount[i]>0 && greencount[i+1]==greencount[i+2] && greencount[i+2]==greencount[i+3] && greencount[i+3]==greencount[i+4] && greencount[i+4]==greencount[i+5] && greencount[i+5]==greencount[i+6]) greencount[i]++;
           ObjectCreate("120BPMc"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], Low[i+1]-60*Point); 
             ObjectSetText("120BPMc"+IntegerToString(i), greencount[i], 42, "Impact", clrLime);
             if (greencount[i]==0){
                j=i-4;
               while (j>0){
                  if (High[j]>Close[i+1]) break;
                  j--;}
              if (j<0) j=0;    
                if (Close[i+1]>Open[i+1]) ObjectCreate("120BPMg"+IntegerToString(i),OBJ_TREND,0, Time[i+1], Close[i+1], Time[j], Close[i+1]);
                 else ObjectCreate("120BPMg"+IntegerToString(i),OBJ_TREND,0, Time[i+2], Open[i+1], Time[j], Open[i+1]);
                ObjectSet("120BPMg"+IntegerToString(i),OBJPROP_COLOR,clrGold);
                
                ObjectSet("120BPMg"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("120BPMg"+IntegerToString(i),OBJPROP_WIDTH,7);
                }
      }
      else {
      dir[i]=-1;   
      redcount[i]++;
      if (redcount[i]>2) greencount[i]=0;
             ObjectCreate("120BPMc"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], High[i+1]+110*Point); 
             ObjectSetText("120BPMc"+IntegerToString(i), redcount[i], 42, "Impact", clrRed);
             if (redcount[i]==3 || redcount[i]==4) {
               j=i-4;
               while (j>0){
                  if ((High[j]>Close[i+1] && Close[i+1]>=Open[i+1]) || (High[j]>Open[i+1] && Close[i+1]<Open[i+1] && Open[i+1]>Open[i+2]) || (High[j]>Open[i+2] && Close[i+1]<Open[i+1]) ) break;
                  j--;}
              if (j<0) j=0;    
                if (Close[i+1]>=Open[i+1]) ObjectCreate("120BPMr"+IntegerToString(i),OBJ_TREND,0, Time[i+1], Close[i+1], Time[j], Close[i+1]);
                 else if (Close[i+1]<=Open[i+1]) ObjectCreate("120BPMr"+IntegerToString(i),OBJ_TREND,0, Time[i+2], Open[i+2], Time[j], Open[i+2]);
                 else ObjectCreate("120BPMr"+IntegerToString(i),OBJ_TREND,0, Time[i+1], Open[i+1], Time[j], Open[i+1]);
                ObjectCreate("120BPMr"+IntegerToString(i),OBJ_TREND,0, Time[i+2], Open[i+2], Time[j], Open[i+2]);
                ObjectSet("120BPMr"+IntegerToString(i),OBJPROP_COLOR,clrCyan);
                if (redcount[i]==4) ObjectSet("120BPMr"+IntegerToString(i),OBJPROP_COLOR,clrDeepPink);
                ObjectSet("120BPMr"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("120BPMr"+IntegerToString(i),OBJPROP_WIDTH,7);
             }
                   
      }
      ObjectSet("120BPM"+IntegerToString(i),OBJPROP_WIDTH,5);
      ObjectSet("120BPM"+IntegerToString(i),OBJPROP_BACK,1);
      
   }
   //downside progression   
     if (greencount[i+1]==greencount[i+7] &&
     Close[i+1]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i+1)-5*Point && Close[i]>iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)){
       ObjectCreate("120BPM"+IntegerToString(i),OBJ_TREND,0, Time[i+1], 1.4, Time[i+1], Close[i+1]);
      ObjectSet("120BPM"+IntegerToString(i),OBJPROP_COLOR,clrTeal);
      ObjectSet("120BPM"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
      //downside regression
      if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1))>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,36,i+3))+20*Point) {ObjectSet("120BPM"+IntegerToString(i),OBJPROP_COLOR,clrGray); 
      if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,30,i+1))-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1))>640*Point) redcount[i]=0;
         else if (redcount[i]>0 && redcount[i+1]==redcount[i+2] && redcount[i+2]==redcount[i+3] && redcount[i+3]==redcount[i+4] && redcount[i+4]==redcount[i+5] && redcount[i+5]==redcount[i+6])  redcount[i]++;
         ObjectCreate("120BPMc"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], High[i+1]+110*Point); 
             ObjectSetText("120BPMc"+IntegerToString(i), redcount[i], 42, "Impact", clrPink);
               if (redcount[i]==0){
                        j=i-4;
               while (j>0){
                  if (Low[j]<Close[i+1]) break;
                  j--;}
              if (j<0) j=0;    
                if (Close[i+1]<Open[i+1]) ObjectCreate("120BPMg"+IntegerToString(i),OBJ_TREND,0, Time[i+1], Close[i+1], Time[j], Close[i+1]);
                 else if (Open[i+2]<Open[i+1]) ObjectCreate("120BPMg"+IntegerToString(i),OBJ_TREND,0, Time[i+2], Open[i+2], Time[j], Open[i+2]);
                 else ObjectCreate("120BPMg"+IntegerToString(i),OBJ_TREND,0, Time[i+1], Open[i+1], Time[j], Open[i+1]);
                ObjectSet("120BPMg"+IntegerToString(i),OBJPROP_COLOR,clrGold);
                
                ObjectSet("120BPMg"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("120BPMg"+IntegerToString(i),OBJPROP_WIDTH,7);
            }
      } 
      else {
       dir[i]=1;
       greencount[i]++;
       if (redcount[i]>2) redcount[i]=0;
        if (greencount[i]==3 || greencount[i]==4 || greencount[i]==5) {
               j=i-4;
               while (j>0){
                  if ((Low[j]<Close[i+1] && Close[i+1]<Open[i+1]) || (Low[j]<Open[i+2] && Close[i+1]>Open[i+1]) ) break;
                  j--;}
              if (j<0) j=0;    
                if (Close[i+1]<Open[i+1]) ObjectCreate("120BPMr"+IntegerToString(i),OBJ_TREND,0, Time[i+1], Close[i+1], Time[j], Close[i+1]);
                 else ObjectCreate("120BPMr"+IntegerToString(i),OBJ_TREND,0, Time[i+2], Open[i+2], Time[j], Open[i+2]);
                ObjectSet("120BPMr"+IntegerToString(i),OBJPROP_COLOR,clrCyan);
                if (greencount[i]==4) ObjectSet("120BPMr"+IntegerToString(i),OBJPROP_COLOR,clrDeepPink);
                ObjectSet("120BPMr"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("120BPMr"+IntegerToString(i),OBJPROP_WIDTH,7);
             }
       
       
             ObjectCreate("120BPMc"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], Low[i+1]-40*Point); 
             ObjectSetText("120BPMc"+IntegerToString(i), greencount[i], 42, "Impact", clrDarkGreen);
             if (greencount[i]==2) {
             ObjectCreate("120BPMcc"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], Low[i+1]-110*Point); ObjectSetText("120BPMcc"+IntegerToString(i), " cnt 27 LClose-4 pips =cover", 22, "Impact", clrDarkGreen);
       
       }
      }
      ObjectSet("120BPM"+IntegerToString(i),OBJPROP_WIDTH,5);
      ObjectSet("120BPM"+IntegerToString(i),OBJPROP_BACK,1);
   }

I was gonna make a post with a title of Centripetal Petals, but I’ll just include the whole thing here.

A money flow peak may not receive an echo if the fade is too overwhelming. Hence the plot for acknowledging a spin-out. Yes, the sample sizes are yet again arbitrary picks.

 if (mfi[i]<mfi[i+1] && mfi[i+2]<mfi[i+1] && mfi[i+1]>79 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)>72 && mfi[ArrayMaximum(mfi,3,i)]>mfi[ArrayMaximum(mfi,23,i+3)] 
         ){
                     
                ObjectCreate("RayTX"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i)), Time[i+6], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i)), Time[i]);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_COLOR,clrTeal);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayTX"+IntegerToString(i),OBJPROP_WIDTH,5);
                
                
                ObjectCreate("RayT2X"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1)), Time[i+6], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+1)), Time[i]);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_COLOR,clrDeepPink);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayT2X"+IntegerToString(i),OBJPROP_WIDTH,5);
         
      
      }

Also, the Napoleon Dynamite plot is money flow peak dip w/ overbought / oversold extreme. A fade, color coded.


    if (mfi[i]<9 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)>67){
            ObjectCreate("Roef"+DoubleToStr(i), OBJ_TEXT, 1, Time[i], 21); 
            ObjectSetText("Roef"+DoubleToStr(i), CharToStr(77), 44, "WingDings", DarkGreen);
    } 
    
    if (mfi[i]>91 && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)<33){
            ObjectCreate("Roef"+DoubleToStr(i), OBJ_TEXT, 1, Time[i], 99); 
            ObjectSetText("Roef"+DoubleToStr(i), CharToStr(77), 44, "WingDings", DeepPink);
    } 
    

Talking about polishing the one-eyed clown, son, I had high hopes for you.

Favourite movie? Edward Snowdenhands.

This looks like a formidable bottom still…

…but one more trip down to round out the Money Flow Beat reversal isn’t out of the question.

Sometimes all you get is the touch of the grey box (starting 0-8 pips out).

   ObjectCreate("RayRect"+IntegerToString(i),OBJ_RECTANGLE,0, Time[i], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+80*Point, Time[i+13], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1)));
                ObjectSet("RayRect"+IntegerToString(i),OBJPROP_COLOR,clrLightGray);
                ObjectSet("RayRect"+IntegerToString(i),OBJPROP_WIDTH,3);
                ObjectSet("RayRect"+IntegerToString(i),OBJPROP_BACK,0);

MFI – In Theory

If you want to learn how to spot a money flow exhaustion beat, you are in luck.

Ingredients for one person:

240 sample 2 DS Bollinger Bands over halves (for better sense of location) – Dark Blue.

14 samle MFI on 30 min, lines at 21 and 79 – Light Blue.

120 sample stochastic D over halves, lines at 28 and 72 – Brown.

Once you get a warning shot, you need to keep an eye out for a reversal.

A reversal is taking place in two steps, in the form of a Money Flow divergence.

The first step is the money boost and the consecutive measuring exhaustion and the second step is a beat made by less enthusiasm before the complete turn.

The first thing you need is the Stochastic being in the upper or the lower third.

The warning shots are optimal conditions for a money flow extreme to develop. The width of the 240 Bollinger has to be over 80 pips, the stochastic needs to be deeply oversold / deeply overbought (10 / 90), the Money flow needs to be below 23 / above 77 and the 30-minute low/high outside the Bollinger or below 29 / above 71 and the entire canle outside the Bollinger.

i.e.:
(mfi[i]<23  && Low[i]<iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i) && High[i]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_LOWER,i)   || (mfi[i]<29 && High[i]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_LOWER,i) && iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i)<10)))
     && iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i)-iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_LOWER,i)>800*Point

This by itself does not mean much. The Money Flow needs to hit an extreme.

There is a 6 hours long moratorium from the physical peak print on the oscilator that I use to record the lowest / highest price level reading. This means no projection for 12 candles.

I put the MFI readings into an Array to be able to spot a new MFI low / high in relation to the history. For instance, the value made by the MFI peak has to be a new, 8-sample extreme.

mfi[ArrayMinimum(mfi,3,i+11)]<mfi[ArrayMinimum(mfi,8,i+14)


The projection zone gets printed beyond the "measuring leg / push". 

The static displacement sizes for the 4 lines are 8 pips, 14, 22 pips (upto this point would you expect the divergent leg / echo to get barring further money input) and 32 for the continuation.

The 26 pips suggested double down comes from statistical examinations.

The example below shows a “continuation” that only got to 16 pips. I would suggest to slap on a better than breakeven stop loss for the double sized position when at 10+ pips gains.

The crown is missing. Money flow step one hasn’t been made.

The Girl with the Dragon Tampon

– Taylor Swift is a biloionaire now – I told my musician coworker.

– That does not make sense – he responded -, Mick Jagger is not a billionaire after 60 years of sold out concerts.

I can name exactly 1 song she made, probably out of 20 albums. The only way she touched my life was me wanting to look up music made by Saylor Twift on SoundCloud out of curiosity: who the hell has the same urge to twist names the same way I do, and what else can they do?

This is a cup & handle (rounding bottom) with 2 more progression highs to be expected.

MFI – Simply The Best

Been wanting to make this plot to prove how accurate the money flow beat reversal zone is for pinning down a turn.

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", 12, "Impact", DimGray);  
          else {
          ObjectCreate("Salz"+DoubleToStr(i), OBJ_TEXT, indicator_window+1, Time[i], mfi[i]+mfi[i]*.6); 
              ObjectSetText("Salz"+DoubleToStr(i), "2xBuy: "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+320*Point,4),4)+", cover: "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+680*Point,4),4)+" 3x stretch -> E9", 22, "Impact", DarkGreen); 
         
         
             x=i+8;
               while (x>0){
                  if (High[x]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+80*Point) break;
                  x--;}
              if (x<0) x=0;
  
                ObjectCreate("RayXX"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+80*Point, Time[x], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+80*Point);
                ObjectSet("RayXX"+IntegerToString(i),OBJPROP_COLOR,clrBrown);
                ObjectSet("RayXX"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayXX"+IntegerToString(i),OBJPROP_WIDTH,3);
                
                ObjectCreate("RayXLX"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+15], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+100*Point); 
             ObjectSetText("RayXLX"+DoubleToStr(i), "Cover / Go Short "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+80*Point,4),4), 12, "Arial Black", Red); 
               
                
              
                  y=i+8;
               while (y>0){
                  if (High[y]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+140*Point) break;
                  y--;}
              if (y<0) y=0;
              
                ObjectCreate("RayYY"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+140*Point, Time[y], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+140*Point);
                ObjectSet("RayYY"+IntegerToString(i),OBJPROP_COLOR,clrBrown);
                ObjectSet("RayYY"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayYY"+IntegerToString(i),OBJPROP_WIDTH,3);
                ObjectCreate("RayYLY"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+12],  iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+160*Point); 
             ObjectSetText("RayYLY"+DoubleToStr(i), "Add Short "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+140*Point,4),4), 12, "Arial Black", Red);
             
                
                z=i+8;
               while (z>0){
                  if (High[z]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+220*Point) break;
                  z--;}
              if (z<0) z=0; 
             
                ObjectCreate("RayZZ"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+220*Point, Time[z], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+220*Point);
                ObjectSet("RayZZ"+IntegerToString(i),OBJPROP_COLOR,clrRed);
                ObjectSet("RayZZ"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayZZ"+IntegerToString(i),OBJPROP_WIDTH,1);
                ObjectSet("RayZZ"+IntegerToString(i),OBJPROP_TYPE,1);
                
                           ObjectCreate("RayZLZ"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+12],  iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+240*Point); 
             ObjectSetText("RayZLZ"+DoubleToStr(i), "Sell shy of "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+80*Point,4),4), 12, "Arial Black", Black); 
               

                
                  
                     y=i+8;
               while (y>0){
                  if (High[y]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+320*Point) break;
                  y--;}
              if (y<0) y=0;    
                if (0<i-74) y=i-74;
                ObjectCreate("RayJJ"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+320*Point, Time[j], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+320*Point);
                ObjectSet("RayJJ"+IntegerToString(i),OBJPROP_COLOR,clrDarkGreen);
                ObjectSet("RayJJ"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayJJ"+IntegerToString(i),OBJPROP_WIDTH,3);   
               ObjectCreate("RayJLJ"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+16],  iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+400*Point); 
             ObjectSetText("RayJLJ"+DoubleToStr(i), "2xBuy: "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+320*Point,4),4)+", cover: "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,16,i+1))+680*Point,4),4)+", 3x stretch -> E9", 22, "Impact", DarkGreen); 

         
         
         
         
         }
      
      }
        
         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 (iStochastic(symbol,0,120,3,3,MODE_SMA,PRICE_MEDIAN,MODE_MAIN,i+12)<10){      ObjectCreate("Salz"+DoubleToStr(i), OBJ_TEXT, indicator_window+1, Time[i], mfi[i]*1.1); 
             ObjectSetText("Salz"+DoubleToStr(i), "2xSell: "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-320*Point,4),4)+", cover: "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-680*Point,4),4)+", 3x stretch -> E9", 22, "Impact", Crimson); 
             
                x=i+8;
               while (x>0){
                  if (Low[x]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-80*Point) break;
                  x--;}
              if (x<0) x=0;
  
                ObjectCreate("RayX"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-80*Point, Time[x], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-80*Point);
                ObjectSet("RayX"+IntegerToString(i),OBJPROP_COLOR,clrBrown);
                ObjectSet("RayX"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayX"+IntegerToString(i),OBJPROP_WIDTH,3);
                
                ObjectCreate("RayXL"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+15],  iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-60*Point ); 
             ObjectSetText("RayXL"+DoubleToStr(i), "Cover / Go Long "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-80*Point,4),4), 12, "Arial Black", DarkGreen); 
               
                
              
                  y=i+8;
               while (y>0){
                  if (Low[y]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-140*Point) break;
                  y--;}
              if (y<0) y=0;
              
                ObjectCreate("RayY"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-140*Point, Time[y], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-140*Point);
                ObjectSet("RayY"+IntegerToString(i),OBJPROP_COLOR,clrBrown);
                ObjectSet("RayY"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayY"+IntegerToString(i),OBJPROP_WIDTH,3);
                ObjectCreate("RayYL"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+12],  iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-120*Point ); 
             ObjectSetText("RayYL"+DoubleToStr(i), "Add Long "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-140*Point,4),4), 12, "Arial Black", DarkGreen);
             
                
                z=i+8;
               while (z>0){
                  if (Low[z]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-220*Point) break;
                  z--;}
              if (z<0) z=0; 
             
                ObjectCreate("RayZ"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-220*Point, Time[z], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-220*Point);
                ObjectSet("RayZ"+IntegerToString(i),OBJPROP_COLOR,clrDarkGreen);
                ObjectSet("RayZ"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayZ"+IntegerToString(i),OBJPROP_WIDTH,1);
                ObjectSet("RayZ"+IntegerToString(i),OBJPROP_TYPE,1);
                
                           ObjectCreate("RayZL"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+12],  iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-200*Point ); 
             ObjectSetText("RayZL"+DoubleToStr(i), "Buy shy of "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-220*Point,4),4), 12, "Arial Black", Black); 
               

                
                  
                     y=i+8;
               while (y>0){
                  if (Low[y]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-320*Point) break;
                  y--;}
              if (y<0) y=0;    
                if (0<i-74) y=i-74;
                ObjectCreate("RayJ"+IntegerToString(i),OBJ_TREND,0, Time[i+1], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-320*Point, Time[j], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-320*Point);
                ObjectSet("RayJ"+IntegerToString(i),OBJPROP_COLOR,clrRed);
                ObjectSet("RayJ"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
                ObjectSet("RayJ"+IntegerToString(i),OBJPROP_WIDTH,3);   
               ObjectCreate("RayJL"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+16],  iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-320*Point ); 
             ObjectSetText("RayJL"+DoubleToStr(i), "2xSell: "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-320*Point,4),4)+", cover: "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,16,i+1))-680*Point,4),4)+", 3x stretch -> E9", 22, "Impact", Crimson); 

             
             }
      }
         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", 12, "Impact", DimGray); 
        
         
      }

The rest is entertainment

& since I qoted Tina,

Trash For Trunkers

It’s been a hard day’s night, and I’ve been twerking like a dog…

In search of the final divergence.

Blue underscores


 if (iFractals(symbol,0,MODE_LOWER,i) && greencount[i]>=2 && Low[i]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)+10*Point
  ){
   j=i+1;
   while (j<=i+7){
      if (RSI2[j]<RSI2[j+1] 
      && RSI2[j]<RSI2[j-1] 
      && RSI2[j]<7.5 
      && RSI2[j]<RSI2[i]
       && Low[j]>Low[i]-20*Point
      ) break;
    j++;  
   }
  if (RSI2[j]<RSI2[j+1]
  && RSI2[j]<RSI2[j-1] 
  && RSI2[j]<7.5
   && RSI2[j]<RSI2[i]
  && Low[j]>Low[i]-20*Point
 // && Low[j]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,j)
  && High[j]>iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,j)-10*Point  
   ){
         ObjectCreate("120BPMMM"+IntegerToString(i),OBJ_TREND,0, Time[i], Low[i], Time[j], Low[j]);
      ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
      ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_WIDTH,12);
      ObjectSet("120BPMMM"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
   }
 }