PuroSenguin

Math Lesson.

What is the 300?

The 300 is the Auf Wiedersehn Monty, or otherwise known as a grammatically correct move / maximum pendulum swing.

The whole thing starts with specializing in an instrument.

The EUR/USD reaches a statistical maximum move measured from a consolidation mean at a +- 300 pendulum swing in a direction.

If you look up at the first image, you’ll see that the Purple Arrow is actually at the 50 reading.

The consolidation mean is set by the last Choppiness reading crossing above 53 (48 sample on the 15-minute chart). The above image shows a 24.18 reading which is about as exhasusted as a directional move can get.

With me so far? The diagram with the wedges is disproportionate. A pendulum swing between the + and – 100 reading does not require much effort. The imperial metric is the Fluctuation Size. The +100 to -100 distance is 2 fluctuation maximum wide. In pips, that is 36.

Therefore, a market that is at rest, can swing out + – 36 pips => 72 pips around the purple consolidation mean. Effectively the first image said, the maximum one breath move should reach its limit in the 1.0865-1.0884 zone.

The reason for multiple purple lines is that I look up every qualifying CI read and measure from every plotted consolidation mean I can find (every cross above 53). It becomes a probability band.

   if (ChoppinessIndex(12*4,i)>53 && ChoppinessIndex(12*4,i)<62 && ChoppinessIndex(12*4,i+1)<53) weight_[i]=(iHigh(symbol,15,i)+iLow(symbol,15,i))/2;
   if (weight_[i]!=EMPTY_VALUE && ChoppinessIndex(12*4,i)<62 && weight_[i]==weight_[i+1] && weight_[i]==weight_[i+2] && weight_[i]==weight_[i+3] && weight_[i]==weight_[i+4] && weight_[i]==weight_[i+5] && weight_[i]==weight_[i+6]) {NBEU[i]=weight_[i]+360*Point;
   taxi[i]=weight_[i]; taxi2[i]=weight_[i];
   NBED[i]=weight_[i]-360*Point;
   if (i<200 && NBED[i+1]==EMPTY_VALUE && NBED[i]!=EMPTY_VALUE){
   if (i<50){
    ObjectDelete("MLINE");
      ObjectCreate("MLINE",OBJ_VLINE,0, Time[i], 0);
            ObjectSet("MLINE",OBJPROP_COLOR,clrWhite);
            ObjectSet("MLINE",OBJPROP_WIDTH,3);
            ObjectSet("MLINE",OBJPROP_STYLE,STYLE_DOT);
            
            }}
       if (i<800 && NBED[i+1]==EMPTY_VALUE && NBED[i]!=EMPTY_VALUE){
          ObjectCreate( "Banalisation"+IntegerToString(i), OBJ_HLINE, 0,  Time[0], weight_[i]+1800*Point);
               ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_COLOR, clrPurple );
               ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_WIDTH, 3 );
               ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_RAY_RIGHT, false );
               ObjectSet("Banalisation"+IntegerToString(i), OBJPROP_STYLE, 1 );

The 180 pips comes from 5 (red imperials) x 36 pips.

This is how I gave birth to the Energy Trading.

Calling this lesson 1.

Broken Final Divergence Blues

In 2019 I had a job interview with CBRE. When I found out that the clinent was WeWork, I told them that it was “a scam and a sham”. For some reason they did not want me after that.

So, as it turns out, breaking a final divergence is also a big no-no.

We left off with pros commiting to Euro longs.

There was no guess work after that.

A bear flag is an uptrend. The channel broke on the unanticipated side as far as the masses go after the Moody’s currency downgrade.

How not to drown then?

Need to pay attention to those Blue divergences, especially if price comes back through them.

…the 300.

Digging Your Own Crypto

Let’s start with the usual “Last Snail In The Coffin” trivia!

Did you know that Paul Tudor Zeta Jones was an FTX investor? Savvy, huh?

Why is it not too smart to trade on an “Exchange” where everythhing is built on lies, there’s no headquarters and the CEO is on the run in an indeterminate country, weary of going amongst people?

Bonus question, how much bigger story is this one than FTX if FTX had 8 billion of customer funds, and CZ has 71 billion?

Homework: look up that Crypto Face video (where he would be trading on USDT basis) talking about how difficult it is to turn USDT (or Bitcoin for that matter) into USD with a 3rd party help and extra cost.

Who was the world’s dearest insider trader?

Last question: Did you ever knowingly embezzle customer funds?

Extra curruculum: One Coin.

Crime Investigation

What did the professionals commit?

The cyan shading shows a large order blocks day.

The next day would typically tell you – closing up / closing down what the professional holders had in mind.

In the current sample size I have one exeption where it was a cover after a larger decline and the next day would had mislead you.

All other times the next day’s close was a great clue about what would see more of in the near term.

Even if there was some setback, ultimately the next day’s direction prevailed.

The largest push against was on the above picture (bottom left), price moved 50 pips against the holding. A more typical occurence is the second example, where they would double down by reflex, not willing to take any draw down, as the second example shows on the same picture.

This brings us to the importance of how Monday’s candle would close.

…as someone either went long or short. The S-20 (Blue) is certainly rapidly approaching to provide support.

The Cyan shading equates to the Green on the Better Volumes code. Free lesson here about futures volume / tick volume.

Old Ideas

I do go back to my Holy Graph chart to check my naked holdings balance at times.

It is actually amazing how many things I managed to got working many many years ago in terms of a self interpreting chart.

For one thing the relevance of the 21-week EMA – which is 2528 EMA HL2 on the hourly, I named it Kabash.

The other circled plots are calling the plot, such as “BUSTED” and “Grand Exit”. The E-89 / 8-hours denomination is another main MA I used to track – iMA(NULL,0,89*8,0,MODE_EMA, PRICE_MEDIAN,0).

Beside the top call, here’s the bottom call with a mean reversion target:

The stochastic bars hybrid can be infinitely utilized for calling both Faith Healers and reversal divergences. The bottoms’s upper projection was only topped by 10 pips upon the reversion, but at the same time Out of Control Buyig commenced by then.

Anyways, in terms of futura, only the Final Divergence is missing now, #6 low has already printed with a Flash Gordon divergence.

I’m trying to get some unform signal going between the two main charts (30 min & 1 hour), the blue divergence to go a little more crazy and push the pencil more breathlessly away from the last plot. Of course, the 1H momentum divergences would be plotted with 2x longer delay relative to the 30m ones, but what matters is the visual reminder.

/// 1H momentum divergence on the upside

 if (iFractals(symbol,0,MODE_UPPER,i) && High[i]<iBands(symbol,60,30,2,0,PRICE_MEDIAN,MODE_UPPER,i) && High[i]==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,30,i))
 && RSI2[i]<97
 
  ){
   j=i+6;
   while (j<=i+24){
      if (RSI2[j]>RSI2[j+1] 
      && RSI2[j]>RSI2[j-1] 
      && RSI2[j]>92.5 
      && RSI2[j]>RSI2[i]
       && High[j]<High[i]
      ) break;
    j++;  
   }
  if (RSI2[j]>RSI2[j+1] 
      && RSI2[j]>RSI2[j-1] 
      && RSI2[j]>92.5 
      && RSI2[j]>RSI2[i]
       && High[j]<High[i]
 // && Low[j]<iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,j)
  && Low[j]<iBands(symbol,60,30,2,0,PRICE_MEDIAN,MODE_UPPER,j)+10*Point  
   ){
         ObjectCreate("Cobra120BPMMM"+IntegerToString(i),OBJ_TREND,0, Time[i], High[i], Time[j], High[j]);
      ObjectSet("Cobra120BPMMM"+IntegerToString(i),OBJPROP_COLOR,clrBlue);
      ObjectSet("Cobra120BPMMM"+IntegerToString(i),OBJPROP_WIDTH,16);
      ObjectSet("Cobra120BPMMM"+IntegerToString(i),OBJPROP_RAY_RIGHT,0);
   }
 } 

Lastly, I may be scaling out of shorts starting 1.0651. All shorts currently are set to 1.0636, but a manual close out is likely depending on the speed of the move.

I thought it would make it rain this week, currently sitting at $400 closed out trades. I did make back a whole lot of equity though, around 3K – lots of break even close outs.

Statement from the 1st of Aug. 2023

Army Of Scammers

There are all kinds of geniuses pouring out of YouTube. There is for instance the Austalian Genius that is monitoring the volatility of the volatility – hell knows how this would ever translate into a trade.

The FTX Genius is getting a Disney remake, but may not be coming out this year.

The FVG genius is getting a Silver Bullet into his backtest or vica versa.

I’m pacified, so I can spare you the watch too. It was only a winning strategy at first because the coder forgot to factor in the daylight saving time change. Sure, you can retire on this single idea. My ass. It is Ok not to believe in indicators, they don’t believe in you either.

Now, back to actual trading.

There was a regression low, a cover low in combination with progression low #4 (Green Plot), followed by a decisive move up and a progression high up. Looking bullish, but going nowhere fast.

You can see price pushing up against the last continuation divergence break out.

The money flow got very oversold – this was the reason for a relief bounce in combination with tagging the 240 SMA. This actually printed a reversal zone. My play would be the full monty here.

I think the weekly pivot shoud receive a fake out, and the downside sell algos would be called in for 36 pips extension. I am eyeing that 1.0591.

The bottom of the 240 Bollinger is now at 1.06. A little push on it would make perfect sense.

Yes, the holding direction is up with a progression high on the upside, but this could turn into a toss up by a progression low on the downside and a follow through. I am certainly missing the Final Divergence. The Cover Divergence is a disqualified Final Divergence due to the RSI2 low was printed by a candle with its high outside the 30-sample BB.

I did show you that an OliveDrab first encounter prompts a reaction of 50-57 pips.

The patio furniture plot starts at 52 pips (and can go up to 95). It barely qualified for a liquidity break, this move back up. Why do I think this hasn’t sold off yet? For a trap. Currently the bias is neutral to slightly up. A strong squeeze is going on. At 1.0680 the table will flip.

I am 3:2 short:long, but will add short upon clearing 1.0675. S2 is at 1.0586. My second target.

You can make an Army of Arguments why scamming is the sport of this century.

Bouncer

The OliveDrab is the subject.

The first hit is a fade, good for 50-57 pips. The second hit can be a slider, a Wave 3.

In plain English 15 pips outside the 60-sample BB HL2.

The current strength would imply a full 5-wave move – this is a Wave 2 up.

I left the continuation divergence plots in as an Xmas present.

#property copyright "Copyright © 2023, Macdulio" 
#property link      "forexfore.blog" 
#property description "Bouncer"


#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color7 Crimson
#property indicator_color8 Yellow 
#property indicator_color9 Tan
extern int lookback = 300;
extern bool plot_divergences = true;
extern int linethickness = 6;
extern int sample = 8;
extern int fontsize = 14;
double BBUP[],BBDM[];
double ATRA, ATRAVG[], RSI2[], stoch[];
datetime UpFractalTime_1,LowFractalTime_1,UpFractalTime_2,LowFractalTime_2,LowFractalTime_3,LowFractalTime_4,    UFT2, LFT2;
int init()
  {
   SetIndexBuffer(0,BBUP);
   SetIndexStyle(0,DRAW_LINE,4,3,clrOliveDrab);   
   SetIndexBuffer(1,BBDM);
   SetIndexStyle(1,DRAW_LINE,4,3,clrOliveDrab);      
   return(0);
  }
  
int start()
{

  string symbol = Symbol();
   int    i,i2,j,j2;       
  ArrayResize(BBUP, Bars);  
  ArrayInitialize(BBUP, EMPTY_VALUE);  
  ArrayResize(BBDM, Bars);  
  ArrayInitialize(BBDM, EMPTY_VALUE);  
  ArrayResize(RSI2, Bars);  
  ArrayInitialize(RSI2, EMPTY_VALUE);  
  ArrayResize(stoch, Bars);   
  ArrayInitialize(stoch, EMPTY_VALUE); 
 
//--------------------------------------------------------------------
   
   
   ATRA = 0;
   for (i=1; i<=3; i++){ 
     ATRA = ATRA+iATR(NULL,1440,14,i);}
   
   for (i=0; i<=160; i++){ 
     ATRAVG[i] = ATRA/3; }


for(i=Bars-60; i>=0; i--){
  stoch[i]=iStochastic(symbol,0,9,3,3,MODE_SMA,0,MODE_SIGNAL,i);
  RSI2[i]=iRSI(symbol,0,2,PRICE_MEDIAN,i);
}


for (i = lookback ; i >=0; i--) {

if (High[i]>iBands(symbol,30,60,2,0,PRICE_MEDIAN,MODE_UPPER,i)) BBUP[i]=iBands(symbol,30,60,2,0,PRICE_MEDIAN,MODE_UPPER,i)+150*Point;
if (Low[i]<iBands(symbol,30,60,2,0,PRICE_MEDIAN,MODE_LOWER,i)) BBDM[i]=iBands(symbol,30,60,2,0,PRICE_MEDIAN,MODE_LOWER,i)-150*Point;
} 


if (plot_divergences) {


deletetxt1("lxr");
 
deletetxt1("BUNA3");
deletetxt1("LUNA3");
deletetxt1("GUNA");
deletetxt1("QUNA");
deletetxt1("PUNA3");
deletetxt1("PUNA4");
deletetxt1("HUNA3");
deletetxt1("DUNA3");
deletetxt1("jxr");
deletetxt1("_UNA3"); 
deletetxt1("ZUNA3");
deletetxt1("Real");   
deletetxt1("lxr");
deletetxt1("lxl");
deletetxt1("Hei"); 
deletetxt1("ouna");
deletetxt1("Ellipse");



   j2=1;
   while (j2<500 ){
    j=j2+3; 
      if (iFractals(Symbol(),0,MODE_LOWER,j2)) 
         while (j<j2+16){
               if (RSI2[j2]<RSI2[j] && iFractals(Symbol(),0,MODE_LOWER,j)   ) break;
       //&& Low[j2]>=Low[j]+10*Point
       
         j++;}
         
         
    if (iFractals(Symbol(),0,MODE_LOWER,j) && iFractals(Symbol(),0,MODE_LOWER,j2) && RSI2[j2]<RSI2[j] && Low[j2]>=Low[j]-10*Point ) break;
        //&& Low[j2]>=Low[j]-10*Point
          j2++;}  


if (j2<500 && Low[j2]>=Low[j]-10*Point) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }

 if (j<500 && j<j2+16)   {ObjectDelete(0,"BUNA3_2");
     ObjectCreate(0,"BUNA3_2",OBJ_TREND,0,LowFractalTime_1,Low[j],LowFractalTime_2,Low[j2]);
    ObjectSetInteger(0,"BUNA3_2",OBJPROP_RAY_RIGHT,false);
         if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,j2-1,0))<Low[j2])    ObjectSet("BUNA3_2",OBJPROP_COLOR,clrTan);
        else
          ObjectSet("BUNA3_2",OBJPROP_COLOR,indicator_color9);
         ObjectSet("BUNA3_2",OBJPROP_WIDTH, linethickness);  
         

///first lower continuation divergence         
                if (Period()==60){  
      //    ObjectCreate("BUNA3_3ffx",OBJ_TEXT, 0, Time[j2+3], Low[j2]+20*Point);
      //    ObjectSetText("BUNA3_3ffx", " (Min 16) Short:"+DoubleToStr(NormalizeDouble(Low[j2]-60*Point,4),4), 17, "Impact", clrWhite);
      //    ObjectCreate("BUNA3_3ff",OBJ_TEXT, 0, Time[j2+3], Low[j2]+20*Point);
      //    ObjectSetText("BUNA3_3ff","(Min 16) Short:"+DoubleToStr(NormalizeDouble(Low[j2]-60*Point,4),4), 17, "Impact", clrDarkRed);
           if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,j2-1,0))<Low[j2])    ObjectSet("BUNA3_3ff",OBJPROP_COLOR,clrRed);
           
           if (j2>2) {
             ObjectCreate("Ellipset"+DoubleToStr(j), OBJ_TRIANGLE, 0, Time[j2-3],  Low[j2]+90*Point, Time[j2-3], Low[j2]-420*Point, Time[j2], Low[j2]);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_COLOR,clrGray);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_BACK,0);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_WIDTH,1);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_STYLE,1);
           
           }
           
                 }             
         LFT2 = LowFractalTime_2;
    }

 i2=1;
   while (i2<500){
      i=i2+3;
      if (iFractals(Symbol(),0,MODE_UPPER,i2))     
      while (i<i2+16 ){
            if ( RSI2[i2]>RSI2[i] && iFractals(Symbol(),0,MODE_UPPER,i) && High[i2]<=High[i]-10*Point ) break;
         i++;}
      if (iFractals(Symbol(),0,MODE_UPPER,i)  && iFractals(Symbol(),0,MODE_UPPER,i2) && RSI2[i2]>RSI2[i] && High[i2]<=High[i]-10*Point) break;
               i2++;}  


if (i2<500 && High[i2]<=High[i]-10*Point && RSI2[i2]>RSI2[i]) { UpFractalTime_2=iTime(NULL, 0,i2);    UpFractalTime_1=iTime(NULL, 0,i);   }
 
 
if (i<500 && i<i2+16) {   ObjectDelete(0,"LUNA3_1");
         ObjectCreate(0,"LUNA3_1",OBJ_TREND,0,UpFractalTime_1,High[i],UpFractalTime_2,High[i2]);
          ObjectSetInteger(0,"LUNA3_1",OBJPROP_RAY_RIGHT,false);
          
                 if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i2-1,0))>High[i2])    ObjectSet("LUNA3_1",OBJPROP_COLOR,clrTan);
        else ObjectSet("LUNA3_1",OBJPROP_COLOR,indicator_color9);
         ObjectSet("LUNA3_1",OBJPROP_WIDTH, linethickness);

///first upper continuation divergence    
      if (Period()==60){       
     //      ObjectCreate("LUNA3_1ffx",OBJ_TEXT, 0, Time[i2+3], High[i2]+120*Point);
     //      ObjectSetText("LUNA3_1ffx", " (Min 16) Long: "+DoubleToStr(NormalizeDouble(High[i2]+60*Point,4),4), 17, "Impact", clrWhite);
     //      ObjectCreate("LUNA3_1ff",OBJ_TEXT, 0, Time[i2+3], High[i2]+120*Point);
     //      ObjectSetText("LUNA3_1ff", "(Min 16) Long: "+DoubleToStr(NormalizeDouble(High[i2]+60*Point,4),4), 17, "Impact", clrDarkGreen);
               if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i2-1,0))>High[i2])    ObjectSet("LUNA3_1ff",OBJPROP_COLOR,clrGreen);
               
               
                 if (i2>2) {
             ObjectCreate("Ellipset"+DoubleToStr(i), OBJ_TRIANGLE, 0, Time[i2-3],  High[i2]-90*Point, Time[i2-3], High[i2]+420*Point, Time[i2], High[i2]);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_COLOR,clrGray);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_BACK,0);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_WIDTH,1);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_STYLE,1);
        
           
           }   
               
          }
           
      UFT2=UpFractalTime_2;
      }
  
int keepj=j;
int keepi=i;

  
   j2=keepj;
   while (j2<500 ){
    j=j2+3; 
      if (iFractals(Symbol(),0,MODE_LOWER,j2)) 
         while (j<j2+16){
               if (RSI2[j2]<RSI2[j] && iFractals(Symbol(),0,MODE_LOWER,j) && Low[j2]>=Low[j]+10*Point) break;
         j++;}
    if (iFractals(Symbol(),0,MODE_LOWER,j) && iFractals(Symbol(),0,MODE_LOWER,j2) && RSI2[j2]<RSI2[j]  && Low[j2]>=Low[j]+10*Point) break;
        
          j2++;}  


if (j2<500 && Low[j2]>=Low[j]+10*Point) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }

 if (j<500 && j<j2+16)   {ObjectDelete(0,"PUNA3_2");
     ObjectCreate(0,"PUNA3_2",OBJ_TREND,0,LowFractalTime_1,Low[j],LowFractalTime_2,Low[j2]);
    ObjectSetInteger(0,"PUNA3_2",OBJPROP_RAY_RIGHT,false);
        if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,j2-1,0))<Low[j2])    ObjectSet("PUNA3_2",OBJPROP_COLOR,clrNONE);
         else
          ObjectSet("PUNA3_2",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA3_2",OBJPROP_WIDTH, linethickness); 
         
///second lower continuation divergence           
         if (Period()==60){  
      //      ObjectCreate("PUNA3_2ffx",OBJ_TEXT, 0, Time[j2+3], Low[j2]+20*Point);
      //    ObjectSetText("PUNA3_2ffx", " (Min 16) Short:"+DoubleToStr(NormalizeDouble(Low[j2]-60*Point,4),4), 17, "Impact", clrWhite);
      //    ObjectCreate("PUNA3_2ff",OBJ_TEXT, 0, Time[j2+3], Low[j2]+20*Point);
      //    ObjectSetText("PUNA3_2ff","(Min 16) Short:"+DoubleToStr(NormalizeDouble(Low[j2]-60*Point,4),4), 17, "Impact", clrDarkRed);
           if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,j2-1,0))<Low[j2])    ObjectSet("PUNA3_2ff",OBJPROP_COLOR,clrRed);
             
              if (j2>2) {
             ObjectCreate("Ellipset"+DoubleToStr(j), OBJ_TRIANGLE, 0, Time[j2-3],  Low[j2]+90*Point, Time[j2-3], Low[j2]-420*Point, Time[j2], Low[j2]);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_COLOR,clrGray);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_BACK,0);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_WIDTH,1);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_STYLE,1);
        
           
           }
             
         }
         LFT2 = LowFractalTime_2;     
    
}

//////////////////////////
    
i2=0;
   while (i2<500){
      i=i2+3;
      if (iFractals(Symbol(),0,MODE_UPPER,i2))     
      while (i<i2+16 ){
            if (RSI2[i2]>RSI2[i] && iFractals(Symbol(),0,MODE_UPPER,i) && High[i2]<=High[i]-10*Point ) break;
         i++;}
      if (iFractals(Symbol(),0,MODE_UPPER,i)  && iFractals(Symbol(),0,MODE_UPPER,i2) && RSI2[i2]>RSI2[i] && High[i2]<=High[i]-10*Point) break;
               i2++;}  


if (i2<500 && High[i2]<=High[i]-10*Point && RSI2[i2]>RSI2[i]) { UpFractalTime_2=iTime(NULL, 0,i2);    UpFractalTime_1=iTime(NULL, 0,i);   }
 
 
if (i<500 && i<i2+16 && RSI2[i2]>RSI2[i]) {   ObjectDelete(0,"PUNA3_1");
         ObjectCreate(0,"PUNA3_1",OBJ_TREND,0,UpFractalTime_1,High[i],UpFractalTime_2,High[i2]);
          ObjectSetInteger(0,"PUNA3_1",OBJPROP_RAY_RIGHT,false);
                if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i2-1,0))>High[i2])    ObjectSet("PUNA3_1",OBJPROP_COLOR,clrNONE);
         else ObjectSet("PUNA3_1",OBJPROP_COLOR,indicator_color9);
         
         ObjectSet("PUNA3_1",OBJPROP_WIDTH, linethickness);


///second upper continuation divergence    
      if (Period()==60){       
      //     ObjectCreate("PUNA3_1ffx",OBJ_TEXT, 0, Time[i2+3], High[i2]+120*Point);
      //     ObjectSetText("PUNA3_1ffx", " (Min 16) Long: "+DoubleToStr(NormalizeDouble(High[i2]+60*Point,4),4), 17, "Impact", clrWhite);
      //     ObjectCreate("PUNA3_1ff",OBJ_TEXT, 0, Time[i2+3], High[i2]+120*Point);
      //     ObjectSetText("PUNA3_1ff", "(Min 16) Long: "+DoubleToStr(NormalizeDouble(High[i2]+60*Point,4),4), 17, "Impact", clrDarkGreen);
               if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i2-1,0))>High[i2])    ObjectSet("PUNA3_1ff",OBJPROP_COLOR,clrGreen);
                   
           if (i2>2) {
             ObjectCreate("Ellipset"+DoubleToStr(i), OBJ_TRIANGLE, 0, Time[i2-3],  High[i2]-90*Point, Time[i2-3], High[i2]+420*Point, Time[i2], High[i2]);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_COLOR,clrGray);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_BACK,0);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_WIDTH,1);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_STYLE,1);
           
           }                    
                   
 }
         
      UFT2=UpFractalTime_2;
    
}

keepj=j;
keepi=i;
  
   j2=keepj;
   while (j2<500 ){
    j=j2+3; 
      if (iFractals(Symbol(),0,MODE_LOWER,j2)) 
         while (j<j2+16){
               if (RSI2[j2]<RSI2[j] && iFractals(Symbol(),0,MODE_LOWER,j) && Low[j2]>=Low[j]+10*Point) break;
         j++;}
    if (iFractals(Symbol(),0,MODE_LOWER,j) && iFractals(Symbol(),0,MODE_LOWER,j2) && RSI2[j2]<RSI2[j]  && Low[j2]>=Low[j]+10*Point) break;
        
          j2++;}  


if (j2<500 && Low[j2]>=Low[j]+10*Point) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }

 if (j<500 && j<j2+16)   {ObjectDelete(0,"PUNA4_2");
     ObjectCreate(0,"PUNA4_2",OBJ_TREND,0,LowFractalTime_1,Low[j],LowFractalTime_2,Low[j2]);
    ObjectSetInteger(0,"PUNA4_2",OBJPROP_RAY_RIGHT,false);
        if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,j2-1,0))<Low[j2])    ObjectSet("PUNA4_2",OBJPROP_COLOR,clrNONE);
       else 
        ObjectSet("PUNA4_2",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA4_2",OBJPROP_WIDTH, linethickness); 
         
///third lower continuation divergence         
      if (Period()==60){    
     //     ObjectCreate("PUNA4_2ffx",OBJ_TEXT, 0, Time[j2+3], Low[j2]+20*Point);
     //     ObjectSetText("PUNA4_2ffx", " (Min 16) Short:"+DoubleToStr(NormalizeDouble(Low[j2]-60*Point,4),4), 17, "Impact", clrWhite);
     //     ObjectCreate("PUNA4_2ff",OBJ_TEXT, 0, Time[j2+3], Low[j2]+20*Point);
     //     ObjectSetText("PUNA4_2ff","(Min 16) Short:"+DoubleToStr(NormalizeDouble(Low[j2]-60*Point,4),4), 17, "Impact", clrDarkRed);
           if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,j2-1,0))<Low[j2])    ObjectSet("PUNA4_2ff",OBJPROP_COLOR,clrRed);
           
            if (j2>2) {
             ObjectCreate("Ellipset"+DoubleToStr(j), OBJ_TRIANGLE, 0, Time[j2-3],  Low[j2]+90*Point, Time[j2-3], Low[j2]-420*Point, Time[j2], Low[j2]);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_COLOR,clrGray);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_BACK,0);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_WIDTH,1);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_STYLE,1);
           }
           
        }  
         
         LFT2 = LowFractalTime_2;     
    
}

 i2=keepi;
   while (i2<500){
      i=i2+3;
      if (iFractals(Symbol(),0,MODE_UPPER,i2))     
      while (i<i2+16 ){
            if ( RSI2[i2]>RSI2[i] && iFractals(Symbol(),0,MODE_UPPER,i) && High[i2]<=High[i]-10*Point ) break;
         i++;}
      if (iFractals(Symbol(),0,MODE_UPPER,i)  && iFractals(Symbol(),0,MODE_UPPER,i2) && RSI2[i2]>RSI2[i] && High[i2]<=High[i]-10*Point) break;
               i2++;}  


if (i2<500 && High[i2]<=High[i]-10*Point) { UpFractalTime_2=iTime(NULL, 0,i2);    UpFractalTime_1=iTime(NULL, 0,i);   }
 
 
if (i<500 && i<i2+16) {   ObjectDelete(0,"PUNA4_1");
         ObjectCreate(0,"PUNA4_1",OBJ_TREND,0,UpFractalTime_1,High[i],UpFractalTime_2,High[i2]);
          ObjectSetInteger(0,"PUNA4_1",OBJPROP_RAY_RIGHT,false);
                 if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i2-1,0))>High[i2])    ObjectSet("PUNA4_1",OBJPROP_COLOR,clrNONE);
         else ObjectSet("PUNA4_1",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA4_1",OBJPROP_WIDTH, linethickness);

///third upper continuation divergence           
               if (Period()==60){  
      //   ObjectCreate("PUNA4_1ffx",OBJ_TEXT, 0, Time[i2+3], High[i2]+120*Point);
      //     ObjectSetText("PUNA4_1ffx", " (Min 16) Long: "+DoubleToStr(NormalizeDouble(High[i2]+60*Point,4),4), 17, "Impact", clrWhite);
      //     ObjectCreate("PUNA4_1ff",OBJ_TEXT, 0, Time[i2+3], High[i2]+120*Point);
      //     ObjectSetText("PUNA4_1ff", "(Min 16) Long: "+DoubleToStr(NormalizeDouble(High[i2]+60*Point,4),4), 17, "Impact", clrDarkGreen);
               if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i2-1,0))>High[i2])    ObjectSet("PUNA4_1ff",OBJPROP_COLOR,clrGreen);
                 
                 if (i2>2) {
             ObjectCreate("Ellipset"+DoubleToStr(i), OBJ_TRIANGLE, 0, Time[i2-3],  High[i2]-90*Point, Time[i2-3], High[i2]+420*Point, Time[i2], High[i2]);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_COLOR,clrGray);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_BACK,0);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_WIDTH,1);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_STYLE,1);
           
           }    
                 
         }
         
      UFT2=UpFractalTime_2;
    
}



keepj=j;
keepi=i;
  
   j2=keepj;
   while (j2<500 ){
    j=j2+3; 
      if (iFractals(Symbol(),0,MODE_LOWER,j2)) 
         while (j<j2+16){
               if (RSI2[j2]<RSI2[j] && iFractals(Symbol(),0,MODE_LOWER,j) && Low[j2]>=Low[j]+10*Point) break;
         j++;}
    if (iFractals(Symbol(),0,MODE_LOWER,j) && iFractals(Symbol(),0,MODE_LOWER,j2) && RSI2[j2]<RSI2[j]  && Low[j2]>=Low[j]+10*Point) break;
        
          j2++;}  


if (j2<500 && Low[j2]>=Low[j]+10*Point) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }

 if (j<500 && j<j2+16)   {ObjectDelete(0,"PUNA5_2");
     ObjectCreate(0,"PUNA5_2",OBJ_TREND,0,LowFractalTime_1,Low[j],LowFractalTime_2,Low[j2]);
    ObjectSetInteger(0,"PUNA5_2",OBJPROP_RAY_RIGHT,false);
        if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,j2-1,0))<Low[j2])    ObjectSet("PUNA5_2",OBJPROP_COLOR,clrNONE);
         else ObjectSet("PUNA5_2",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA5_2",OBJPROP_WIDTH, linethickness); 
         
///fourth lower continuation divergence      
         if (Period()==60){       
       //      ObjectCreate("PUNA5_2ffx",OBJ_TEXT, 0, Time[j2+3], Low[j2]+20*Point);
      //    ObjectSetText("PUNA5_2ffx", " (Min 16) Short:"+DoubleToStr(NormalizeDouble(Low[j2]-60*Point,4),4), 17, "Impact", clrWhite);
      //    ObjectCreate("PUNA5_2ff",OBJ_TEXT, 0, Time[j2+3], Low[j2]+20*Point);
      //    ObjectSetText("PUNA5_2ff","(Min 16) Short:"+DoubleToStr(NormalizeDouble(Low[j2]-60*Point,4),4), 17, "Impact", clrDarkRed);
           if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,j2-1,0))<Low[j2])    ObjectSet("PUNA5_2ff",OBJPROP_COLOR,clrRed);
              
               if (j2>2) {
             ObjectCreate("Ellipset"+DoubleToStr(j), OBJ_TRIANGLE, 0, Time[j2-3],  Low[j2]+90*Point, Time[j2-3], Low[j2]-420*Point, Time[j2], Low[j2]);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_COLOR,clrGray);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_BACK,0);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_WIDTH,1);
             ObjectSet("Ellipset"+DoubleToStr(j),OBJPROP_STYLE,1);
           
           }
              
          }
          
         LFT2 = LowFractalTime_2;     
    
}

 i2=keepi;
   while (i2<500){
      i=i2+3;
      if (iFractals(Symbol(),0,MODE_UPPER,i2))     
      while (i<i2+16 ){
            if ( RSI2[i2]>RSI2[i] && iFractals(Symbol(),0,MODE_UPPER,i) && High[i2]<=High[i]-10*Point ) break;
         i++;}
      if (iFractals(Symbol(),0,MODE_UPPER,i)  && iFractals(Symbol(),0,MODE_UPPER,i2) && RSI2[i2]>RSI2[i] && High[i2]<=High[i]-10*Point) break;
               i2++;}  


if (i2<500 && High[i2]<=High[i]-10*Point) { UpFractalTime_2=iTime(NULL, 0,i2);    UpFractalTime_1=iTime(NULL, 0,i);   }
 
 
if (i<500 && i<i2+16) {   ObjectDelete(0,"PUNA5_1");
         ObjectCreate(0,"PUNA5_1",OBJ_TREND,0,UpFractalTime_1,High[i],UpFractalTime_2,High[i2]);
          ObjectSetInteger(0,"PUNA5_1",OBJPROP_RAY_RIGHT,false);
                 if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i2-1,0))>High[i2])    ObjectSet("PUNA5_1",OBJPROP_COLOR,clrNONE);
       else  ObjectSet("PUNA5_1",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA5_1",OBJPROP_WIDTH, linethickness);


///fourth upper continuation divergence           
               if (Period()==60){  
       //  ObjectCreate("PUNA5_1ffx",OBJ_TEXT, 0, Time[i2+3], High[i2]+120*Point);
       //    ObjectSetText("PUNA5_1ffx", " (Min 16) Long: "+DoubleToStr(NormalizeDouble(High[i2]+60*Point,4),4), 17, "Impact", clrWhite);
       //    ObjectCreate("PUNA5_1ff",OBJ_TEXT, 0, Time[i2+3], High[i2]+120*Point);
       //    ObjectSetText("PUNA5_1ff", "(Min 16) Long: "+DoubleToStr(NormalizeDouble(High[i2]+60*Point,4),4), 17, "Impact", clrDarkGreen);
               if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i2-1,0))>High[i2])    ObjectSet("PUNA5_1ff",OBJPROP_COLOR,clrGreen);
                 
              if (i2>3) {
             ObjectCreate("Ellipset"+DoubleToStr(i), OBJ_TRIANGLE, 0, Time[i2-3],  High[i2]-90*Point, Time[i2-3], High[i2]+420*Point, Time[i2], High[i2]);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_COLOR,clrGray);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_BACK,0);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_WIDTH,1);
             ObjectSet("Ellipset"+DoubleToStr(i),OBJPROP_STYLE,1);
           }       
         }
         
      UFT2=UpFractalTime_2;
    
}




//////////////////////////
//////////////////////////  
     

  
   j2=0;
   while (j2<500 ){
    j=j2+3; 
      if (iFractals(Symbol(),0,MODE_LOWER,j2)) 
         while (j<j2+26){
               if (stoch[j2]>stoch[j] && iFractals(Symbol(),0,MODE_LOWER,j) && Low[j2]<=Low[j]-10*Point ) break;
         j++;}
    if (iFractals(Symbol(),0,MODE_LOWER,j) && iFractals(Symbol(),0,MODE_LOWER,j2) && stoch[j2]>stoch[j]  && Low[j2]<=Low[j]-10*Point ) break;
        
          j2++;}  


if (j2<500 && iFractals(Symbol(),0,MODE_LOWER,j) && iFractals(Symbol(),0,MODE_LOWER,j2) && Low[j2]<=Low[j]-10*Point ) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }


         


 i2=0;
   while (i2<500){
      i=i2+3;
      if (iFractals(Symbol(),0,MODE_UPPER,i2))     
      while (i<i2+26 ){
            if ( RSI2[i2]<RSI2[i] && iFractals(Symbol(),0,MODE_UPPER,i) && High[i2]>=High[i]+10*Point ) break;
         i++;}
      if (iFractals(Symbol(),0,MODE_UPPER,i)  && iFractals(Symbol(),0,MODE_UPPER,i2) && RSI2[i2]<RSI2[i] && High[i2]>=High[i]+10*Point ) break;
               i2++;}  


if (iFractals(Symbol(),0,MODE_UPPER,i)  && iFractals(Symbol(),0,MODE_UPPER,i2) &&  i2<500 && High[i2]>=High[i]+10*Point && RSI2[i2]<RSI2[i]) { UpFractalTime_2=iTime(NULL, 0,i2);    UpFractalTime_1=iTime(NULL, 0,i);   }
 
  
 
 
int keepj2=j+1;
int keepi2=i+1; 
 
  
   j2=keepj2;
   while (j2<500 ){
    j=j2+3; 
      if (iFractals(Symbol(),0,MODE_LOWER,j2)) 
         while (j<j2+26){
               if (stoch[j2]>stoch[j] && iFractals(Symbol(),0,MODE_LOWER,j) && Low[j2]<=Low[j]-10*Point && !(j2<7 && Low[j2-6]>Low[j2])) break;
         j++;}
    if (iFractals(Symbol(),0,MODE_LOWER,j) && iFractals(Symbol(),0,MODE_LOWER,j2) && stoch[j2]>stoch[j]  && Low[j2]<=Low[j]-10*Point && !(j2<7 && Low[j2-6]>Low[j2])) break;
        
          j2++;}  


if (j2<500 && Low[j2]<=Low[j]-10*Point  && !(j2<7 && Low[j2-6]>Low[j2])) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }



 i2=keepi2;
   while (i2<500){
      i=i2+3;
      if (iFractals(Symbol(),0,MODE_UPPER,i2))     
      while (i<i2+26 ){
            if ( stoch[i2]<stoch[i] && iFractals(Symbol(),0,MODE_UPPER,i) && High[i2]>=High[i]+10*Point && !(i2<7 && High[i2-6]<High[i2])) break;
         i++;}
      if (iFractals(Symbol(),0,MODE_UPPER,i)  && iFractals(Symbol(),0,MODE_UPPER,i2) && stoch[i2]<stoch[i] && High[i2]>=High[i]+10*Point && !(i2<7 && High[i2-6]<High[i2])) break;
               i2++;}  


if (i2<500 && High[i2]>=High[i]+10*Point && !(i2<7 && High[i2-6]<High[i2])) { UpFractalTime_2=iTime(NULL, 0,i2);    UpFractalTime_1=iTime(NULL, 0,i);   }
 
 
 
/////////////////////////// 



  
   j2=1;
 while (j2<500 ){
    j=j2+23; 
      if (iFractals(Symbol(),0,MODE_LOWER,j2)) 
         while (j<j2+256){
               if (stoch[j2]<stoch[j] && iFractals(Symbol(),0,MODE_LOWER,j) && Low[j2]>=Low[j]+10*Point && stoch[j2]<10) break;
         j++;}
    if (iFractals(Symbol(),0,MODE_LOWER,j) && iFractals(Symbol(),0,MODE_LOWER,j2) && stoch[j2]<stoch[j]  && Low[j2]>=Low[j]+10*Point && stoch[j2]<10) break;
        
          j2++;}  


if (j2<500 && Low[j2]>=Low[j]+10*Point  && stoch[j2]<10) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }




 if (j<500 && j<j2+256)   {ObjectDelete(0,"ZUNA3_2");
     ObjectCreate(0,"ZUNA3_2",OBJ_TREND,0,LowFractalTime_1,Low[j]-40* Point,LowFractalTime_2,Low[j2]-40* Point);
    ObjectSetInteger(0,"ZUNA3_2",OBJPROP_RAY_RIGHT,false);
         ObjectSet("ZUNA3_2",OBJPROP_COLOR,indicator_color7);
         ObjectSet("ZUNA3_2",OBJPROP_WIDTH, linethickness); 
         LFT2 = LowFractalTime_2;         
         }


 i2=1;
  while (i2<500){
      i=i2+23;
      if (iFractals(Symbol(),0,MODE_UPPER,i2))     
      while (i<i2+256 ){
            if ( stoch[i2]>stoch[i] && iFractals(Symbol(),0,MODE_UPPER,i) && High[i2]<=High[i]-10*Point && stoch[i2]>90 ) break;
         i++;}
      if (iFractals(Symbol(),0,MODE_UPPER,i)  && iFractals(Symbol(),0,MODE_UPPER,i2) && stoch[i2]>stoch[i] && High[i2]<=High[i]-10*Point && stoch[i2]>90) break;
               i2++;}  


if (i2<500 && High[i2]<=High[i]-10*Point && stoch[i2]>90) { UpFractalTime_2=iTime(NULL, 0,i2);    UpFractalTime_1=iTime(NULL, 0,i);   }
 
 
if (i<500 && i<i2+256  && stoch[i2]>80) {   ObjectDelete(0,"ZUNA3_1");
         ObjectCreate(0,"ZUNA3_1",OBJ_TREND,0,UpFractalTime_1,High[i]+40* Point,UpFractalTime_2,High[i2]+40* Point);
          ObjectSetInteger(0,"ZUNA3_1",OBJPROP_RAY_RIGHT,false);
         ObjectSet("ZUNA3_1",OBJPROP_COLOR,indicator_color7);
         ObjectSet("ZUNA3_1",OBJPROP_WIDTH, linethickness);
      UFT2=UpFractalTime_2; 

              }
               
               
}

               
   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);
}  }

Lesson Number Next

Why wasn’t this a final divergence?

Because I put an arrow there, or because the top of the candle was outside the Bollinger?

I don’t know…

&& High[j]>iBands(symbol,30,30,2,0,PRICE_MEDIAN,MODE_LOWER,j)-10*Point

So what next?

This is a reaction off of the last resistance level. A bounce. We have a new direction, down, but a counter move is in progress to the upper 30-min BB30 which equates to just above the S30 on the hourly.

I expect the upside correction to last 21 hours (disregard), but if price gets above the hourly S30 only around 14 hours (loneliness) then you will have seen the full correction. Also, the high made at the upper 30-min BB should be a regression high, meaning setting up a sequence of lower highs before coming back in.

One bear function that I am monitoring in the background is the widening bearish spread between the E-414L and the E-712. It continued to expand and is currently standing at 16.8 pips. At the moment price is above the upper guard rail, but not by a lot, and if the spread expands to beyond 27, it would melt the ice and provide a moat from price being able to get back below, thus I would expect the move to be stopped by E-712 at approx 1.0619.

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.