InterCity

Waves, continued.

Specialized tools for impulse and corrective waves.

Fractals Mortified for Impulses, RSI BB for Correctives,
  if (i>1 && iFractals(symbol,0,MODE_UPPER,i) && High[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)-50*Point && RSI2[i]>75  && EU[i+1]!=High[i+1] && EU[i+2]!=High[i+2] && EU[i+3]!=High[i+3] && EU[i+4]!=High[i+4] && EU[i+5]!=High[i+5] && EU[i+6]!=High[i+6] && EU[i+7]!=High[i+7] ) EU[i]=High[i];
        if (i>1 && iFractals(symbol,0,MODE_UPPER,i) && High[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i) && High[i]>iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i)+350*Point && ((RSI2[i+5]>96 && RSI2[i+4]>96 && RSI2[i+3]>96 && RSI2[i+1]>96 && RSI2[i+1]>96 && (RSI2[i-1]<90  || RSI2[i-2]<90 ))) || (High[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)+500*Point && RSI2[i]<97)) EU2[i]=High[i];
        if (i>1 && iFractals(symbol,0,MODE_LOWER,i) && Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)   && RSI2[i+1]<4 && (RSI2[i-1]>10 || RSI2[i-2]>10 )) ED[i]=Low[i];
        if (i>1 && iFractals(symbol,0,MODE_LOWER,i) && Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i) && Low[i]<iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i)-350*Point && ((RSI2[i+5]<4 && RSI2[i+4]<4 && RSI2[i+3]<4 && RSI2[i+2]<4 && RSI2[i+1]<4 && (RSI2[i-1]>10 || RSI2[i-2]>10 )) || (Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)-500*Point   ))   ) ED2[i]=Low[i];
      
if (EU[i] && RSI2[i]>98) {
   ObjectCreate("BLineLL"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+360*Point); 
      ObjectSetText("BLineLL"+IntegerToString(i), " BEAT: "+DoubleToStr(NormalizeDouble(High[i]+260*Point,4),4), 14, "Impact", White);   
   ObjectSet("BLineLL"+IntegerToString(i),OBJPROP_BACK,0); 
       ObjectCreate("BLineL"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+360*Point); 
   ObjectSetText("BLineL"+IntegerToString(i), "BEAT: "+DoubleToStr(NormalizeDouble(High[i]+260*Point,4),4), 14, "Impact", DeepPink);   
   ObjectSet("BLineL"+IntegerToString(i),OBJPROP_BACK,0);  
   }
   else if (EU[i] && RSI2[i]<98) {
   ObjectCreate("BLineLL"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+260*Point); 
      ObjectSetText("BLineLL"+IntegerToString(i), " BEAT: "+DoubleToStr(NormalizeDouble(High[i]+140*Point,4),4), 14, "Impact", White);   
   ObjectSet("BLineLL"+IntegerToString(i),OBJPROP_BACK,0); 
       ObjectCreate("BLineL"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+260*Point); 
   ObjectSetText("BLineL"+IntegerToString(i), "BEAT: "+DoubleToStr(NormalizeDouble(High[i]+140*Point,4),4), 14, "Impact", DeepPink);   
   ObjectSet("BLineL"+IntegerToString(i),OBJPROP_BACK,0);  
   }  
   else if (EU2[i]==High[i] && RSI2[i]>98) {
   ObjectCreate("BLineLL"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+460*Point); 
      ObjectSetText("BLineLL"+IntegerToString(i), " BEAT: "+DoubleToStr(NormalizeDouble(High[i]+400*Point,4),4), 14, "Impact", White);   
   ObjectSet("BLineLL"+IntegerToString(i),OBJPROP_BACK,0); 
       ObjectCreate("BLineL"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+460*Point); 
   ObjectSetText("BLineL"+IntegerToString(i), "BEAT: "+DoubleToStr(NormalizeDouble(High[i]+400*Point,4),4), 14, "Impact", DeepPink);   
   ObjectSet("BLineL"+IntegerToString(i),OBJPROP_BACK,0);  
   }

   if (ED[i] && RSI2[i]<2) {
   ObjectCreate("BLineLL"+IntegerToString(i), OBJ_TEXT, 0, Time[i], Low[i]-160*Point); 
      ObjectSetText("BLineLL"+IntegerToString(i), " BEAT: "+DoubleToStr(NormalizeDouble(Low[i]-260*Point,4),4), 14, "Impact", White);   
   ObjectSet("BLineLL"+IntegerToString(i),OBJPROP_BACK,0); 
       ObjectCreate("BLineL"+IntegerToString(i), OBJ_TEXT, 0, Time[i], Low[i]-160*Point); 
   ObjectSetText("BLineL"+IntegerToString(i), "BEAT: "+DoubleToStr(NormalizeDouble(Low[i]-260*Point,4),4), 14, "Impact", DeepPink);   
   ObjectSet("BLineL"+IntegerToString(i),OBJPROP_BACK,0);  
   }
(RSI[i]>lower2[i] && RSI[i+1]<lower2[i+1]))
      ){
      ObjectCreate(0,"TLine_1"+i,OBJ_TREND,indicator_window,Time[i],RSI[i],Time[i],0);
      ObjectSetInteger(0,"TLine_1"+i,OBJPROP_RAY_RIGHT,false);
      ObjectSet("TLine_1"+i,OBJPROP_COLOR,Chartreuse);
      ObjectSet("TLine_1"+i,OBJPROP_WIDTH, 7); 
      ObjectSet("TLine_1"+i,OBJPROP_BACK, 1); 
      
      if (i>0 && RSI[i]<30){
       ObjectCreate("Bacardix"+DoubleToStr(i), OBJ_TEXT, indicator_window, Time[i], lower2[i]+80*Point);  
          ObjectSetText("Bacardix"+DoubleToStr(i), "H @"+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i-1)),4),4), 13, "Impact", Blue); 
      }
      if (RSI[i]>lower2[i] && RSI[i+1]<lower2[i+1]){
                  ObjectDelete("TLiney"+DoubleToStr(i+2));
                   ObjectDelete("TLiney"+DoubleToStr(i+1));
                  ObjectCreate("TLiney"+DoubleToStr(i), OBJ_TEXT, indicator_window, Time[i], RSI[i]+5); 
                  ObjectSetText("TLiney"+DoubleToStr(i), "MUST GO LONG", 13, "Impact", Green); 
      }

I was gonna pick a rock and roll theme about don’t stop relieving, insert something about Uri Nation, add a Thoughty2 video about some Owl, but overall it was not really fitting here.

That was me, running after the InterCity train and missing it in a winter coat being filmed for a TV show about dreams in 1992 or 1993. Face distorted by VHS.

Those were the full no-contact days. I know I had my Ford Probe already (paid 1,150,000.00 HUF for it), and I had probably already lost mt 2nd million HUF to a pyramid scheme (you know, there was no crypto back then).

Compulsory Impulses

aka Impuolsury Compulses. There are complementary “The Long Dark Tea Time of the Soul” books by Douglas Adams in the fridge.

This one is about Waves and what I’m thinking in general in my spare time.

I started coloring the lines green if they are occurring in the direction of the wave structure (up) and red downwards, so there are less “yellow/ hiccups” prints that needs further evaluation.
the green filter:
if (RSI2[j]>84 && Low[i]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_LOWER,i)) ObjectSet("LAMBDA"+DoubleToStr(i),OBJPROP_COLOR,clrGreen);

Bare with me please. The Blue Lines represent impulse waves, the whites are the A& C legs of corrective waves.

The impulse waves turn on a single or an extended RSI2 divergence. Zero stands for an extreme RSI2 reading (outside the 30-sample BB as well) and a Mastodon, which is usually an RSI2 print falling sort from the peak reading by 10% or so. The last example made an additional challenge of the Zero-Mastodon trendline and doubled down on the divergence. As you can see, the V bottom (Blue V) reversed the direction of the exhaustion: now the “running out of strength” prints appear on the top. This is a clue about the direction of progression. What an impulse move would fail to do is allow for counter directional volatility to exceed the fluctuation size until things get overheated (e.g. price would already have made it to the other side of the BB).

Now, I do not want you to confuse the wave type with how far the market would get.

This corrective wave traveled 288 pips from the recoil point.

This corrective wave traveled 240 pips.

What I do want you to notice is the recoil move at the beginning coming back awfully closer to the upper BB. As soon as the counter directional volatility exceeds 35 pips, you have a target made based on where the recoil point lands.

No kidding, I have projections all the way to 215 pips out, and only 4 different distance-groups per direction.

if (Low[j]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_LOWER,j)-100*Point)
     {   ObjectCreate(0,"TRIAGE"+IntegerToString(i),OBJ_TRIANGLE,0,Time[i],iLow(symbol,0,j)+1950*Point,Time[i+4],iLow(symbol,0,j)+1950*Point,Time[i+4],iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i)));
            ObjectSetInteger(0,"TRIAGE"+IntegerToString(i),OBJPROP_COLOR,clrGray);  ObjectSetInteger(0,"TRIAGE"+IntegerToString(i),OBJPROP_WIDTH,1); ObjectSetInteger(0,"TRIAGE"+IntegerToString(i),OBJPROP_BACK,1); 
            
            ObjectCreate(0,"TRIAGES"+IntegerToString(i),OBJ_TRIANGLE,0,Time[i],iLow(symbol,0,j)+2050*Point,Time[i+4],iLow(symbol,0,j)+2050*Point,Time[i+4],iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i)));
            ObjectSetInteger(0,"TRIAGES"+IntegerToString(i),OBJPROP_COLOR,clrGray);  ObjectSetInteger(0,"TRIAGES"+IntegerToString(i),OBJPROP_WIDTH,1); ObjectSetInteger(0,"TRIAGES"+IntegerToString(i),OBJPROP_BACK,1); 
       
                ObjectCreate(0,"TRIAGEZ"+IntegerToString(i),OBJ_TRIANGLE,0,Time[i],iLow(symbol,0,j)+2150*Point,Time[i+4],iLow(symbol,0,j)+2150*Point,Time[i+4],iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i)));
            ObjectSetInteger(0,"TRIAGEZ"+IntegerToString(i),OBJPROP_COLOR,clrGray);  ObjectSetInteger(0,"TRIAGEZ"+IntegerToString(i),OBJPROP_WIDTH,1); ObjectSetInteger(0,"TRIAGEZ"+IntegerToString(i),OBJPROP_BACK,1); 
                   
             ObjectCreate("ANGL"+IntegerToString(i), OBJ_TEXT, 0, Time[i],  iLow(symbol,0,j)+1950*Point+38*Point);  
             ObjectSetText("ANGL"+IntegerToString(i),"              c_"+DoubleToString(NormalizeDouble(iLow(symbol,0,j)+1950*Point,4),4), 16, "Impact",  Blue);  
             
             ObjectCreate("ANGLia"+IntegerToString(i), OBJ_TEXT, 0, Time[i],  iLow(symbol,0,j)+2150*Point+38*Point);  
             ObjectSetText("ANGLia"+IntegerToString(i),"               s_"+DoubleToString(NormalizeDouble(iLow(symbol,0,j)+2150*Point,4),4), 16, "Impact",  White);
             
             ObjectCreate("ANGLi"+IntegerToString(i), OBJ_TEXT, 0, Time[i],  iLow(symbol,0,j)+2150*Point+38*Point);  
             ObjectSetText("ANGLi"+IntegerToString(i),"              s_"+DoubleToString(NormalizeDouble(iLow(symbol,0,j)+2150*Point,4),4), 16, "Impact",  Red);
      
          }  

In a case like this (see below), where the recoil leg is printing beyond the first recoil point, the downside projection gets shifted up by a similar amount (i.e. 20 pips higher than the original cover level was projected at) – according to my current thinking.

I believe that the 30-sample BB bottom would get touched on the way. If I’m wrong, you are in a Wave 3 up.

Charging your electric vehicle in a thunderstorm… What could possibly go wrong?

And now for something completely different.

Name’s Neo. Born in Borneo. Nice to greet you.

Béchamel Crucial

Are you wholesome tonight? Love me… pre-tender!

Every bread you bake

Every interest-rate decision you make

I’ll be watching you

Jeromious, they’ve got to know that

Naught-naught Jeromious… was this baked in the price? Would this cause a blockage on the way back?

Should we call the Hungarian Plumber?

What Does It Mean?

Gloomy Windows, Steamy Sunday, what do you mean what does it mean?

We already talked about Cover in OverSold, +90 pips minimum on the upside (max. 210) followed by a lower low with a reversal divergence. The prompt was the 18-sample daily stochastic dipping below 4.5, making it much too oversold for a turn. Now we have put in a weak divergence up yesterday, had a run up to the 9-day EMA and then further softening the divergence – if not on a 2-sample RSI, then on an analogue stochastic reading. These reversal divergences set up the end of an impulse wave. An impulse wave ends on weakness vs a corrective wave that ends in strength.

What does an extension fill mean? When a move is violent enough measured in distance / time, the inertia would likely carry the price to a distance that is proportionate to the trigger move. No Fibonacci anywhere, only a 1.5x multiplier. Once this distance is reached, a turn away is likely to occur due to the dumping into the high likelihood limit. You certainly have a great edge thanks to my presents handed out in the Consistent series.

The brown lines are RSI2 continuation divergences. The Overdrive bands we have discussed already. 2Far means price has gotten too close to the Overdrive. Effect means, price has pierced it. The Q: is the 3-day average ATR. 100.3 pips currently.

You should consider plotting the 9-day EMA on the 4 hour chart in the usual red color (52 sample here) as well as the 20-SMA in the usual blue (120 over here).

What does the gap down mean in a bear market that is not coming off of strength? It means institutions had to sell some futures in the pre-market to hedge off their downside risk (same thing as a gamma squeeze is in the options market), this was an exhaustion gap down and time spent down here would be limited. There’s a new bag holder in town. I know I said this is the end of a move, but all in all this does not mean you are looking at the last leg. An up move should take back to above the E-44 daily first. Again.

What does it mean when there is no-counter directional volatility measurement (recoil) during the wave down (see the leg with the gap down to the purple line (3x fluctuation maximum from the mean / 9-day EMA)) and the leg up back to the mean (Green River = 9-day EMA high to low)? It means that the market is currently printing impulsive moves which end in hourly RSI2 divergences. These two legs together represent a V-bottom.

What does it mean when price first goes outside the Range by 80 degrees and starts printing Magenta?

It means that you have an edge for a fade. If there was a second Magenta block, then you would see an undercut of the low in a No Break Extension manner which means less than a Fluctuation Maximum, namely around 30 pips more before the turn. If price started printing Magenta for a 3rd time, the reversal would be voided.

What does the two reversals mean just beyond the purple lines with the two added purple arrows? They mean that the market is turning after a statistically likely tuning distance of 105 pips from the last swing low/ swing high.

What is Magenta? It is a non-existing color, a trick of your own mind.

What does all this mean? That you may be looking at some of the best edges anywhere that can be utilized for trading the Euro against the Dollar, in particular with the 15-Min ATR Targets Pro Continuous routine.

Another way of spotting a reversal divergence is this: the relative distance to the 9-day EMA decreased with the new low print.

Consistent #4

Lesson 6

Squeeze (Audi TTM cinco)

Your edge always has a volatility factor included. Outside the bands the directional volatility goes into overdrive = Effect – is going to bring on a Counter Effect

Effect in white, Counter Effect in yellow

Inside the bands your volatility edge is the recoil, which is muted counter-directional volatility measured.

The squeeze (of the bands) is the compression of the counter directional volatility to an extreme.

At the head print the direction is already downwards. Remember, you are still looking for at least 35 pips, so 42 is rather muted. Time to get agressive here.
Once the divergent leg is printed, the direction is flipped. In white counter directional move, in yellow the tail.

//squeeze    
   if ((iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_UPPER,i)-iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i))<640*Point)
   {
         ObjectCreate("Rocket"+IntegerToString(i),OBJ_TREND,0, Time[i],iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_UPPER,i),Time[i],iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_UPPER,i)+200*Point);
         ObjectSet("Rocket"+IntegerToString(i),OBJPROP_COLOR,clrViolet);
         ObjectSet("Rocket"+IntegerToString(i),OBJPROP_WIDTH,6);
         ObjectSet("Rocket"+IntegerToString(i),OBJPROP_BACK,1);     
         ObjectSet("Rocket"+IntegerToString(i),OBJPROP_RAY_RIGHT,0);
         
          ObjectCreate("Rockett"+IntegerToString(i),OBJ_TREND,0, Time[i],iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i),Time[i],iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i)-200*Point);
         ObjectSet("Rockett"+IntegerToString(i),OBJPROP_COLOR,clrViolet);
         ObjectSet("Rockett"+IntegerToString(i),OBJPROP_WIDTH,6);
         ObjectSet("Rockett"+IntegerToString(i),OBJPROP_BACK,1);     
         ObjectSet("Rockett"+IntegerToString(i),OBJPROP_RAY_RIGHT,0);
   }

Present #2

#property copyright "Copyright © 2019, Macdulio" 
#property link      "https://forexfore.blog" 
#property description "V1.0"
#property description "Overdrive 240"
#property strict;
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Crimson
#property indicator_color2 Blue
#property indicator_color9 Tan
#define  NL    "\n"
extern int lookback = 135;
extern double zero = 6.0;
extern double hundred = 94.0;
extern double FSize=32;
double FMax = FSize*6/5;
extern bool plot_9_counts = false;
extern bool plot_zero_hundred = false;
extern bool Plot_Whoop_Bam = false;
extern bool plot_Spark_Sones = false;
extern bool plot_polarities = false;
extern bool plot_ricochets = false;
extern bool plot_losing_status = true;
extern bool plot_fluctuation_brackets = false;
extern bool plot_Maroon_fake_outs = true;
extern bool plot_continuation_divergences = true;
extern bool plot_crosses = false;

int underlowguardrail[],abovehighguardrail[]; 
int undercounter[],abovecounter[];
double diff[];
int sample=414;
int       Range_n=34;
int shift = 5;
double ExtMapBuffer[];
double conso[], conso2[];
  double iHi[];
  double iLo[]; 
  double iHi2[];
  double iLo2[];
    double iHi3[];
  double iLo3[];    
    double iHi4[];
  double iLo4[];    
      double iHi5[];
  double iLo5[];  
        double iHi6[];
  double iLo6[];  
double HiBuffer[],LoBuffer[];
double plus[],minus[],vbrl[],vbru[];
double sup[],sdn[],RSI2[],stoch[],stoch9[];
double ExtUpFractalsBuffer[];
double ExtDownFractalsBuffer[];
int fodir[];
double buy[];
double sell[];
double ramp[];
double UR[];
double DR[];
double URE[];
double BE[];
double SE[];
double SE60[];
double BU[];
double BU60[];
  int Hi20[];
  int Lo20[]; 
  double HPR[];
  double LPR[];
  double LCR[];
  double HCR[];
  double bline[];
  double sline[];
  double guardrailu[],guardraild[],guardraildplus[],guardraildminus[],guardrailuminus[],guardrailuplus[];
  double pbrainu[],pbraind[];
   double lowest_price[];
  double highest_price[]; 
  double triu[], trid[];
  int zcount[], hcount[];
  extern int HULL = 33;  
 double brownieup[],browniedn[];
  double brownieup2[],browniedn2[];
  double HighBuffer[],HighBuffer2[];
double LowBuffer[],LowBuffer2[];
double E16PBlue[],E16PBlue2[];
double E16NRed[],E16NRed2[], E16[];
double dt14, db14, pacing;
double downcross[],upcross[];
double downcross2[],upcross2[];
double E32L[],ODU[],ODD[];
int pkdir[];
  double HULLU[], HULLD[], MHULL[], inner[], HU[], HD[];
int init()
  {
  
  
     SetIndexBuffer(0,ODU);
   SetIndexStyle(0,DRAW_LINE,2,4,DarkRed);
   SetIndexLabel(0, "Highest(" + DoubleToStr(Range_n,0)+")");

   SetIndexBuffer(1,ODD);
   SetIndexStyle(1,DRAW_LINE,2,4,DarkGreen);
   SetIndexLabel(1, "Lowest(" + DoubleToStr(Range_n,0)+")");
  
   
  
//----
   return(0);
  }


int start()
  {
   int    i,i2,j,j2 ;     
  

  double xHi[];
  double xLo[];  
  int SPRD[];  
   
  
  string symbol = Symbol();
   ArrayResize(E32L, Bars);
  ArrayInitialize(E32L,0);  
         ArrayResize(ODU, Bars);  
  ArrayInitialize(ODU, EMPTY_VALUE);   

    ArrayResize(ODD, Bars);  
  ArrayInitialize(ODD, EMPTY_VALUE);   
  
  ArrayResize(fodir, 300);
ArrayInitialize(fodir, 0);  
  ArrayResize(E16, 500);   
ArrayInitialize(E16, EMPTY_VALUE); 
  ArrayResize(E16PBlue, Bars);   
ArrayInitialize(E16PBlue, EMPTY_VALUE); 
 ArrayResize(E16NRed, Bars);   
ArrayInitialize(E16NRed, EMPTY_VALUE); 
  ArrayResize(plus, 500);   
ArrayInitialize(plus, EMPTY_VALUE); 
ArrayResize(minus, 500);   
ArrayInitialize(minus, EMPTY_VALUE);
ArrayResize(downcross, 500);   
ArrayInitialize(downcross, EMPTY_VALUE);
ArrayResize(upcross, 500);   
ArrayInitialize(upcross, EMPTY_VALUE);
ArrayResize(downcross2, 500);   
ArrayInitialize(downcross2, EMPTY_VALUE);
ArrayResize(upcross2, 500);   
ArrayInitialize(upcross2, EMPTY_VALUE);
 ArrayResize(brownieup, 202);   
ArrayInitialize(brownieup, EMPTY_VALUE);
ArrayResize(browniedn, 202);   
ArrayInitialize(browniedn, EMPTY_VALUE);
 ArrayResize(brownieup2, 202);   
ArrayInitialize(brownieup2, EMPTY_VALUE);
ArrayResize(browniedn2, 202);   
ArrayInitialize(browniedn2, EMPTY_VALUE);
  ArrayResize(vbru, 200);   
ArrayInitialize(vbru, EMPTY_VALUE);
ArrayResize(vbrl, 200);   
ArrayInitialize(vbrl, EMPTY_VALUE);
  ArrayResize(buy, Bars);
  ArrayResize(sell, Bars);
  ArrayResize(ramp, Bars);
  ArrayInitialize(buy, 0);
  ArrayInitialize(sell, 0);
  ArrayInitialize(ramp, 0);      
  ArrayResize(iHi, Bars);
  ArrayResize(iLo, Bars);
  ArrayInitialize(iHi, EMPTY_VALUE);
  ArrayInitialize(iLo, EMPTY_VALUE);
  ArrayResize(iHi2, Bars);
  ArrayResize(iLo2, Bars);
  ArrayInitialize(iHi2, EMPTY_VALUE);
  ArrayInitialize(iLo2, EMPTY_VALUE);     
  ArrayResize(iHi3, Bars);
  ArrayResize(iLo3, Bars);
  ArrayInitialize(iHi3, EMPTY_VALUE);
  ArrayInitialize(iLo3, EMPTY_VALUE);   
    ArrayResize(iHi4, Bars);
  ArrayResize(iLo4, Bars);
  ArrayInitialize(iHi4, EMPTY_VALUE);
  ArrayInitialize(iLo4, EMPTY_VALUE);     
   ArrayResize(iHi5, Bars);
  ArrayResize(iLo5, Bars);
  ArrayInitialize(iHi5, EMPTY_VALUE);
  ArrayInitialize(iLo5, EMPTY_VALUE);   
   ArrayResize(iHi6, Bars);
  ArrayResize(iLo6, Bars);
  ArrayInitialize(iHi6, EMPTY_VALUE);
  ArrayResize(diff, Bars);
  ArrayInitialize(diff, EMPTY_VALUE);  
  ArrayInitialize(iLo6, EMPTY_VALUE);          
  ArrayResize(xHi, Bars);
  ArrayResize(xLo, Bars);
  ArrayInitialize(xHi, 0);
  ArrayInitialize(xLo, 0);   
  ArrayResize(UR, Bars); 
  ArrayInitialize(UR, 0);    
  ArrayResize(DR, Bars); 
  ArrayInitialize(DR, 0);       
  ArrayResize(URE, Bars); 
  ArrayInitialize(URE, 0);
  ArrayResize(SE, Bars); 
  ArrayInitialize(SE, 0);  
  ArrayResize(BE, Bars); 
  ArrayInitialize(BE, 0);   
  ArrayResize(BU, Bars); 
  ArrayInitialize(BU, 0);     
  ArrayResize(SE60, Bars); 
  ArrayInitialize(SE60, 0);      
  ArrayResize(BU60, Bars); 
  ArrayInitialize(BU60, 0);     
  ArrayResize(SPRD, Bars); 
  ArrayInitialize(SPRD, 0);    
  ArrayResize(Hi20, Bars);
  ArrayResize(Lo20, Bars);
  ArrayInitialize(Hi20, 0);
  ArrayInitialize(Lo20, 0);       
   
  ArrayResize(LPR, Bars); 
  ArrayInitialize(LPR, 0); 
  ArrayResize(HPR, Bars); 
  ArrayInitialize(HPR, 0); 
  
  
  ArrayResize(LCR, Bars); 
  ArrayInitialize(LCR, 0); 
  ArrayResize(HCR, Bars); 
  ArrayInitialize(HCR, 0);
  ArrayResize(ExtUpFractalsBuffer, Bars);   
 ArrayInitialize(ExtUpFractalsBuffer, EMPTY_VALUE);  
  ArrayResize(ExtDownFractalsBuffer, Bars);   
 ArrayInitialize(ExtDownFractalsBuffer, EMPTY_VALUE);  
  
  ArrayResize(bline, Bars); 
  ArrayInitialize(bline, 0); 
  ArrayResize(sline, Bars); 
  ArrayInitialize(sline, 0); 
  ArrayResize(ExtMapBuffer, Bars); 
  ArrayInitialize(ExtMapBuffer, 0); 
  
    ArrayResize(HighBuffer, Bars); 
  ArrayInitialize(HighBuffer, EMPTY_VALUE);   
      ArrayResize(LowBuffer, Bars); 
  ArrayInitialize(LowBuffer, EMPTY_VALUE); 
     ArrayResize(HighBuffer2, Bars); 
  ArrayInitialize(HighBuffer2, EMPTY_VALUE);   
      ArrayResize(LowBuffer2, Bars); 
  ArrayInitialize(LowBuffer2, EMPTY_VALUE); 
  
    ArrayResize(guardrailu, Bars); 
  ArrayInitialize(guardrailu, EMPTY_VALUE);   
   ArrayResize(guardraild, Bars); 
  ArrayInitialize(guardraild, EMPTY_VALUE);  
    ArrayResize(guardraildplus, Bars); 
  ArrayInitialize(guardraildplus, EMPTY_VALUE);   
     ArrayResize(guardraildminus, Bars); 
  ArrayInitialize(guardraildminus, EMPTY_VALUE);  
     ArrayResize(guardrailuplus, Bars); 
  ArrayInitialize(guardrailuplus, EMPTY_VALUE);   
     ArrayResize(guardrailuminus, Bars); 
  ArrayInitialize(guardrailuminus, EMPTY_VALUE);   
  ArrayResize(conso, Bars); 
  ArrayInitialize(conso, EMPTY_VALUE);   
   ArrayResize(conso2, Bars); 
  ArrayInitialize(conso2, EMPTY_VALUE);  
      ArrayResize(HU, Bars); 
  ArrayInitialize(HU, EMPTY_VALUE);   
   ArrayResize(HD, Bars); 
  ArrayInitialize(HD, EMPTY_VALUE);   
    ArrayResize(HULLU, Bars); 
  ArrayInitialize(HULLU, EMPTY_VALUE);   
   ArrayResize(HULLD, Bars); 
  ArrayInitialize(HULLD, EMPTY_VALUE);  
    ArrayResize(MHULL, Bars); 
  ArrayInitialize(MHULL, EMPTY_VALUE);  
      ArrayResize(inner, Bars); 
  ArrayInitialize(inner, EMPTY_VALUE);  
 ArrayResize(sup, 500);   
ArrayInitialize(sup, 0); 
 ArrayResize(zcount, 500);   
ArrayInitialize(zcount, 0); 
 ArrayResize(hcount, 500);   
ArrayInitialize(hcount, 0); 
ArrayResize(sdn, 500);   
ArrayInitialize(sdn, 0); 
ArrayResize(RSI2, Bars);
ArrayInitialize(RSI2, 0);
ArrayResize(stoch, Bars);
ArrayInitialize(stoch, 0);      
ArrayResize(stoch9, Bars);
ArrayInitialize(stoch9, 0); 
ArrayResize(pkdir, Bars);
ArrayInitialize(pkdir, 0);
 ArrayResize(undercounter, 500);   
ArrayInitialize(undercounter, 0); 
 ArrayResize(abovecounter, 500);   
ArrayInitialize(abovecounter, 0); 

 ArrayResize(underlowguardrail, 500);   
ArrayInitialize(underlowguardrail, 0); 
 ArrayResize(abovehighguardrail, 500);   
ArrayInitialize(abovehighguardrail, 0); 
//--------------------------------------------------------------------

//  highest_price[0] =  High[iHighest(NULL, 0, MODE_HIGH, 3,1)];
//   lowest_price[0] =  Low[iLowest(NULL, 0, MODE_LOW, 3,1)];

int o,n;

deletetxt1("OverDrive");

for(i = lookback-32; i >= 0; i--){     
   E16NRed[i]=EMPTY_VALUE;
   E16PBlue[i]=EMPTY_VALUE;
   
   E32L[i]=iMA(NULL,0,8,0,MODE_EMA, 1,i);
   
      ODU[i]=E32L[i]+FMax*23.5*Point;
  ODD[i]=E32L[i]-FMax*22.5*Point;
   
   
   
      if (i>0 && Low[i-1]>Low[i] && Low[i]<(E32L[i]-(ODU[i]+50*Point-ODD[i])/100*42) ){
    // Low[i]<ODU[i]+50*Point-(ODU[i]+50*Point-ODD[i])/100*95      
          ObjectCreate("OverDrive2FarTT"+DoubleToStr(i), OBJ_TEXT, 0, Time[iLowest(symbol,0,MODE_LOW,4,i)], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i))-70*Point); 
          ObjectSetText("OverDrive2FarTT"+DoubleToStr(i), " 2Far "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i)),4),4)+"    ", 15, "Impact",  White);
          
           ObjectCreate("OverDrive2Far"+DoubleToStr(i), OBJ_TEXT, 0, Time[iLowest(symbol,0,MODE_LOW,4,i)], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i))-70*Point); 
          ObjectSetText("OverDrive2Far"+DoubleToStr(i), "2Far "+DoubleToString(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i)),4),4)+"    ", 14, "Impact",  DarkGreen);
          
         if (Low[i]<ODD[i]-50*Point){ 
          
          ObjectCreate("OverDrive2FarTTT"+DoubleToStr(i), OBJ_TEXT, 0, Time[iLowest(symbol,0,MODE_LOW,4,i)], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i))-170*Point); 
          ObjectSetText("OverDrive2FarTTT"+DoubleToStr(i), " EFFECT", 15, "Impact",  White);
          
           ObjectCreate("OverDrive2FarXZ"+DoubleToStr(i), OBJ_TEXT, 0, Time[iLowest(symbol,0,MODE_LOW,4,i)], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i))-170*Point); 
          ObjectSetText("OverDrive2FarXZ"+DoubleToStr(i), "EFFECT", 14, "Impact",  DarkGreen);
    
          }
    
    //was 76      
        if (Low[i-1]>Low[i] && Low[i+1]>Low[i] ){  
          ObjectCreate("OverDrive2FarX"+DoubleToStr(i), OBJ_TEXT, 0, Time[iLowest(symbol,0,MODE_LOW,4,i)], iMA(symbol,0,18,0,MODE_EMA, PRICE_LOW,i)); 
          ObjectSetText("OverDrive2FarX"+DoubleToStr(i), "T2->0L~"+DoubleToString(NormalizeDouble(iMA(symbol,0,18,0,MODE_EMA, PRICE_LOW,i),4),4)+"    ", 14, "Impact",  Black);
    }}
    
    if (High[i]>(E32L[i]+(ODU[i]+50*Point-ODD[i])/100*42) && i>0 && High[i-1]<High[i]  && High[i]>High[i+1]){
    //&& Close[i]<ODU[i]+50*Point-(ODU[i]+50*Point-ODD[i])/100*8 
    
        ObjectCreate("OverDrive2FarZT"+DoubleToStr(i), OBJ_TEXT, 0, Time[iHighest(symbol,0,MODE_HIGH,4,i)], iHigh(symbol,0,iHighest(symbol,0,MODE_LOW,4,i))+70*Point); 
          ObjectSetText("OverDrive2FarZT"+DoubleToStr(i), "  2Far "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_LOW,4,i)),4),4)+"                         ", 14, "Impact",  White);
    
          ObjectCreate("OverDrive2FarZ"+DoubleToStr(i), OBJ_TEXT, 0, Time[iHighest(symbol,0,MODE_HIGH,4,i)], iHigh(symbol,0,iHighest(symbol,0,MODE_LOW,4,i))+70*Point); 
          ObjectSetText("OverDrive2FarZ"+DoubleToStr(i), "2Far "+DoubleToString(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_LOW,4,i)),4),4)+"                         ", 14, "Impact",  Maroon);
    
    if (High[i]>ODU[i]+50*Point){
    
    ObjectCreate("OverDrive2FarZTT"+DoubleToStr(i), OBJ_TEXT, 0, Time[iHighest(symbol,0,MODE_HIGH,4,i)], iHigh(symbol,0,iHighest(symbol,0,MODE_LOW,4,i))+130*Point); 
          ObjectSetText("OverDrive2FarZTT"+DoubleToStr(i), "  EFFECT", 14, "Impact",  White);
    
          ObjectCreate("OverDrive2FarZX"+DoubleToStr(i), OBJ_TEXT, 0, Time[iHighest(symbol,0,MODE_HIGH,4,i)], iHigh(symbol,0,iHighest(symbol,0,MODE_LOW,4,i))+130*Point); 
          ObjectSetText("OverDrive2FarZX"+DoubleToStr(i), "EFFECT", 14, "Impact",  Maroon);
    }
    
    ///was 76      
        if (High[i-1]<High[i] && High[i+1]<High[i] ){     
              ObjectCreate("OverDrive2FarX"+DoubleToStr(i), OBJ_TEXT, 0, Time[iLowest(symbol,0,MODE_LOW,4,i)], iMA(symbol,0,18,0,MODE_EMA, PRICE_HIGH,i)); 
          ObjectSetText("OverDrive2FarX"+DoubleToStr(i), "T2->0L~"+DoubleToString(NormalizeDouble(iMA(symbol,0,18,0,MODE_EMA, PRICE_HIGH,i),4),4)+"    ", 14, "Impact",  Black);
    }}
   

if ( iMA(symbol,60,67,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,60,207,0,MODE_EMA, PRICE_CLOSE,i) && iMA(symbol,60,30,0,MODE_SMA, PRICE_CLOSE,i)<iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && High[i]<iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)+30*Point ) 
   E16NRed[i]=(iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)-15*Point);

else if (iMA(symbol,60,30,0,MODE_SMA, PRICE_CLOSE,i)<iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && Low[i]>iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)-30*Point ) 
   E16PBlue[i]=(iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)+15*Point); 

else if (iMA(symbol,60,67,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,i) && iMA(symbol,60,16,0,MODE_SMA, PRICE_CLOSE,i)>iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)>iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && Low[i]>iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)-30*Point ) 
   E16PBlue[i]=(iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)+15*Point);

else if (iMA(symbol,60,67,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,i) && iMA(symbol,60,30,0,MODE_SMA, PRICE_CLOSE,i)>iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)>iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && High[i]<iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)+30*Point ) 
   E16NRed[i]=(iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)-15*Point);


if (iMA(symbol,60,67,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,60,207,0,MODE_EMA, PRICE_CLOSE,i) && iMA(symbol,60,30,0,MODE_SMA, PRICE_CLOSE,i)<iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && High[i]<iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)+30*Point ) 
   E16NRed[i]=(iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)-15*Point);
}




 brownieup[1]=1000;
 browniedn[1]=0.01;


i=200;

while (i>0){
browniedn[i]=browniedn[i+1];
browniedn2[i]=browniedn2[i+1];
brownieup[i]=brownieup[i+1];
brownieup2[i]=brownieup2[i+1];
if (E16PBlue[i+3]==EMPTY_VALUE && E16NRed[i+3]==EMPTY_VALUE ){
if (MathAbs(High[i]-iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i))>MathAbs(Low[i]-iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i)))  {
n=i+1;  
   while (n<201){
      if ( Low[n]<iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,n) && Low[n]< Low[n-1] &&  Low[n]< Low[n+1] &&  Low[n]< Low[n+2]) break;
      n++;
   }   
if (n<201) {brownieup[i]=brownieup2[i]=Low[n]+FSize*6/5*10*Point+20*Point;}}

else if (MathAbs(High[i]-iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i))<MathAbs(Low[i]-iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,i))) {
o=i+1;  
   while (o<Bars){
      if (High[o]>iMA(symbol,60,16,0,MODE_EMA, PRICE_CLOSE,o) && High[o]>High[o-1] && High[o]>High[o+1] && High[o]>High[o+2]) break;
      o++;
   }
if (o<201) {browniedn[i]=browniedn2[i]=High[o]-FSize*6/5*10*Point-20*Point;}}
}


i--;
}


dt14 = iHigh(symbol,240,iHighest(symbol,240,MODE_HIGH,1590));
db14 = iLow(symbol,240,iLowest(symbol,240,MODE_LOW,1590));
pacing = (dt14-db14)*.1;

bool embeddedoversold = (iClose(symbol,1440,1)<db14+2*pacing && iClose(symbol,1440,2)<db14+2*pacing && iClose(symbol,1440,3)<db14+2*pacing);
bool embeddedoverbought = (iClose(symbol,1440,1)>dt14-2*pacing && iClose(symbol,1440,2)>dt14-2*pacing && iClose(symbol,1440,3)>dt14-2*pacing);

 datetime UpFractalTime_1,LowFractalTime_1,UpFractalTime_2,LowFractalTime_2,    UFT2, LFT2;
string addon;
if (embeddedoversold) addon = "-";
else if (embeddedoverbought) addon = "+";
else addon = "0";

int    nCountedBars,  bar;
   bool   bFound;
   double dCurrent;
   nCountedBars=IndicatorCounted();
//---- last counted bar will be recounted    
   if(nCountedBars<=2)
      i=Bars-nCountedBars-3;
   if(nCountedBars>2)
     {
      nCountedBars--;
      i=500;
     }
//----Up and Down Fractals
   while(i>=2)
     {
      //----Fractals up
      bFound=false;
      dCurrent=High[i];
      if(dCurrent>High[i+1]  && dCurrent>High[i-1] && dCurrent>High[i-2])
       //&& dCurrent>High[i+2]
        {
         bFound=true;
         ExtUpFractalsBuffer[i]=dCurrent;
        }
      //----6 bars Fractal
      if(!bFound && (Bars-i-1)>=3)
        {
         if(dCurrent==High[i+1] && dCurrent>High[i+2]  
         //&& dCurrent>High[i+3]
            && dCurrent>High[i-1] && dCurrent>High[i-2])
           {
            bFound=true;
            ExtUpFractalsBuffer[i]=dCurrent;
           }
        }        
      //----7 bars Fractal
      if(!bFound && (Bars-i-1)>=4)
        {  
         if(dCurrent>=High[i+1]  && dCurrent>High[i+3] && dCurrent>High[i+4] &&  dCurrent==High[i+2]
            && dCurrent>High[i-1] && dCurrent>High[i-2])
           {
            bFound=true;
            ExtUpFractalsBuffer[i]=dCurrent;
           }
        }  
      //----8 bars Fractal                          
      if(!bFound && (Bars-i-1)>=5)
        {  
         if(dCurrent>=High[i+1] && dCurrent==High[i+2] && dCurrent==High[i+3] && dCurrent>High[i+4]  &&
         
        //&& dCurrent>High[i+5]
            dCurrent>High[i-1] && dCurrent>High[i-2])
           {
            bFound=true;
            ExtUpFractalsBuffer[i]=dCurrent;
           }
        }
      //----9 bars Fractal                                        
      if(!bFound && (Bars-i-1)>=6)
        {  
         if(dCurrent>=High[i+1] && dCurrent==High[i+2] && dCurrent>=High[i+3] && dCurrent==High[i+4] && dCurrent>High[i+5]  && dCurrent>High[i-1] && dCurrent>High[i-2])
           //&&             dCurrent>High[i+6]
           {
            bFound=true;
            ExtUpFractalsBuffer[i]=dCurrent;
           }
        }                                    
      //----Fractals down
      bFound=false;
      dCurrent=Low[i];
      if(dCurrent<Low[i+1]  && dCurrent<Low[i-1] && dCurrent<Low[i-2])
        //&& dCurrent<Low[i+2]
        {
         bFound=true;
         ExtDownFractalsBuffer[i]=dCurrent;
        }
      //----6 bars Fractal
      if(!bFound && (Bars-i-1)>=3)
        {
         if(dCurrent==Low[i+1] && dCurrent<Low[i+2]  &&
            dCurrent<Low[i-1] && dCurrent<Low[i-2])
           //&& dCurrent<Low[i+3]
           {
            bFound=true;
            ExtDownFractalsBuffer[i]=dCurrent;
           }                      
        }        
      //----7 bars Fractal
      if(!bFound && (Bars-i-1)>=4)
        {  
         if(dCurrent<=Low[i+1] && dCurrent==Low[i+2] && dCurrent<Low[i+3]  &&
            dCurrent<Low[i-1] && dCurrent<Low[i-2])
          //&& dCurrent<Low[i+4]  
           {
            bFound=true;
            ExtDownFractalsBuffer[i]=dCurrent;
           }                      
        }  
      //----8 bars Fractal                          
      if(!bFound && (Bars-i-1)>=5)
        {  
         if(dCurrent<=Low[i+1] && dCurrent==Low[i+2] && dCurrent==Low[i+3] && dCurrent<Low[i+4]  &&
            dCurrent<Low[i-1] && dCurrent<Low[i-2])
           //&& dCurrent<Low[i+5] 
           {
            bFound=true;
            ExtDownFractalsBuffer[i]=dCurrent;
           }                      
        }
      //----9 bars Fractal                                        
      if(!bFound && (Bars-i-1)>=6)
        {  
         if(dCurrent<=Low[i+1] && dCurrent==Low[i+2] && dCurrent<=Low[i+3] && dCurrent==Low[i+4] && dCurrent<Low[i+5]  && dCurrent<Low[i-1] && dCurrent<Low[i-2])
           //&&             dCurrent<Low[i+6]
           {
            bFound=true;
            ExtDownFractalsBuffer[i]=dCurrent;
           }                      
        }                                    
      i--;
     }

for (i = 300 ; i >= 0; i--){ 
   RSI2[i]=iRSI(symbol,0,2,PRICE_MEDIAN,i);
   stoch[i]=iStochastic(symbol,0,8,3,3,MODE_SMA,1,MODE_SIGNAL,i);
   E16[i]=iMA(NULL,0,32,0,MODE_EMA, PRICE_CLOSE,i);
   stoch9[i]=iStochastic(symbol,0,9,3,3,MODE_SMA,1,MODE_MAIN,i);
  diff[i] = 100 - (75 - (stoch9[i] - (88 - ChoppinessIndex(14,i)))) * .8;
}   



for (i=240; i>=1; i--){

if(stoch[i+1]<23 && RSI2[i+1]<16  && RSI2[i+3]>5 && !(stoch[i]<5 && RSI2[i]<5)&& 
ExtDownFractalsBuffer[i+1]!=EMPTY_VALUE) sdn[i+1]=iLow(symbol,30,i+1); 
if(stoch[i+1]<23 && RSI2[i+1]<16  && !(stoch[i]<5 && RSI2[i]<5)&& 
ExtDownFractalsBuffer[i+1]!=EMPTY_VALUE)sdn[i+1]=iLow(symbol,30,i+1); 
if(stoch[i+1]<44 && stoch[i+1]>5 && RSI2[i+1]>5 && !(stoch[i]>15 && RSI2[i]>15) && 
ExtDownFractalsBuffer[i+1]!=EMPTY_VALUE) sdn[i+1]=iLow(symbol,30,i+1);
if(stoch[i+1]<5 && RSI2[i+1]<5 && !(stoch[i]>15 && RSI2[i]>15) && 
ExtDownFractalsBuffer[i+1]!=EMPTY_VALUE) sdn[i+1]=iLow(symbol,30,i+1);
if( ((stoch[i+1]>64 && stoch[i]<85 && RSI2[i+2]>85) ||  (stoch[i+1]>72 && stoch[i+1]<75 )  ||  (stoch[i]>44 && stoch[i+1]<35 && stoch[i-1]<44  && RSI2[i+1]>85 )) && RSI2[i+1]>70 && !(stoch[i-1]>95 && RSI2[i-1]>95) && 
ExtUpFractalsBuffer[i+1]!=EMPTY_VALUE && !sup[i+2]) sup[i+1]=iHigh(symbol,30,i+1);
if(stoch[i+1]>64 && stoch[i+2]<64 && RSI2[i+1]>85 && !(stoch[i]>70 && RSI2[i]>95) && 
ExtUpFractalsBuffer[i+2]!=EMPTY_VALUE && !sup[i+2]) sup[i+1]=iHigh(symbol,30,i+1);
if(stoch[i+1]>85 && RSI2[i+1]>85 && !(stoch[i]>85 && RSI2[i]>95) &&  
ExtUpFractalsBuffer[i+1]!=EMPTY_VALUE && !sup[i+2]) sup[i+1]=iHigh(symbol,30,i+1);
        
minus[i]=minus[i+1];
plus[i]=plus[i+1];     

     if (sdn[i+1]!=0) minus[i]=Low[i+1]-110*Point+FSize/2*10*Point;
     if (sup[i+1]!=0) plus[i]=High[i+1]+100*Point-FSize/2*10*Point; 

if (plot_crosses){

if (diff[i]<63 && diff[i+1]>63 && ChoppinessIndex(14,i)>34 && Period()==30 && iStochastic(symbol,0,9,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)<80) {downcross[i]=High[i]+40*Point; downcross2[i]=High[i]+40*Point;}
//&& High[i]> )
if (diff[i]>34 && diff[i+1]<34 && ChoppinessIndex(14,i)>34 && Period()==30 && iStochastic(symbol,0,9,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)>20) {upcross[i]=Low[i]-40*Point; upcross2[i]=Low[i]-40*Point;}
}

}

deletetxt1("Meat");         
         
     if (plot_Maroon_fake_outs){
              
     for (i = 200 ; i >= 1; i--) {
     
        
        if ( Low[i+1]<iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i+1) &&  Low[i+1]>iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i+1)-FSize/2*10*Point && Low[i]>iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i) && Low[i+6]>iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i+6)  )  { 
        ObjectCreate("Meat"+DoubleToStr(i)+DoubleToStr(2), OBJ_ELLIPSE, 0, Time[i+2], iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i+1), Time[i], Low[i+1]);
        ObjectSetInteger(0,"Meat"+DoubleToStr(i)+DoubleToStr(2),OBJPROP_COLOR,clrPink);
        ObjectSetDouble(0,"Meat"+DoubleToStr(i)+DoubleToStr(2),OBJPROP_SCALE,.045);
        ObjectSet("Meat"+DoubleToStr(i)+DoubleToStr(2),OBJPROP_WIDTH,8);
        
        
        ObjectCreate("Meat"+DoubleToStr(i), OBJ_ELLIPSE, 0, Time[i+2], iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i+1), Time[i], Low[i+1]);
        ObjectSetInteger(0,"Meat"+DoubleToStr(i),OBJPROP_COLOR,clrLime);
         ObjectSetDouble(0,"Meat"+DoubleToStr(i),OBJPROP_SCALE,.045);
        ObjectSet("Meat"+DoubleToStr(i),OBJPROP_BACK,0);
        ObjectSet("Meat"+DoubleToStr(i),OBJPROP_WIDTH,8);
        
                           ObjectCreate(0,"MeatV"+DoubleToStr(i),OBJ_TEXT,0,Time[i+5],iLow(symbol,0,iLowest(symbol,0,MODE_LOW,6,i))-20*Point);
       ObjectSetText("MeatV"+DoubleToStr(i), "CL-Breaks:"+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,6,i))-30*Point,4),4), 12, "Impact", Maroon);  
        }
        
        
  //      if ( High[i+1]>iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+1) &&  High[i+1]<(iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+1)+FSize*20*Point) && High[i]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i) && High[i+6]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+6)  )  { 
  //      ObjectCreate("Meat"+DoubleToStr(i)+DoubleToStr(1), OBJ_ELLIPSE, 0, Time[i+4], iMA(NULL,0,135,0,MODE_EMA, PRICE_HIGH,i+1), Time[i], High[i+1]);
  //      ObjectSetInteger(0,"Meat"+DoubleToStr(i)+DoubleToStr(1),OBJPROP_COLOR,clrPink);
  //      ObjectSetDouble(0,"Meat"+DoubleToStr(i)+DoubleToStr(1),OBJPROP_SCALE,.045);
  //      ObjectSet("Meat"+DoubleToStr(i)+DoubleToStr(1),OBJPROP_WIDTH,8);
        
  //      ObjectCreate("Meat"+DoubleToStr(i)+DoubleToStr(3), OBJ_ELLIPSE, 0, Time[i+2],  iMA(NULL,0,135,0,MODE_EMA, PRICE_HIGH,i+1), Time[i], High[i+1]);
  //      ObjectSetInteger(0,"Meat"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_COLOR,clrCrimson);
  //       ObjectSetDouble(0,"Meat"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_SCALE,.045);
  //      ObjectSet("Meat"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_BACK,0);
  //      ObjectSet("Meat"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_WIDTH,8);
  //      }
        
        
           if ( High[i-1]<High[i] && High[i+2]<High[i+1] && High[i+3]<High[i+2]  && High[i+1]>iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+1) &&  High[i+1]<(iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+1)+FSize*10*Point) && Low[i-1]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i-1) && High[i+6]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+6)  && High[i+7]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+7) && High[i+8]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+8) && High[i+9]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+9) && High[i+10]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+10) && High[i+11]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+11) )  { 
        ObjectCreate("Meat"+DoubleToStr(i)+DoubleToStr(1), OBJ_ELLIPSE, 0, Time[i+2], iMA(NULL,0,135,0,MODE_EMA, PRICE_HIGH,i+1), Time[i], High[i+1]);
        ObjectSetInteger(0,"Meat"+DoubleToStr(i)+DoubleToStr(1),OBJPROP_COLOR,clrPink);
        ObjectSetDouble(0,"Meat"+DoubleToStr(i)+DoubleToStr(1),OBJPROP_SCALE,.045);
        ObjectSet("Meat"+DoubleToStr(i)+DoubleToStr(1),OBJPROP_WIDTH,8);
        
        ObjectCreate("Meat"+DoubleToStr(i)+DoubleToStr(3), OBJ_ELLIPSE, 0, Time[i+2],  iMA(NULL,0,135,0,MODE_EMA, PRICE_HIGH,i+1), Time[i], High[i+1]);
        ObjectSetInteger(0,"Meat"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_COLOR,clrTomato);
         ObjectSetDouble(0,"Meat"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_SCALE,.045);
        ObjectSet("Meat"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_BACK,0);
        ObjectSet("Meat"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_WIDTH,8);
        
                     ObjectCreate(0,"MeatV"+DoubleToStr(i),OBJ_TEXT,0,Time[i+5],iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,6,i))+70*Point);
       ObjectSetText("MeatV"+DoubleToStr(i), "CL-Breaks:"+DoubleToStr(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,6,i))+30*Point,4),4), 12, "Impact", DarkGreen);  
        }
         
        }
}



deletetxt1("Rack");
deletetxt1("Silow");
if (Period()<=1440) {
   for (i = lookback ; i >= 0; i--) {
   
  
   iHi[i]=EMPTY_VALUE;
   iLo[i]=EMPTY_VALUE;
   guardrailu[i] = EMPTY_VALUE;
   guardraild[i] = EMPTY_VALUE;
   
   inner[i]=EMPTY_VALUE;
   HU[i]=EMPTY_VALUE;
   HD[i]=EMPTY_VALUE;
   
   
//     highest_price[i] =  iHigh(NULL,0,iHighest(NULL, 0, MODE_HIGH, 2,i+3));
 //  lowest_price[i] =  iLow(NULL,0,iLowest(NULL, 0, MODE_LOW, 2,i+3));
    if (i<lookback) iHi[i]=iMA(NULL,0,414,0,MODE_EMA, PRICE_HIGH,i);
    if (i<lookback) iLo[i]=iMA(NULL,0,414,0,MODE_EMA, PRICE_LOW,i);
    if (i<lookback) iHi2[i]=iMA(NULL,0,828,0,MODE_EMA, PRICE_HIGH,i);
    if (i<lookback) iLo2[i]=iMA(NULL,0,828,0,MODE_EMA, PRICE_LOW,i);
 if (i<lookback) iHi3[i]=iMA(NULL,0,sample*48,0,MODE_EMA, PRICE_HIGH,i);
    if (i<lookback) iLo3[i]=iMA(NULL,0,sample*48,0,MODE_EMA, PRICE_LOW,i);
     if (i<lookback) iHi4[i]=iMA(NULL,0,207,0,MODE_EMA, PRICE_HIGH,i);
    if (i<lookback) iLo4[i]=iMA(NULL,0,207,0,MODE_EMA, PRICE_LOW,i);

     if (i<lookback) iHi5[i]=iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i);
    if (i<lookback) iLo5[i]=iMA(NULL,0,67,0,MODE_EMA, PRICE_LOW,i);
    
        if (i<lookback) iHi6[i]=iMA(NULL,0,sample*8,0,MODE_EMA, PRICE_HIGH,i);
    if (i<lookback) iLo6[i]=iMA(NULL,0,sample*8,0,MODE_EMA, PRICE_LOW,i);
    
   if (Period()==60){ 
    
   guardrailu[i] =iMA(NULL,240,52,0,MODE_EMA, PRICE_HIGH,i)+FMax*10*Point;
   guardraild[i] =iMA(NULL,240,52,0,MODE_EMA, PRICE_LOW,i)-FMax*10*Point;
   
   }
   
   if (Period()==30){ 
            
    guardrailu[i] =  iMA(symbol,240,52,0,MODE_EMA, PRICE_HIGH,i)+FMax*10*Point;
    
    guardraild[i] =  iMA(symbol,240,52,0,MODE_EMA, PRICE_LOW,i)-FMax*10*Point;
    
     guardraildplus[i] =  guardraild[i]+90*Point;
     guardraildminus[i] =  guardraild[i]-90*Point;
    
     guardrailuplus[i] =  guardrailu[i]+90*Point;
     guardrailuminus[i] =  guardrailu[i]-90*Point;
    
    
    pbrainu[i] =  iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,i)+3*FMax*10*Point;
    pbraind[i] =  iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i)-3*FMax*10*Point;
    
 triu[i] =  iMA(symbol,240,52,0,MODE_EMA, PRICE_HIGH,i)+5*FMax*10*Point;
    trid[i] =  iMA(symbol,240,52,0,MODE_EMA, PRICE_LOW,i)-5*FMax*10*Point;}


if (i<200){
//Low[i+9]<minus[i+9] && Low[i+8]<minus[i+8] && Low[i+7]<minus[i+7] && 
          if (Low[i+6]<minus[i+6] && Low[i+5]<minus[i+5] && Low[i+4]<minus[i+4] && Low[i+3]<minus[i+3]  && Low[i+2]<minus[i+2] && iLow(symbol,0,i+1)>minus[i+1] && i>=1 ){
           if (iLow(symbol,0,i+2)<minus[i+2]) if (plot_losing_status){ {ObjectCreate("Rack"+i, OBJ_RECTANGLE, 0, Time[i+2], Low[i+1], Time[i], iLow(Symbol(),0,iLowest(Symbol(),0,MODE_LOW,8,i+2)));
           ObjectSet("Rack"+i,OBJPROP_BACK,1);
            ObjectSetInteger(0,"Rack"+i,OBJPROP_COLOR,clrGreen); } fodir[i]=1; }}
//High[i+8]>plus[i+8] && High[i+7]>plus[i+7] &&                  
              if ( High[i+6]>plus[i+6] && High[i+5]>plus[i+5] && High[i+4]>plus[i+4] && High[i+3]>plus[i+3] && High[i+2]>plus[i+2] && High[i+3]>plus[i+3] && High[i+2]>plus[i+2] && iHigh(symbol,0,i+1)<plus[i+1] && i>=1 ){
         if (iHigh(symbol,0,i+2)>plus[i+2])if (plot_losing_status){ {ObjectCreate("Rack"+i, OBJ_RECTANGLE, 0, Time[i+2], High[i+1], Time[i], iHigh(Symbol(),0,iHighest(Symbol(),0,MODE_HIGH,8,i+2)));
          ObjectSet("Rack"+i,OBJPROP_BACK,1);
            ObjectSetInteger(0,"Rack"+i,OBJPROP_COLOR,clrMagenta);} } fodir[i]=-1;  }}



if (plot_Spark_Sones){

 ///Maroon Above Green River
     if ( iMA(symbol,0,67,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,0,207,0,MODE_EMA, PRICE_HIGH,i) && iMA(symbol,0,67,0,MODE_EMA, PRICE_LOW,i)-iMA(symbol,0,207,0,MODE_EMA, PRICE_HIGH,i)<FSize/1.4*10*Point
           && LowComparison(i,30) == False) {HighBuffer2[i]=iMA(symbol,0,135,0,MODE_EMA, PRICE_LOW,i); LowBuffer2[i]=iMA(symbol,0,414,0,MODE_EMA, PRICE_HIGH,i);}
 
 ///Maroon Below Green River
     if ( iMA(symbol,0,67,0,MODE_EMA, PRICE_HIGH,i)<iMA(symbol,0,207,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,0,207,0,MODE_EMA, PRICE_LOW,i)-iMA(symbol,0,67,0,MODE_EMA, PRICE_HIGH,i)<FSize/1.4*10*Point
            && HighComparison(i,30) == False) {HighBuffer[i]=iMA(symbol,0,207,0,MODE_EMA, PRICE_LOW,i); LowBuffer[i]=iMA(symbol,0,67,0,MODE_EMA, PRICE_HIGH,i);}
     }
     
     }
     
   for (i = 120 ; i >= 0; i--) {
     bline[i]=EMPTY_VALUE;
     sline[i]=EMPTY_VALUE;
     if (i<108) bline[i]=iHi[i]+ MathAbs(((iHi[i]-iHi[i+36])/36)*60);
    // MathAbs((iHi[i]-iHi[i+36])/36*60);
     if (i<108) sline[i]=iLo[i]-MathAbs(((iLo[i+36]-iLo[i])/36)*60);
  //   MathAbs((iLo[i+36]-iLo[i])/36*60);
     }


   for (i = 100 ; i >=0 ; i--) {
     if ((Open[i]>sline[i] &&  Bid<=sline[i]) && Close[i+2]>sline[i+2] ) sell[i]=sline[i];
    // MathAbs((iHi[i]-iHi[i+36])/36*60);
    if (sell[i]>0 && sell[i+1]==0 && Low[iLowest(NULL, 0, MODE_LOW, 3,i+1)]<sline[i]) HCR[i]=Low[iLowest(NULL, 0, MODE_LOW, 2,i+3)]+.001;
        if ((Close[i]>bline[i]&&Low[i+1]<bline[i+1])  ||  (Close[i+1]<sline[i+1] && Close[i+2]<sline[i+2] && Ask>=sline[i])) buy[i]=bline[i];
    if (buy[i]>0 && buy[i+1]==0 && High[iHighest(NULL, 0, MODE_HIGH, 3,i+1)]>bline[i]) LCR[i]=High[iHighest(NULL, 0, MODE_HIGH, 2,i+3)]-.001;    
  //   MathAbs((iLo[i+36]-iLo[i])/36*60);
     }


   
   
      for (i = 0 ; i <= 420; i++) {
      //conso[i]=EMPTY_VALUE;
    //  Print("MathAbs((ChoppinessIndex(14,i)-ChoppinessIndex(14,i+5))<1) ",i,"]:", MathAbs((ChoppinessIndex(14,i)-ChoppinessIndex(14,i+5)))); 
               if ((MathAbs((ChoppinessIndex(14,i)-ChoppinessIndex(14,i+4))>6) && MathAbs((ChoppinessIndex(14,i)-ChoppinessIndex(14,i+8))>6) && Period()==30)
                   ||  (MathAbs((ChoppinessIndex(7,i)-ChoppinessIndex(7,i+2))>5) && MathAbs((ChoppinessIndex(7,i)-ChoppinessIndex(7,i+4))>5) && Period()>30 ))
                   
                {
                     for (j=i; j <= i+3; j++){
                        conso[j]=(High[i]+High[i+1]+High[i+2]+High[i+3]+Low[i]+Low[i+1]+Low[i+2]+Low[i+3])/8;  conso2[j]=conso[j];}}
     }

   
   }

 for (i = 200 ; i >= 0; i--) {
 if (Low[i]<guardraild[i]) underlowguardrail[i]=1;
   else underlowguardrail[i]=0;
   if (High[i]>guardrailu[i]) abovehighguardrail[i]=1;
   else abovehighguardrail[i]=0;
    if ((underlowguardrail[i]+underlowguardrail[i+1]+underlowguardrail[i+2]+underlowguardrail[i+3]+underlowguardrail[i+4]+underlowguardrail[i+5]+underlowguardrail[i+6]+underlowguardrail[i+7]+underlowguardrail[i+8]+underlowguardrail[i+9]+underlowguardrail[i+10]>1 && High[i+1]<iMA(NULL,0,67,0,MODE_EMA, PRICE_LOW,i+1)  && High[i+2]<iMA(NULL,0,67,0,MODE_EMA, PRICE_LOW,i+2)) && undercounter[i+1]<9) undercounter[i]=undercounter[i+1]+1;
    if (Low[i]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,22,i+1)) && Low[i]<guardraild[i]) undercounter[i]=0;  
    if (High[i]>iMA(NULL,0,67,0,MODE_EMA, PRICE_LOW,i)&&Low[i]<iMA(NULL,0,67,0,MODE_EMA, PRICE_LOW,i)) undercounter[i] =0;
   if ((abovehighguardrail[i]+abovehighguardrail[i+1]+abovehighguardrail[i+2]+abovehighguardrail[i+3]+abovehighguardrail[i+4]+abovehighguardrail[i+5]+abovehighguardrail[i+6]+abovehighguardrail[i+7]+abovehighguardrail[i+8]+abovehighguardrail[i+9]+abovehighguardrail[i+10]>1 && Low[i+1]>iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+2) && Low[i+1]>iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i+2) ) && abovecounter[i+1]<9) abovecounter[i]=abovecounter[i+1]+1;
  if (High[i]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,22,i+1)) && High[i]>guardrailu[i]) abovecounter[i]=0; 
  if (Low[i]<iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i)&&High[i]>iMA(NULL,0,67,0,MODE_EMA, PRICE_HIGH,i)) abovecounter[i] =0;
  
}


deletetxt1("Rake");
deletetxt1("Fake");
deletetxt1("ZERO");
deletetxt1("HUNDRA");
deletetxt1("Whoop");
deletetxt1("Goldberg");
deletetxt1("Meanie");

if (Period()<=60){  
for(i = 240; i >= 0; i--){     
zcount[i]=zcount[i+1];
hcount[i]=hcount[i+1];

if (RSI2[i]>5 && Low[i+1]>iMA(symbol,60,207,0,MODE_EMA,PRICE_LOW,i+1)-3*FMax*10*Point && Low[i]<iMA(symbol,60,207,0,MODE_EMA,PRICE_LOW,i)-3*FMax*10*Point){

       ObjectCreate("Meanie"+i,OBJ_TEXT, 0, Time[i], iMA(symbol,60,207,0,MODE_EMA,PRICE_HIGH,i));
                 ObjectSetText("Meanie"+i, "("+NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA,PRICE_HIGH,i),4)+")", 24,"Arial Black", clrNavy);}

if (Close[i]<iMA(symbol,60,207,0,MODE_EMA,PRICE_LOW,i)-FMax*10*Point) hundred = 86; 

if (RSI2[i+1]>hundred && RSI2[i]<RSI2[i+1]){
   if (plot_zero_hundred){
               ObjectCreate("HUNDRA"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+180*Point);
                 ObjectSetText("HUNDRA"+i, "100", 53, "Impact", clrPink);
                 ObjectCreate("HUNDRAz"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+180*Point);
                 ObjectSetText("HUNDRAz"+i, " 100", 53, "Impact", clrNavy);}
               
          //       else
                  hcount[i]=hcount[i]+1;
               //   if (hcount[i]==2) zcount[i+1]==0;
                //   if (hcount[i]==3) zcount[i+1]==0;
                if (hcount[i]==3) {zcount[i]=0;}
                   if (hcount[i]>5) {hcount[i]=0; }
                 }    


if (i==0 && RSI2[i]>hundred){
if (plot_zero_hundred){
               ObjectCreate("HUNDRA"+i,OBJ_TEXT, 0, Time[i], High[i]+250*Point);
                 ObjectSetText("HUNDRA"+i, "100", 53, "Impact", clrPink);
                 ObjectCreate("HUNDRAz"+i,OBJ_TEXT, 0, Time[i], High[i]+250*Point);
                 ObjectSetText("HUNDRAz"+i, " 100", 53, "Impact", clrCornflowerBlue);}    }


if (Close[i]>iMA(symbol,240,52,0,MODE_EMA,PRICE_HIGH,i)+FMax*10*Point) zero = 14;


if (RSI2[i+1]<zero && RSI2[i]>RSI2[i+1]){
if (plot_zero_hundred){
               ObjectCreate("ZERO"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-5*Point);
                 ObjectSetText("ZERO"+i, "0", 53, "Impact", clrPink);
                 ObjectCreate("ZEROz"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-5*Point);
                 ObjectSetText("ZEROz"+i, " 0", 53, "Impact", clrNavy);}
                
             //    else 
             zcount[i]=zcount[i]+1;
            //     if (zcount[i]==2) hcount[i+1]==0;
              //   if (zcount[i]==3) hcount[i+1]==0;
                if (zcount[i]==3) { hcount[i]=0;}
                  if (zcount[i]>5) {zcount[i]=0;}
                 
               //  Print("Zcount["+i+"]: "+zcount[i]);
                 }    


if (i==0 && RSI2[i]<zero ){
if (plot_zero_hundred){
               ObjectCreate("ZERO"+i,OBJ_TEXT, 0, Time[i], Low[i]-5*Point);
                 ObjectSetText("ZERO"+i, "0", 53, "Arial Black", clrPink);
                 ObjectCreate("ZEROz"+i,OBJ_TEXT, 0, Time[i], Low[i]-5*Point);
                 ObjectSetText("ZEROz"+i, " 0", 53, "Arial Black", clrCornflowerBlue);}    }



if (Plot_Whoop_Bam){

if (hcount[i]==1 && hcount[i+1]==0 ){
               ObjectCreate("Whoop"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoop"+i, "Whoop", 26, "Arial Black", clrPink);
                 ObjectCreate("Whoopi"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoopi"+i, " Whoop", 26, "Arial Black", clrCornflowerBlue);}    


if (hcount[i]==2 && hcount[i+1]==1){
               ObjectCreate("Whoop"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoop"+i, "Bam!", 26, "Arial Black", clrPink);
                 ObjectCreate("Whoopi"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoopi"+i, " Bam!", 26, "Arial Black", clrBlue);}    

if (hcount[i]==3 && hcount[i+1]==2){
               ObjectCreate("Whoop"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoop"+i, "Boogie!!", 26, "Arial Black", clrPink);
                 ObjectCreate("Whoopi"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoopi"+i, " Boogie!!", 26, "Arial Black", clrMagenta);
                 
                 if (i<150){     
                  ObjectCreate("Goldbergzs"+i, OBJ_RECTANGLE, 0, Time[i+2], High[i+1]+42*Point, Time[1], High[i+1]+38*Point);
                  ObjectSetInteger(0,"Goldbergzs"+i,OBJPROP_COLOR,clrDarkRed);  
                 
                  ObjectCreate("Goldbergzss"+i, OBJ_RECTANGLE, 0, Time[i+2],  High[i+1]+162*Point, Time[1],  High[i+1]+158*Point);
                  ObjectSetInteger(0,"Goldbergzss"+i,OBJPROP_COLOR,clrDarkRed);  
                 
                 ObjectCreate("Goldbergzsssb"+i, OBJ_RECTANGLE, 0, Time[i+2],  High[i+1]+268*Point, Time[1],  High[i+1]+250*Point);
                  ObjectSetInteger(0,"Goldbergzsssb"+i,OBJPROP_COLOR,clrWhite);  
                 
                 
                 ObjectCreate("Goldbergzsss"+i, OBJ_RECTANGLE, 0, Time[i+2],  High[i+1]+264*Point, Time[1],  High[i+1]+256*Point);
                  ObjectSetInteger(0,"Goldbergzsss"+i,OBJPROP_COLOR,clrDarkRed);  
                 
                 ObjectCreate("Goldbergzssss"+i, OBJ_RECTANGLE, 0, Time[i+2],  High[i+1]+364*Point, Time[1],  High[i+1]+359*Point);
                  ObjectSetInteger(0,"Goldbergzssss"+i,OBJPROP_COLOR,clrMagenta);
                 }
            
                 
                 
                 }

if (hcount[i]==4 && hcount[i+1]==3){
               ObjectCreate("Whoop"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoop"+i, "WTF!!", 26, "Arial Black", clrPink);
                 ObjectCreate("Whoopi"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoopi"+i, " WTF!!", 26, "Arial Black", clrCrimson);}


if (hcount[i]==5 && hcount[i+1]==4){
               ObjectCreate("Whoop"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoop"+i, "????", 26, "Arial Black", clrPink);
                 ObjectCreate("Whoopi"+i,OBJ_TEXT, 0, Time[i+2], High[i+1]+150*Point);
                 ObjectSetText("Whoopi"+i, " ????", 26, "Arial Black", clrCrimson);}



if (zcount[i]==1 && zcount[i+1]==0){
               ObjectCreate("Whoopp"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whoopp"+i, "Whoop", 26, "Arial Black", clrPink);
                 ObjectCreate("Whooppi"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whooppi"+i, " Whoop", 26, "Arial Black", clrCornflowerBlue);}

if (zcount[i]==2 && zcount[i+1]==1){
               ObjectCreate("Whoopp"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whoopp"+i, "Bam!", 26, "Arial Black", clrPink);
                 ObjectCreate("Whooppi"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whooppi"+i, " Bam!", 26, "Arial Black", clrBlue);}

if (zcount[i]==3 && zcount[i+1]==2){
               ObjectCreate("Whoopp"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whoopp"+i, "Boogie!!", 26, "Arial Black", clrPink);
                 ObjectCreate("Whooppi"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whooppi"+i, " Boogie!!", 26, "Arial Black", clrGreen);
            
            if (i<150){     
                  ObjectCreate("Goldbergs"+i, OBJ_RECTANGLE, 0, Time[i+2], Low[i+1]-42*Point, Time[1], Low[i+1]-38*Point);
                  ObjectSetInteger(0,"Goldbergs"+i,OBJPROP_COLOR,clrDarkGreen);  
                 
                  ObjectCreate("Goldbergss"+i, OBJ_RECTANGLE, 0, Time[i+2], Low[i+1]-162*Point, Time[1], Low[i+1]-158*Point);
                  ObjectSetInteger(0,"Goldbergss"+i,OBJPROP_COLOR,clrDarkGreen);  
                 
                 ObjectCreate("Goldbergsss"+i, OBJ_RECTANGLE, 0, Time[i+2], Low[i+1]-264*Point, Time[1], Low[i+1]-256*Point);
                  ObjectSetInteger(0,"Goldbergsss"+i,OBJPROP_COLOR,clrDarkGreen);  
                 
                 ObjectCreate("Goldbergssss"+i, OBJ_RECTANGLE, 0, Time[i+2], Low[i+1]-364*Point, Time[1], Low[i+1]-359*Point);
                  ObjectSetInteger(0,"Goldbergssss"+i,OBJPROP_COLOR,clrMagenta);
                 }
                 }
                 
if (zcount[i]==4 && zcount[i+1]==3){
               ObjectCreate("Whoopp"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whoopp"+i, "WTF!!", 26, "Arial Black", clrPink);
                 ObjectCreate("Whooppi"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whooppi"+i, " WTF!!", 26, "Arial Black", clrDarkGreen);}


if (zcount[i]==5 && zcount[i+1]==4){
               ObjectCreate("Whoopp"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whoopp"+i, "????", 26, "Arial Black", clrPink);
                 ObjectCreate("Whooppi"+i,OBJ_TEXT, 0, Time[i+2], Low[i]+25*Point);
                 ObjectSetText("Whooppi"+i, " ????", 26, "Arial Black", clrDarkGreen);}
}

if (i>0 && High[i]>guardraild[i] && High[i]<guardraild[i]+90*Point && High[i+1]<High[i] && High[i-1]<High[i] && High[i+7]<guardraild[i+7]  && High[i+8]<guardraild[i+8]  && High[i+6]<guardraild[i+6]    ){
      ObjectCreate("Silow"+DoubleToStr(i)+DoubleToStr(3), OBJ_ELLIPSE, 0, Time[i+1],  High[i], Time[i-1], guardraild[i]);
       ObjectSetInteger(0,"Silow"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_COLOR,clrCrimson);
       ObjectSetDouble(0,"Silow"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_SCALE,.25);
       ObjectSet("Silow"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_BACK,1);
       ObjectSet("Silow"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_WIDTH,18);

     
       }


if (i>0 && Low[i]>guardrailu[i] && Low[i]>guardrailu[i]-90*Point && Low[i+1]>Low[i] && Low[i-1]>Low[i] && Low[i+7]>guardrailu[i+7]  && Low[i+8]>guardrailu[i+8]  && Low[i+6]>guardrailu[i+6]    ){
      ObjectCreate("Silow"+DoubleToStr(i)+DoubleToStr(3), OBJ_ELLIPSE, 0, Time[i+1], Low[i], Time[i-1], guardrailu[i]);
       ObjectSetInteger(0,"Silow"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_COLOR,clrGreen);
       ObjectSetDouble(0,"Silow"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_SCALE,.25);
       ObjectSet("Silow"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_BACK,1);
       ObjectSet("Silow"+DoubleToStr(i)+DoubleToStr(3),OBJPROP_WIDTH,18);}

if (plot_ricochets){
    
                 
///////RAKE

////Maroon                 
//Low[i+2]>Low[i+1] 
if ( Low[i+1]< iMA(symbol,0,135,0,MODE_EMA, PRICE_HIGH,i+1)+40*Point && Low[i+1]> iMA(symbol,0,135,0,MODE_EMA, PRICE_HIGH,i+1)-20*Point
     && Close[i+1]> iMA(symbol,0,135,0,MODE_EMA, PRICE_HIGH,i+1)+50*Point && Low[i]>Low[i+1] &&
     !(Low[i+3]>Low[i+2] && Low[i+2]< iMA(symbol,0,135,0,MODE_EMA, PRICE_CLOSE,i+2)+30*Point && Low[i+2]> iMA(symbol,0,135,0,MODE_EMA, PRICE_HIGH,i+2)-80*Point
     && Close[i+2]> iMA(symbol,0,135,0,MODE_EMA, PRICE_CLOSE,i+2)+50*Point && Low[i+1]>Low[i+2])){
                 ObjectCreate("Rakei"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-10*Point);
                 ObjectSetText("Rakei"+i, "R", 33, "Arial Black", clrYellow);
                 ObjectCreate("Raker"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-10*Point);
                 ObjectSetText("Raker"+i, " R", 33, "Arial Black", clrBlack);}
        

///////2H Lema

if (Low[i+2]>Low[i+1] && Low[i+1]< iMA(symbol,0,1556,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && Low[i+1]> iMA(symbol,0,1556,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]> iMA(symbol,0,1556,0,MODE_EMA, PRICE_HIGH,i+1)+50*Point && Low[i]>Low[i+1] &&
     !(Low[i+3]>Low[i+2] && Low[i+2]< iMA(symbol,30,1556,0,MODE_EMA, PRICE_CLOSE,i+2)+30*Point && Low[i+2]> iMA(symbol,0,1556,0,MODE_EMA, PRICE_HIGH,i+2)-80*Point
     && Close[i+2]> iMA(symbol,0,1556,0,MODE_EMA, PRICE_CLOSE,i+2)+50*Point && Low[i+1]>Low[i+2])){
                 ObjectCreate("Rakei"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-10*Point);
                 ObjectSetText("Rakei"+i, "R", 33, "Arial Black", clrYellow);
                 ObjectCreate("Raker"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-10*Point);
                 ObjectSetText("Raker"+i, " R", 33, "Arial Black", clrBlack);}


//////19872

if (Low[i+2]>Low[i+1] && Low[i+1]< iMA(symbol,0,19872,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && Low[i+1]> iMA(symbol,0,19872,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]> iMA(symbol,0,19872,0,MODE_EMA, PRICE_HIGH,i+1)+50*Point && Low[i]>Low[i+1] &&
     !(Low[i+3]>Low[i+2] && Low[i+2]< iMA(symbol,0,19872,0,MODE_EMA, PRICE_CLOSE,i+2)+30*Point && Low[i+2]> iMA(symbol,0,19872,0,MODE_EMA, PRICE_HIGH,i+2)-80*Point
     && Close[i+2]> iMA(symbol,0,19872,0,MODE_EMA, PRICE_CLOSE,i+2)+50*Point && Low[i+1]>Low[i+2])){
                 ObjectCreate("Rakei"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-40*Point);
                 ObjectSetText("Rakei"+i, "R", 33, "Arial Black", clrYellow);
                 ObjectCreate("Raker"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-40*Point);
                 ObjectSetText("Raker"+i, " R", 33, "Arial Black", clrBlack);}


//////39744

if (Low[i+2]>Low[i+1] && Low[i+1]< iMA(symbol,0,39744,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && Low[i+1]> iMA(symbol,0,39744,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]> iMA(symbol,0,39744,0,MODE_EMA, PRICE_HIGH,i+1)+50*Point && Low[i]>Low[i+1] &&
     !(Low[i+3]>Low[i+2] && Low[i+2]< iMA(symbol,0,39744,0,MODE_EMA, PRICE_CLOSE,i+2)+30*Point && Low[i+2]> iMA(symbol,0,39744,0,MODE_EMA, PRICE_HIGH,i+2)-80*Point
     && Close[i+2]> iMA(symbol,0,39744,0,MODE_EMA, PRICE_CLOSE,i+2)+50*Point && Low[i+1]>Low[i+2])){
                 ObjectCreate("Rakei"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-40*Point);
                 ObjectSetText("Rakei"+i, "R", 33, "Arial Black", clrMagenta);
                 ObjectCreate("Raker"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-40*Point);
                 ObjectSetText("Raker"+i, " R", 33, "Arial Black", clrBlack);}

////30m Lema 
if (Low[i+2]>Low[i+1] && Low[i+1]< iMA(symbol,0,828,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && Low[i+1]> iMA(symbol,0,828,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]> iMA(symbol,0,828,0,MODE_EMA, PRICE_HIGH,i+1)+50*Point && Low[i]>Low[i+1] &&
     !(Low[i+3]>Low[i+2] && Low[i+2]< iMA(symbol,0,828,0,MODE_EMA, PRICE_CLOSE,i+2)+30*Point && Low[i+2]> iMA(symbol,0,828,0,MODE_EMA, PRICE_HIGH,i+2)-80*Point
     && Close[i+2]> iMA(symbol,0,828,0,MODE_EMA, PRICE_CLOSE,i+2)+50*Point && Low[i+1]>Low[i+2])){
                 ObjectCreate("Rakei"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-10*Point);
                 ObjectSetText("Rakei"+i, "R", 33, "Arial Black", clrYellow);
                 ObjectCreate("Raker"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-10*Point);
                 ObjectSetText("Raker"+i, " R", 33, "Arial Black", clrBlack);} 

////Green River
if (Low[i+2]>Low[i+1] && Low[i+1]< iMA(symbol,0,414,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && Low[i+1]> iMA(symbol,0,414,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]> iMA(symbol,0,414,0,MODE_EMA, PRICE_HIGH,i+1)+50*Point && Low[i]>Low[i+1] &&
     !(Low[i+3]>Low[i+2] && Low[i+2]< iMA(symbol,0,414,0,MODE_EMA, PRICE_CLOSE,i+2)+30*Point && Low[i+2]> iMA(symbol,0,414,0,MODE_EMA, PRICE_HIGH,i+2)-80*Point
     && Close[i+2]> iMA(symbol,0,414,0,MODE_EMA, PRICE_CLOSE,i+2)+50*Point && Low[i+1]>Low[i+2])){
                 ObjectCreate("Rakei"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-10*Point);
                 ObjectSetText("Rakei"+i, "R", 33, "Arial Black", clrYellow);
                 ObjectCreate("Raker"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]-10*Point);
                 ObjectSetText("Raker"+i, " R", 33, "Arial Black", clrBlack);}  
 




                 


//////////////////Rebound from above


///Maroon
 if (High[i+2]<High[i+1] && High[i+1]< iMA(symbol,0,135,0,MODE_EMA, PRICE_LOW,i+1)+30*Point && High[i+1]> iMA(symbol,0,135,0,MODE_EMA, PRICE_LOW,i+1)-20*Point
     && Close[i+1]< iMA(symbol,0,135,0,MODE_EMA, PRICE_LOW,i+1)+50*Point && High[i]<High[i+1] &&
     !(High[i+3]<High[i+2] && High[i+2]< iMA(symbol,0,135,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && High[i+2]> iMA(symbol,0,135,0,MODE_EMA, PRICE_LOW,i+2)-20*Point
     && Close[i+2]< iMA(symbol,0,135,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && High[i+1]<High[i+2])){
               ObjectCreate("Raken"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+20*Point);
                 ObjectSetText("Raken"+i, "R", 33, "Arial Black", clrBlack);
                 ObjectCreate("Rakez"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+20*Point);
                 ObjectSetText("Rakez"+i, " R", 33, "Arial Black", clrYellow);}

/////2H Lema
 if (High[i+2]<High[i+1] && High[i+1]< iMA(symbol,0,1556,0,MODE_EMA, PRICE_LOW,i+1)+30*Point && High[i+1]> iMA(symbol,0,1556,0,MODE_EMA, PRICE_LOW,i+1)-20*Point
     && Close[i+1]< iMA(symbol,0,1556,0,MODE_EMA, PRICE_LOW,i+1)+50*Point && High[i]<High[i+1] &&
     !(High[i+3]<High[i+2] && High[i+2]< iMA(symbol,0,1556,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && High[i+2]> iMA(symbol,0,1556,0,MODE_EMA, PRICE_LOW,i+2)-20*Point
     && Close[i+2]< iMA(symbol,0,1556,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && High[i+1]<High[i+2])){
               ObjectCreate("Raken"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+20*Point);
                 ObjectSetText("Raken"+i, "R", 33, "Arial Black", clrBlack);
                 ObjectCreate("Rakez"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+20*Point);
                 ObjectSetText("Rakez"+i, " R", 33, "Arial Black", clrYellow);}

                 
////19872       
 if (High[i+2]<High[i+1] && High[i+1]< iMA(symbol,0,19872,0,MODE_EMA, PRICE_LOW,i+1)+30*Point && High[i+1]> iMA(symbol,0,19872,0,MODE_EMA, PRICE_LOW,i+1)-20*Point
     && Close[i+1]< iMA(symbol,0,19872,0,MODE_EMA, PRICE_LOW,i+1)+50*Point && High[i]<High[i+1] &&
     !(High[i+3]<High[i+2] && High[i+2]< iMA(symbol,0,19872,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && High[i+2]> iMA(symbol,0,19872,0,MODE_EMA, PRICE_LOW,i+2)-20*Point
     && Close[i+2]< iMA(symbol,0,19872,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && High[i+1]<High[i+2])){
               ObjectCreate("Raken"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+20*Point);
                 ObjectSetText("Raken"+i, "R", 33, "Arial Black", clrBlack);
                 ObjectCreate("Rakez"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+20*Point);
                 ObjectSetText("Rakez"+i, " R", 33, "Arial Black", clrYellow);}               
                 
/////39744
    if (High[i+2]<High[i+1] && High[i+1]< iMA(symbol,0,39744,0,MODE_EMA, PRICE_LOW,i+1)+30*Point && High[i+1]> iMA(symbol,0,39744,0,MODE_EMA, PRICE_LOW,i+1)-20*Point
     && Close[i+1]< iMA(symbol,0,39744,0,MODE_EMA, PRICE_LOW,i+1)+50*Point && High[i]<High[i+1] &&
     !(High[i+3]<High[i+2] && High[i+2]< iMA(symbol,0,39744,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && High[i+2]> iMA(symbol,0,39744,0,MODE_EMA, PRICE_LOW,i+2)-20*Point
     && Close[i+2]< iMA(symbol,0,39744,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && High[i+1]<High[i+2])){
               ObjectCreate("Raken"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+20*Point);
                 ObjectSetText("Raken"+i, "R", 33, "Arial Black", clrBlack);
                 ObjectCreate("Rakez"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]-20*Point);
                 ObjectSetText("Rakez"+i, " R", 33, "Arial Black", clrMagenta);}                    
                 
////30m Lema      
  if (High[i+2]<High[i+1] && High[i+1]< iMA(symbol,0,828,0,MODE_EMA, PRICE_LOW,i+1)+30*Point && High[i+1]> iMA(symbol,0,828,0,MODE_EMA, PRICE_LOW,i+1)-20*Point
     && Close[i+1]< iMA(symbol,0,828,0,MODE_EMA, PRICE_LOW,i+1)+50*Point && High[i]<High[i+1] &&
     !(High[i+3]<High[i+2] && High[i+2]< iMA(symbol,0,828,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && High[i+2]> iMA(symbol,0,828,0,MODE_EMA, PRICE_LOW,i+2)-20*Point
     && Close[i+2]< iMA(symbol,0,828,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && High[i+1]<High[i+2])){
                ObjectCreate("Raken"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+20*Point);
                 ObjectSetText("Raken"+i, "R", 33, "Arial Black", clrBlack);
                 ObjectCreate("Rakez"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+20*Point);
                 ObjectSetText("Rakez"+i, " R", 33, "Arial Black", clrYellow);}               


////Green River     
   if (High[i+2]<High[i+1] && High[i+1]< iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+1)+30*Point && High[i+1]> iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+1)-20*Point
     && Close[i+1]< iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+1)+50*Point && High[i]<High[i+1] &&
     !(High[i+3]<High[i+2] && High[i+2]< iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && High[i+2]> iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+2)-20*Point
     && Close[i+2]< iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && High[i+1]<High[i+2])){
               ObjectCreate("Raken"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Raken"+i, "R", 33, "Arial Black", clrBlack);
                 ObjectCreate("Rakez"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Rakez"+i, " R", 33, "Arial Black", clrYellow);}   


////Lower Guard Rail
 if (High[i+2]<High[i+1] && High[i+1]< iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point+30*Point && High[i+1]> iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+1)-20*Point
     && Close[i+1]< iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point+50*Point && High[i]<High[i+1] &&
     !(High[i+3]<High[i+2] && High[i+2]< iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point+30*Point && High[i+2]> iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+2)-20*Point
     && Close[i+2]< iMA(symbol,0,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point+50*Point && High[i+1]<High[i+2])){
                ObjectCreate("Rakent"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Rakent"+i, "R", 33, "Arial Black", clrBlack);
                 ObjectCreate("Rakezt"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Rakezt"+i, " R", 33, "Arial Black", clrYellow);}   



 ////////////////
//Fake
/////////////////
    
    ////Maroon                 

       if ( High[i+1]> iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && High[i+1]< iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+1)+80*Point
     && Close[i+1]< iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && High[i]<High[i+1]
     && Low[i+1]<Low[i+2] && Low[i+5]<iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+5)
     && Low[i+3]<iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+3)
    && !(High[i+2]> iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+2)-30*Point && High[i+2]< iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+2)+80*Point
    && Close[i+2]< iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+2)-50*Point && High[i+1]<High[i+2])
    ) {
                 ObjectCreate("Fakei"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+50*Point);
                 ObjectSetText("Fakei"+i, "F", 33, "Impact", clrYellow);
                 ObjectCreate("Faker"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+50*Point);
                 ObjectSetText("Faker"+i, " F", 33, "Impact", clrBlue);
                 fodir[i]=-1;
                 }
        

///////2H Lema

 if (Low[i+2]<Low[i+1] && High[i+1]> iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && High[i+1]< iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]< iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,i+1)-50*Point && High[i]<High[i+1]
     && !(High[i+2]> iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,i+2)-30*Point && High[i+2]< iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,i+2)+20*Point
     && Close[i+2]< iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,i+2)-50*Point && High[i+1]<High[i+2])){
                 ObjectCreate("Fakei"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Fakei"+i, "F", 33, "Impact", clrYellow);
                 ObjectCreate("Faker"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Faker"+i, " F", 33, "Impact", clrBlack);
                 fodir[i]=-1;}


//////19872

if (Low[i+2]<Low[i+1] && High[i+1]> iMA(symbol,30,19872,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && High[i+1]< iMA(symbol,30,19872,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]< iMA(symbol,30,19872,0,MODE_EMA, PRICE_HIGH,i+1)-10*Point && High[i]<High[i+1]
     && !(High[i+2]> iMA(symbol,30,19872,0,MODE_EMA, PRICE_HIGH,i+2)-30*Point && High[i+2]< iMA(symbol,30,19872,0,MODE_EMA, PRICE_HIGH,i+2)+20*Point
     && Close[i+2]< iMA(symbol,30,19872,0,MODE_EMA, PRICE_HIGH,i+2)-10*Point && High[i+1]<High[i+2])){
                 ObjectCreate("Fakei"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Fakei"+i, "F", 33, "Impact", clrYellow);
                 ObjectCreate("Faker"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Faker"+i, " F", 33, "Impact", clrBlack);
                 fodir[i]=-1;}


//////39744

if (Low[i+2]<Low[i+1] && High[i+1]> iMA(symbol,30,39744,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && High[i+1]< iMA(symbol,30,39744,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]< iMA(symbol,30,39744,0,MODE_EMA, PRICE_HIGH,i+1)-10*Point && High[i]<High[i+1]
     && !(High[i+2]> iMA(symbol,30,39744,0,MODE_EMA, PRICE_HIGH,i+2)-30*Point && High[i+2]< iMA(symbol,30,39744,0,MODE_EMA, PRICE_HIGH,i+2)+20*Point
     && Close[i+2]< iMA(symbol,30,39744,0,MODE_EMA, PRICE_HIGH,i+2)-10*Point && High[i+1]<High[i+2])){
                 ObjectCreate("Fakei"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Fakei"+i, "F", 33, "Impact", clrMagenta);
                 ObjectCreate("Faker"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Faker"+i, " F", 33, "Impact", clrBlack);
                 fodir[i]=-1;}

////30m Lema 
if (Low[i+2]<Low[i+1] && High[i+1]> iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i+1)-30*Point && High[i+1]< iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]< iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i+1)-10*Point && High[i]<High[i+1]
     && !(High[i+2]> iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i+2)-30*Point && High[i+2]< iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i+2)+20*Point
     && Close[i+2]< iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i+2)-10*Point && High[i+1]<High[i+2])){
                 ObjectCreate("Fakei"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Fakei"+i, "F", 33, "Impact", clrYellow);
                 ObjectCreate("Faker"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Faker"+i, " F", 33, "Impact", clrBlack);
                 fodir[i]=-1;} 

////Green River
if (High[i+2]<High[i+1] && High[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)-35*Point && High[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+20*Point
     && Close[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)-50*Point && High[i]<High[i+1] 
     && (Low[i+3]<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+3)  || Low[i+4]<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+4) ||  Low[i+5]<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+5))
     && !(High[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+2)-35*Point && High[i+2]< iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+2)+20*Point
     && Close[i+2]< iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+2)-50*Point && High[i+1]<High[i+2])
         
      ){
                 ObjectCreate("Fakei"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Fakei"+i, "F", 33, "Impact", clrYellow);
                 ObjectCreate("Faker"+i,OBJ_TEXT, 0, Time[i+1], High[i+1]+40*Point);
                 ObjectSetText("Faker"+i, " F", 33, "Impact", clrBlack);
                 fodir[i]=-1;}  
                 
////Lower Guard Rail
  if (High[i+2]>High[i+1] && High[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point+100*Point && High[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point-20*Point
     && Close[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point+50*Point && Low[i]>Low[i+1]
     && Low[i+2]<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point
     && !(Low[i+2]< iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point+30*Point && Low[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point-20*Point
     && Close[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point+50*Point && Low[i+1]>Low[i+2])
     && (Open[i+2]<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point  || Open[i+1]<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point)
     ){
                ObjectCreate("Fakeii"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+50*Point);
                 ObjectSetText("Fakeii"+i, "F", 33, "Impact", clrYellow);
                 ObjectCreate("Fakeri"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+50*Point);
                 ObjectSetText("Fakeri"+i, " F", 33, "Impact", clrBlue);
                 fodir[i]=-1;}  



////Upper Guard Rail
  if (High[i+2]>High[i+1] 
  && High[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+FMax*10*Point+100*Point && High[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+FMax*10*Point-20*Point
     && Close[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+FMax*10*Point+50*Point && Low[i]<Low[i+1]
     && Low[i+2]<iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+FMax*10*Point
 //    && !(Low[i+2]< iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)+FMax*10*Point+30*Point && Low[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)+FMax*10*Point-20*Point
//     && Close[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)+FMax*10*Point+50*Point && Low[i+1]>Low[i+2])
){
                ObjectCreate("Fakeiii"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+40*Point);
                 ObjectSetText("Fakeiii"+i, "F", 33, "Impact", clrYellow);
                 ObjectCreate("Fakerii"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+40*Point);
                 ObjectSetText("Fakerii"+i, " F", 33, "Impact", clrNavy);
                 fodir[i]=-1;
                 }  
                 
                 
////Upper PHaze Rail
  if (High[i+2]<High[i+1] &&
   High[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+3*FMax*10*Point+100*Point && High[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+3*FMax*10*Point-20*Point
     && Close[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+3*FMax*10*Point+50*Point && Low[i+1]<Low[i+2]
     && Low[i+2]<iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i+1)+3*FMax*10*Point
     && !(Low[i+2]< iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)+3*FMax*10*Point+30*Point && Low[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)+3*FMax*10*Point-20*Point
     && Close[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)+3*FMax*10*Point+50*Point && Low[i+1]>Low[i+2])
){
                ObjectCreate("Fakeiiii"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+50*Point);
                 ObjectSetText("Fakeiiii"+i, "F", 33, "Impact", clrYellow);
                 ObjectCreate("Fakeriii"+i,OBJ_TEXT, 0, Time[i+2], High[i+2]+50*Point);
                 ObjectSetText("Fakeriii"+i, " F", 33, "Impact", clrNavy);
                 fodir[i]=-1;}                   



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


///Maroon
//High[i+2]>High[i+1] &&
 if ( Low[i+1]< iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+1)+30*Point && Low[i+1]> iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+1)-70*Point
     && Close[i+1]> iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+1)-10*Point && Low[i]>Low[i+1] 
     && (High[i+2]> iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+2)-10*Point  || High[i+3]> iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i+3)-10*Point )
     && !(Low[i+2]< iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && Low[i+2]> iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+2)-70*Point
     && Close[i+2]> iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+2)-10*Point && Low[i+1]>Low[i+2] )
     
//    && !(Low[i+2]< iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && Low[i+2]> iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+2)-50*Point
//     && Close[i+2]> iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i+2)+30*Point && Low[i+1]<Low[i+2])
     
     ){
               ObjectCreate("Faken"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Faken"+i, "F", 33, "Impact", clrBlack);
                 ObjectCreate("Fakez"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Fakez"+i, " F", 33, "Impact", clrYellow);
                 fodir[i]=1;}

/////2H Lema

 if (High[i]>High[i+1] && Low[i+1]< iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,i+1)+20*Point && Low[i+1]> iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,i+1)-40*Point
     && Close[i+1]> iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,i+1)+10*Point && Low[i]>Low[i+1]
     && !(Low[i+2]< iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,i+2)+20*Point && Low[i+2]> iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,i+2)-40*Point
     && Close[i+2]> iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && Low[i+1]>Low[i+2])){
               ObjectCreate("Faken"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Faken"+i, "F", 33, "Impact", clrBlack);
                 ObjectCreate("Fakez"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Fakez"+i, " F", 33, "Impact", clrYellow);
                 fodir[i]=1;}
                 
////19872       
  if (High[i+2]>High[i+1] && Low[i+1]< iMA(symbol,30,19872,0,MODE_EMA, PRICE_LOW,i+1)+20*Point && Low[i+1]> iMA(symbol,30,19872,0,MODE_EMA, PRICE_LOW,i+1)-30*Point
     && Close[i+1]> iMA(symbol,30,19872,0,MODE_EMA, PRICE_LOW,i+1)+10*Point && Low[i]>Low[i+1]
     && !(Low[i+2]< iMA(symbol,30,19872,0,MODE_EMA, PRICE_LOW,i+2)+20*Point && Low[i+2]> iMA(symbol,30,19872,0,MODE_EMA, PRICE_LOW,i+2)-30*Point
     && Close[i+2]> iMA(symbol,30,19872,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && Low[i+1]>Low[i+2])){
               ObjectCreate("Faken"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Faken"+i, "F", 33, "Impact", clrBlack);
                 ObjectCreate("Fakez"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Fakez"+i, " F", 33, "Impact", clrYellow);
                 fodir[i]=1;}               
                 
/////39744
  if (Low[i+1]< iMA(symbol,30,39744,0,MODE_EMA, PRICE_LOW,i+1)+20*Point && Low[i+1]> iMA(symbol,30,39744,0,MODE_EMA, PRICE_LOW,i+1)-30*Point
     && Close[i+1]> iMA(symbol,30,39744,0,MODE_EMA, PRICE_LOW,i+1)+50*Point && Low[i]>Low[i+1]
     && !(Low[i+2]< iMA(symbol,30,39744,0,MODE_EMA, PRICE_LOW,i+2)+20*Point && Low[i+2]> iMA(symbol,30,39744,0,MODE_EMA, PRICE_LOW,i+2)-30*Point
     && Close[i+2]> iMA(symbol,30,39744,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && Low[i+1]>Low[i+2])){
               ObjectCreate("Faken"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Faken"+i, "F", 33, "Impact", clrBlack);
                 ObjectCreate("Fakez"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Fakez"+i, " F", 33, "Impact", clrMagenta);
                 fodir[i]=1;}                      
                 
////30m Lema      
  if (High[i+2]>High[i+1] && Low[i+1]< iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i+1)+20*Point && Low[i+1]> iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i+1)-30*Point
     && Close[i+1]> iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i+1)+10*Point && High[i]>High[i+1]
     && !(Low[i+2]< iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i+2)+20*Point && Low[i+2]> iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i+2)-30*Point
     && Close[i+2]> iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i+2)+10*Point && Low[i+1]>Low[i+2])){
               ObjectCreate("Faken"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Faken"+i, "F", 33, "Impact", clrBlack);
                 ObjectCreate("Fakez"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Fakez"+i, " F", 33, "Impact", clrYellow);
                 fodir[i]=1;}               


////Green River     
  if (High[i+2]>High[i+1] && Low[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-30*Point && Low[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-90*Point
     && Close[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)+10*Point && Low[i]>Low[i+1]
     && !(Low[i+2]< iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-30*Point && Low[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-90*Point
     && Close[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)+50*Point && Low[i+1]>Low[i+2])){
               ObjectCreate("Faken"+i,OBJ_TEXT, 0, Time[i+2], Low[i+2]+10*Point);
                 ObjectSetText("Faken"+i, "F", 33, "Impact", clrBlack);
                 ObjectCreate("Fakez"+i,OBJ_TEXT, 0, Time[i+2], Low[i+2]+10*Point);
                 ObjectSetText("Fakez"+i, " F", 33, "Impact", clrYellow);
                 fodir[i]=1;} 
                 

////Lower Guard Rail
  if (Low[i+2]>Low[i+1] && Low[i+1]< iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point && Low[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point-60*Point
     && Close[i+1]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point && Low[i]>Low[i+1]
  //   && Low[i+2]<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+1)-FMax*10*Point
     && !(Low[i+3]>Low[i+2] && Low[i+2]< iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point && Low[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point-60*Point
     && Close[i+2]> iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point && Low[i+1]>Low[i+2])
    // && (Open[i+2]>iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point  || Open[i+1]>iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i+2)-FMax*10*Point)
     ){
                 ObjectCreate("Faken"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Faken"+i, "F", 33, "Impact", clrBlack);
                 ObjectCreate("Fakez"+i,OBJ_TEXT, 0, Time[i+1], Low[i+1]+10*Point);
                 ObjectSetText("Fakez"+i, " F", 33, "Impact", clrYellow);
                 fodir[i]=1;} 
                        
                 
   }                        
                 
}

}

deletetxt1("LEMA");

if (Period()==30){

///downside fake-out boxes








if (MathAbs(Open[0]-iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point)<800*Point && Open[4]>iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point)
 ObjectCreate("LEMAGRL", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point-60*Point, Time[25], iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point-120*Point);
  ObjectSetInteger(0,"LEMAGRL",OBJPROP_COLOR,clrCyan);
  ObjectSet("LEMAGRL",OBJPROP_BACK,1);
  ObjectSet("LEMAGRL",OBJPROP_WIDTH,5);

if (MathAbs(Open[0]-iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,0))<800*Point && Open[4]>iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,0))
 ObjectCreate("LEMA1556L", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,0)-10*Point, Time[25], iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,0)-60*Point);
  ObjectSetInteger(0,"LEMA1556L",OBJPROP_COLOR,clrCyan);
  ObjectSet("LEMA1556L",OBJPROP_BACK,1);
  ObjectSet("LEMA1556L",OBJPROP_WIDTH,5);


if (MathAbs(Open[0]-iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,0))<800*Point && Open[4]>iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,0))
 ObjectCreate("LEMA414L", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,0)-10*Point, Time[25], iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,0)-60*Point);
  ObjectSetInteger(0,"LEMA414L",OBJPROP_COLOR,clrCyan);
  ObjectSet("LEMA414L",OBJPROP_BACK,1);
  ObjectSet("LEMA414L",OBJPROP_WIDTH,5);


if (MathAbs(Open[0]-iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,0))<800*Point && Open[4]>iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,0))
 ObjectCreate("LEMA828L", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,0)-10*Point, Time[25], iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,0)-60*Point);
  ObjectSetInteger(0,"LEMA828L",OBJPROP_COLOR,clrCyan);
  ObjectSet("LEMA828L",OBJPROP_BACK,1);
  ObjectSet("LEMA828L",OBJPROP_WIDTH,5);


if (MathAbs(Open[0]-iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,0))<800*Point && Open[4]>iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,0))
 ObjectCreate("LEMA135L", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,0)-10*Point, Time[25], iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,0)-60*Point);
  ObjectSetInteger(0,"LEMA135L",OBJPROP_COLOR,clrCyan);
  ObjectSet("LEMA135L",OBJPROP_BACK,1);
  ObjectSet("LEMA135L",OBJPROP_WIDTH,5);



///upside fake-out boxes

if (MathAbs(Open[0]-iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point)<800*Point && Open[3]<iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point)
 ObjectCreate("LEMAGRU", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point+60*Point, Time[25], iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point+120*Point);
  ObjectSetInteger(0,"LEMAGRU",OBJPROP_COLOR,clrPink);
  ObjectSet("LEMAGRU",OBJPROP_BACK,1);
  ObjectSet("LEMAGRU",OBJPROP_WIDTH,5);
  

if (MathAbs(Open[0]-iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,0))<800*Point && Open[3]<iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,0))
 ObjectCreate("LEMA1556U", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,0)+60*Point, Time[25], iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,0)+10*Point);
  ObjectSetInteger(0,"LEMA1556U",OBJPROP_COLOR,clrPink);
  ObjectSet("LEMA1556U",OBJPROP_BACK,1);
  ObjectSet("LEMA1556U",OBJPROP_WIDTH,5);  


if (MathAbs(Open[0]-iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0))<800*Point && Open[3]<iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0))
 ObjectCreate("LEMA414U", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0)+60*Point, Time[25], iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0)+10*Point);
  ObjectSetInteger(0,"LEMA414U",OBJPROP_COLOR,clrPink);
  ObjectSet("LEMA414U",OBJPROP_BACK,1);
  ObjectSet("LEMA414U",OBJPROP_WIDTH,5);


if (MathAbs(Open[0]-iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0))<800*Point && Open[3]<iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0))
 ObjectCreate("LEMA414U", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0)+60*Point, Time[25], iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,0)+10*Point);
  ObjectSetInteger(0,"LEMA414U",OBJPROP_COLOR,clrPink);
  ObjectSet("LEMA414U",OBJPROP_BACK,1);
  ObjectSet("LEMA414U",OBJPROP_WIDTH,5);


if (MathAbs(Open[0]-iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,0))<800*Point && Open[3]<iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,0))
 ObjectCreate("LEMA828U", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,0)+60*Point, Time[25], iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,0)+10*Point);
  ObjectSetInteger(0,"LEMA828U",OBJPROP_COLOR,clrPink);
  ObjectSet("LEMA828U",OBJPROP_BACK,1);
  ObjectSet("LEMA828U",OBJPROP_WIDTH,5);


if (MathAbs(Open[0]-iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,0))<800*Point && Open[3]<iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,0))
 ObjectCreate("LEMA135U", OBJ_RECTANGLE, 0,  Time[15], iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,0)+60*Point, Time[25], iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,0)+10*Point);
  ObjectSetInteger(0,"LEMA135U",OBJPROP_COLOR,clrPink);
  ObjectSet("LEMA135U",OBJPROP_BACK,1);
  ObjectSet("LEMA135U",OBJPROP_WIDTH,5);





}

deletetxt1("LUNA3_");


if (plot_continuation_divergences){


 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 && Low[j2]>=Low[j]+10*Point) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }

 if (j<500 && j<j2+26)   {ObjectDelete(0,"LUNA3_2");
     ObjectCreate(0,"LUNA3_2",OBJ_TREND,0,LowFractalTime_1,Low[j],LowFractalTime_2,Low[j2]);
    ObjectSetInteger(0,"LUNA3_2",OBJPROP_RAY_RIGHT,false);
         ObjectSet("LUNA3_2",OBJPROP_COLOR,indicator_color9);
         ObjectSet("LUNA3_2",OBJPROP_WIDTH,8); 
         LFT2 = LowFractalTime_2;
    }

 i2=0;
   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 ) 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) 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+26) {   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);
         ObjectSet("LUNA3_1",OBJPROP_COLOR,indicator_color9);
         ObjectSet("LUNA3_1",OBJPROP_WIDTH,8);
      UFT2=UpFractalTime_2;
      
      }
  
int keepj=j+1;
int keepi=i+1;

  
   j2=keepj;
   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 && Low[j2]>=Low[j]+10*Point) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }

 if (j<500 && j<j2+26)   {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);
         ObjectSet("PUNA3_2",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA3_2",OBJPROP_WIDTH,8); 
         LFT2 = LowFractalTime_2;     
         
}
    
 i2=keepi;
   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 ) 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) 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+26) {   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);
         ObjectSet("PUNA3_1",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA3_1",OBJPROP_WIDTH,8);
      UFT2=UpFractalTime_2;
     
}

keepj=j+1;
keepi=i+1;
  
   j2=keepj;
   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 && Low[j2]>=Low[j]+10*Point) {LowFractalTime_2=iTime(NULL, 0,j2);    LowFractalTime_1=iTime(NULL, 0,j);    }

 if (j<500 && j<j2+26)   {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);
         ObjectSet("PUNA4_2",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA4_2",OBJPROP_WIDTH,8); 
         LFT2 = LowFractalTime_2;     
        
}

 i2=keepi;
   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 ) 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) 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+26) {   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);
         ObjectSet("PUNA4_1",OBJPROP_COLOR,indicator_color9);
         ObjectSet("PUNA4_1",OBJPROP_WIDTH,8);
      UFT2=UpFractalTime_2;
       }
}


//deletetxt1("Whoop"); 
deletetxt1("Five"); 
deletetxt1("TLNE");

if (Period()==30){  
for(i = 440; i >= 1; i--){     

//iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i)<iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i)<iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i) &&
if ( iMA(symbol,30,135,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,30,414,0,MODE_EMA, PRICE_CLOSE,i) && iMA(symbol,30,60,0,MODE_SMA, PRICE_CLOSE,i)<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && High[i]<iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)+30*Point ) 
   E16NRed[i]=(iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)-15*Point);
//iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i)<iMA(symbol,30,1556,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i)<iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,30,135,0,MODE_EMA, PRICE_HIGH,i)<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && 
else if (iMA(symbol,30,60,0,MODE_SMA, PRICE_CLOSE,i)<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && Low[i]>iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)-30*Point ) 
   E16PBlue[i]=(iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)+15*Point); 
//iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,i) && iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i) && 
else if (iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i) && iMA(symbol,30,32,0,MODE_SMA, PRICE_CLOSE,i)>iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)>iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && Low[i]>iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)-30*Point ) 
   E16PBlue[i]=(iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)+15*Point);
//iMA(symbol,30,828,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,30,1556,0,MODE_EMA, PRICE_HIGH,i) && iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,30,828,0,MODE_EMA, PRICE_HIGH,i) && 
else if (iMA(symbol,30,135,0,MODE_EMA, PRICE_LOW,i)>iMA(symbol,30,414,0,MODE_EMA, PRICE_HIGH,i) && iMA(symbol,30,60,0,MODE_SMA, PRICE_CLOSE,i)>iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)>iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && High[i]<iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)+30*Point ) 
   E16NRed[i]=(iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)-15*Point);


//iMA(symbol,30,828,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,30,1556,0,MODE_EMA, PRICE_CLOSE,i) && iMA(symbol,30,414,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,30,828,0,MODE_EMA, PRICE_CLOSE,i) && 
if (iMA(symbol,30,135,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,30,414,0,MODE_EMA, PRICE_CLOSE,i) && iMA(symbol,30,60,0,MODE_SMA, PRICE_CLOSE,i)<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)<iMA(symbol,30,414,0,MODE_EMA, PRICE_LOW,i) && High[i]<iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)+30*Point ) 
   E16NRed[i]=(iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)-15*Point);


if (E16PBlue[i+3]!=EMPTY_VALUE && E16PBlue[i+6]!=EMPTY_VALUE
&& High[i+5]<pbrainu[i+5] && High[i+6]<pbrainu[i+6] && High[i+7]<pbrainu[i+7] && High[i+8]<pbrainu[i+8] && High[i+9]<pbrainu[i+9] && High[i+10]<pbrainu[i+10] && High[i+11]<pbrainu[i+11] && High[i+12]<pbrainu[i+12])
 E16PBlue2[i]=iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)-30*Point;

if (E16NRed[i+3]!=EMPTY_VALUE && E16NRed[i+6]!=EMPTY_VALUE 
&& Low[i+5]>pbraind[i+5] && Low[i+6]>pbraind[i+6] && Low[i+7]>pbraind[i+7] && Low[i+8]>pbraind[i+8] && Low[i+9]>pbraind[i+9] && Low[i+10]>pbraind[i+10] && Low[i+11]>pbraind[i+11] && Low[i+12]>pbraind[i+12]
) E16NRed2[i]=iMA(symbol,30,32,0,MODE_EMA, PRICE_CLOSE,i)+30*Point;
   


if (High[i+1]<E16[i+1] && High[i+2]<E16[i+2] && High[i+3]<E16[i+3] && High[i+4]<E16[i+4] && High[i+5]<E16[i+5] && High[i+6]<E16[i+6] && High[i+7]<E16[i+7] && High[i+8]<E16[i+8] && High[i+9]<E16[i+9] && E16NRed[i]!=EMPTY_VALUE && High[i]>E16[i]){
                 ObjectCreate("Five"+i,OBJ_TEXT, 0, Time[i], High[i]+80*Point);
                 ObjectSetText("Five"+i, "5", 53, "Impact", clrWhite);
                 ObjectCreate("Fivez"+i,OBJ_TEXT, 0, Time[i], High[i]+80*Point);
                 ObjectSetText("Fivez"+i, " 5", 53, "Impact", clrMagenta);
}


if (Low[i+1]>E16[i+1] && Low[i+2]>E16[i+2] && Low[i+3]>E16[i+3] && Low[i+4]>E16[i+4] && Low[i+5]>E16[i+5] && Low[i+6]>E16[i+6] && Low[i+7]>E16[i+7] && Low[i+8]>E16[i+8] && Low[i+9]>E16[i+9] && E16PBlue[i]!=EMPTY_VALUE && Low[i]<E16[i]){
                 ObjectCreate("Five"+i,OBJ_TEXT, 0, Time[i], High[i]-80*Point);
                 ObjectSetText("Five"+i, "5", 53, "Impact", clrWhite);
                 ObjectCreate("Fivez"+i,OBJ_TEXT, 0, Time[i], High[i]-80*Point);
                 ObjectSetText("Fivez"+i, " 5", 53, "Impact", clrGreenYellow);
}

pkdir[i]=pkdir[i+1];


/////////////4-sample end tail to the upside

  if ((Period()==30 || Period()==240)  && Low[i+4]<Low[i+5] && Low[i+4]<Low[i+3] && High[i+1]-Low[i+4]>40*Point && High[i]<High[i+1] && High[i+1]>High[i+2] && iMA(symbol,0,32,0,MODE_EMA,0,i)>iMA(NULL,0,135,0,MODE_EMA, PRICE_HIGH,i) && Close[i+1]>iMA(symbol,0,32,0,MODE_EMA,0,i+1)
  && Low[i+2]>iMA(symbol,0,32,0,MODE_EMA,0,i+2)
&& Low[i+3]>iMA(symbol,0,32,0,MODE_EMA,0,i+3)
&& Low[i+4]>iMA(symbol,0,32,0,MODE_EMA,0,i+4)
&& Low[i+5]>iMA(symbol,0,32,0,MODE_EMA,0,i+5)
&& Low[i+6]>iMA(symbol,0,32,0,MODE_EMA,0,i+6)
&& Low[i+7]>iMA(symbol,0,32,0,MODE_EMA,0,i+7)
&& Low[i+8]>iMA(symbol,0,32,0,MODE_EMA,0,i+8)
&& Low[i+9]>iMA(symbol,0,32,0,MODE_EMA,0,i+9)
//&& Low[i+10]>iMA(symbol,0,32,0,MODE_EMA,0,i+10)
&& ((ChoppinessIndex(7,i+2)<45 && ChoppinessIndex(7,i+2)>38) || ChoppinessIndex(7,i+1)<32)
&& High[i+1]>iMA(symbol,30,414,0,MODE_EMA,PRICE_HIGH,i+1)+FMax*10*Point-50*Point
   ){              
ObjectCreate(0,"TLNE2_4"+i,OBJ_TREND,0,iTime(NULL, 0,i+4),Low[i+4],iTime(NULL, 0,i+1),High[i+1]);
ObjectSetInteger(0,"TLNE2_4"+i,OBJPROP_RAY_RIGHT,false);
ObjectSet("TLNE2_4"+i,OBJPROP_STYLE,2);
ObjectSet("TLNE2_4"+i,OBJPROP_COLOR,clrRed);
ObjectSet("TLNE2_4"+i,OBJPROP_WIDTH,9);
ObjectSet("TLNE2_4"+i,OBJPROP_BACK,0);
pkdir[i]=-1;
}    


/////////////4-sample end tail through the green river


 if ((Period()==30 || Period()==240)  && High[i+1]-Low[i+4]>40*Point && High[i]<High[i+1] && High[i+1]>High[i+2] && High[i+1]>iMA(NULL,0,414,0,MODE_EMA, PRICE_HIGH,i) && Low[i+4]<iMA(NULL,0,414,0,MODE_EMA, PRICE_LOW,i)
  && Low[i+2]>iMA(symbol,0,32,0,MODE_EMA,0,i+2)
&& Low[i+3]>iMA(symbol,0,32,0,MODE_EMA,0,i+3)
&& Low[i+4]>iMA(symbol,0,32,0,MODE_EMA,0,i+4)
&& Low[i+5]>iMA(symbol,0,32,0,MODE_EMA,0,i+5)
&& ((ChoppinessIndex(7,i+1)<45 && ChoppinessIndex(7,i+1)>38) || (ChoppinessIndex(7,i+1)<32 && ChoppinessIndex(7,i+1)>28 ))
&& High[i+1]>iMA(symbol,30,414,0,MODE_EMA,PRICE_HIGH,i+1)+FMax*10*Point-50*Point
   ){              
ObjectCreate(0,"TLNE2_4N"+i,OBJ_TREND,0,iTime(NULL, 0,i+4),Low[i+4],iTime(NULL, 0,i+1),High[i+1]);
ObjectSetInteger(0,"TLNE2_4N"+i,OBJPROP_RAY_RIGHT,false);
ObjectSet("TLNE2_4N"+i,OBJPROP_STYLE,2);
ObjectSet("TLNE2_4N"+i,OBJPROP_COLOR,clrOrangeRed);
ObjectSet("TLNE2_4N"+i,OBJPROP_WIDTH,9);
ObjectSet("TLNE2_4N"+i,OBJPROP_BACK,0);

}    




/////////////3-sample end tail to the upside


      if ((Period()==30 || Period()==240) && ExtDownFractalsBuffer[i+3]!=EMPTY_VALUE && High[i+1]-Low[i+3]>40*Point && High[i]<High[i+1] && High[i+1]>High[i+2] && iMA(symbol,0,32,0,MODE_EMA,0,i)>iMA(NULL,0,135,0,MODE_EMA, PRICE_HIGH,i) && Close[i+1]>iMA(symbol,0,32,0,MODE_EMA,0,i+1)
      && Low[i+2]>iMA(symbol,0,32,0,MODE_EMA,0,i+2)
&& Low[i+3]>iMA(symbol,0,32,0,MODE_EMA,0,i+3)
&& Low[i+4]>iMA(symbol,0,32,0,MODE_EMA,0,i+4)
&& Low[i+5]>iMA(symbol,0,32,0,MODE_EMA,0,i+5)
&& Low[i+6]>iMA(symbol,0,32,0,MODE_EMA,0,i+6)
&& Low[i+7]>iMA(symbol,0,32,0,MODE_EMA,0,i+7)
&& Low[i+8]>iMA(symbol,0,32,0,MODE_EMA,0,i+8)
&& Low[i+9]>iMA(symbol,0,32,0,MODE_EMA,0,i+9)
//&& Low[i+10]>iMA(symbol,0,32,0,MODE_EMA,0,i+10)
&& ((ChoppinessIndex(7,i+1)<45 && ChoppinessIndex(7,i+1)>38) || ChoppinessIndex(7,i+1)<32)
&& High[i+1]>iMA(symbol,30,414,0,MODE_EMA,PRICE_HIGH,i+1)+FMax*10*Point-50*Point
       ){              
ObjectCreate(0,"TLNE2_4t"+i,OBJ_TREND,0,iTime(NULL, 0,i+3),Low[i+3],iTime(NULL, 0,i+1),High[i+1]);
ObjectSetInteger(0,"TLNE2_4t"+i,OBJPROP_RAY_RIGHT,false);
ObjectSet("TLNE2_4t"+i,OBJPROP_STYLE,2);
ObjectSet("TLNE2_4t"+i,OBJPROP_COLOR,clrRed);
ObjectSet("TLNE2_4t"+i,OBJPROP_WIDTH,9);
ObjectSet("TLNE2_4t"+i,OBJPROP_BACK,0);
pkdir[i]=-1;
}    

/////////////4-sample end tail to the downside


      if ((Period()==30 || Period()==240) && ExtUpFractalsBuffer[i+4]!=EMPTY_VALUE  && High[i+4]-Low[i+1]>40*Point && Low[i]>Low[i+1] && Low[i+1]<Low[i+2] && iMA(symbol,0,32,0,MODE_EMA,0,i)<iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i) && Close[i+1]<iMA(symbol,0,32,0,MODE_EMA,0,i+1)  
      && High[i+2]<iMA(symbol,0,32,0,MODE_EMA,0,i+2)
&& High[i+3]<iMA(symbol,0,32,0,MODE_EMA,0,i+3)
&& High[i+4]<iMA(symbol,0,32,0,MODE_EMA,0,i+4)
&& High[i+5]<iMA(symbol,0,32,0,MODE_EMA,0,i+5)
&& High[i+6]<iMA(symbol,0,32,0,MODE_EMA,0,i+6)
&& High[i+7]<iMA(symbol,0,32,0,MODE_EMA,0,i+7)
&& High[i+8]<iMA(symbol,0,32,0,MODE_EMA,0,i+8)
&& High[i+9]<iMA(symbol,0,32,0,MODE_EMA,0,i+9)
&& High[i+10]<iMA(symbol,0,32,0,MODE_EMA,0,i+10)
&& ((ChoppinessIndex(7,i+1)<45 && ChoppinessIndex(7,i+1)>41) || ChoppinessIndex(7,i+1)>62)
      ){              
ObjectCreate(0,"TLNE3_4"+i,OBJ_TREND,0,iTime(NULL, 0,i+4),High[i+4],iTime(NULL, 0,i+1),Low[i+1]);
ObjectSetInteger(0,"TLNE3_4"+i,OBJPROP_RAY_RIGHT,false);
ObjectSet("TLNE3_4"+i,OBJPROP_STYLE,2);
ObjectSet("TLNE3_4"+i,OBJPROP_COLOR,clrRed);
ObjectSet("TLNE3_4"+i,OBJPROP_WIDTH,9);
ObjectSet("TLNE3_4"+i,OBJPROP_BACK,0);
pkdir[i]=1;
}    

/////////////3-sample end tail to the downside


if ((Period()==30 || Period()==240) && ExtUpFractalsBuffer[i+3]!=EMPTY_VALUE && High[i+3]-Low[i+1]>40*Point && Low[i]>Low[i+1] && Low[i+1]<Low[i+2] && iMA(symbol,0,32,0,MODE_EMA,0,i)<iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i)  && Close[i+1]<iMA(symbol,0,32,0,MODE_EMA,0,i+1)
&& High[i+2]<iMA(symbol,0,32,0,MODE_EMA,0,i+2)
&& High[i+3]<iMA(symbol,0,32,0,MODE_EMA,0,i+3)
&& High[i+4]<iMA(symbol,0,32,0,MODE_EMA,0,i+4)
&& High[i+5]<iMA(symbol,0,32,0,MODE_EMA,0,i+5)
&& High[i+6]<iMA(symbol,0,32,0,MODE_EMA,0,i+6)
&& High[i+7]<iMA(symbol,0,32,0,MODE_EMA,0,i+7)
&& High[i+8]<iMA(symbol,0,32,0,MODE_EMA,0,i+8)
&& High[i+9]<iMA(symbol,0,32,0,MODE_EMA,0,i+9)
&& High[i+10]<iMA(symbol,0,32,0,MODE_EMA,0,i+10)
&& ((ChoppinessIndex(7,i+1)<45 && ChoppinessIndex(7,i+1)>41) || ChoppinessIndex(7,i)<30)
 ){              
ObjectCreate(0,"TLNE3_4t"+i,OBJ_TREND,0,iTime(NULL, 0,i+3),High[i+3],iTime(NULL, 0,i+1),Low[i+1]);
ObjectSetInteger(0,"TLNE3_4t"+i,OBJPROP_RAY_RIGHT,false);
ObjectSet("TLNE3_4t"+i,OBJPROP_STYLE,2);
ObjectSet("TLNE3_4t"+i,OBJPROP_COLOR,clrRed);
ObjectSet("TLNE3_4t"+i,OBJPROP_WIDTH,9);
ObjectSet("TLNE3_4t"+i,OBJPROP_BACK,0);
pkdir[i]=1;
}   



if ((Period()==30 || Period()==240) 
&& ExtUpFractalsBuffer[i+3]!=EMPTY_VALUE 
&& High[i+3]-Low[i+1]>40*Point 
&& Low[i]>Low[i+1] && Low[i+1]<Low[i+2] && iMA(symbol,0,32,0,MODE_EMA,0,i)<iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i)  && Close[i+1]<iMA(symbol,0,32,0,MODE_EMA,0,i+1)
&& High[i+3]>iMA(symbol,0,32,0,MODE_EMA,0,i+3)
&& ChoppinessIndex(7,i+1)<35
 ){              
ObjectCreate(0,"TLNE39_4t"+i,OBJ_TREND,0,iTime(NULL, 0,i+3),High[i+3],iTime(NULL, 0,i+1),Low[i+1]);
ObjectSetInteger(0,"TLNE39_4t"+i,OBJPROP_RAY_RIGHT,false);
ObjectSet("TLNE39_4t"+i,OBJPROP_STYLE,2);
ObjectSet("TLNE39_4t"+i,OBJPROP_COLOR,clrRed);
ObjectSet("TLNE39_4t"+i,OBJPROP_WIDTH,9);
ObjectSet("TLNE39_4t"+i,OBJPROP_BACK,0);
pkdir[i]=1;
}   

/////////////2-sample almost end tail to the downside


if ((Period()==30 || Period()==240) && ExtUpFractalsBuffer[i+2]!=EMPTY_VALUE && High[i+2]-Low[i+1]>40*Point && Low[i]>Low[i+1] && Low[i+1]<Low[i+2] && iMA(symbol,0,32,0,MODE_EMA,0,i)<iMA(NULL,0,135,0,MODE_EMA, PRICE_LOW,i)  && Close[i+1]<iMA(symbol,0,32,0,MODE_EMA,0,i+1)
&& High[i+2]<iMA(symbol,0,32,0,MODE_EMA,0,i+2)
&& High[i+3]<iMA(symbol,0,32,0,MODE_EMA,0,i+3)
&& High[i+4]<iMA(symbol,0,32,0,MODE_EMA,0,i+4)
&& High[i+5]<iMA(symbol,0,32,0,MODE_EMA,0,i+5)
&& High[i+6]<iMA(symbol,0,32,0,MODE_EMA,0,i+6)
&& High[i+7]<iMA(symbol,0,32,0,MODE_EMA,0,i+7)
&& High[i+8]<iMA(symbol,0,32,0,MODE_EMA,0,i+8)
&& High[i+9]<iMA(symbol,0,32,0,MODE_EMA,0,i+9)
&& High[i+10]<iMA(symbol,0,32,0,MODE_EMA,0,i+10)
&& ChoppinessIndex(7,i+1)<45 && ChoppinessIndex(7,i+1)>41
 ){              
ObjectCreate(0,"TLNE3_4t"+i,OBJ_TREND,0,iTime(NULL, 0,i+2),High[i+3],iTime(NULL, 0,i+1),Low[i+1]);
ObjectSetInteger(0,"TLNE3_4t"+i,OBJPROP_RAY_RIGHT,false);
ObjectSet("TLNE3_4t"+i,OBJPROP_STYLE,2);
ObjectSet("TLNE3_4t"+i,OBJPROP_COLOR,clrOrangeRed);
ObjectSet("TLNE3_4t"+i,OBJPROP_WIDTH,9);
ObjectSet("TLNE3_4t"+i,OBJPROP_BACK,0);
} 


}}


if (plot_fluctuation_brackets){
deletetxt1("Fluct"); 
deletetxt1("Der"); 
deletetxt1("Abigail");
deletetxt1("NOBR");

n=1;  
   while (n<Bars){
      if ( RSI2[n]<44 &&  RSI2[n]< RSI2[n-1] &&  RSI2[n]< RSI2[n+1]) break;
      n++;
   }


if (n<Bars  && Period()<=240) { ObjectDelete(0,"Fluct");
     if (n<7) ObjectCreate(0,"Fluct",OBJ_TREND,0,Time[n],Low[n],Time[1],Low[n]+FSize*10*Point,0,0);
     else ObjectCreate(0,"Fluct",OBJ_TREND,0,Time[n],Low[n],Time[n-7],Low[n]+FSize*10*Point,0,0);
    ObjectSetInteger(0,"Fluct",OBJPROP_RAY_RIGHT,false);
         ObjectSet("Fluct",OBJPROP_COLOR,clrWhite);
         ObjectSet("Fluct",OBJPROP_WIDTH,1); 
       
       
                 if (n<7) ObjectCreate("Abigail"+n, OBJ_RECTANGLE, 0,  Time[8], (Low[n]+FSize*10*Point), Time[0], Low[n]+FSize*10*Point+FSize/5*10*Point);
                  else ObjectCreate("Abigail"+n, OBJ_RECTANGLE, 0,  Time[n], (Low[n]+FSize*10*Point), Time[0], Low[n]+FSize*10*Point+FSize/5*10*Point);
  ObjectSetInteger(0,"Abigail"+n,OBJPROP_COLOR,clrOrange);
  ObjectSet("Abigail"+n,OBJPROP_BACK,0);
  ObjectSet("Abigail"+n,OBJPROP_WIDTH,5);
       
       
                        if (n<7) ObjectCreate("Abigail"+o, OBJ_RECTANGLE, 0,  Time[8], (Low[n]+FSize*10*Point), Time[0], Low[n]+FSize*10*Point+FSize/5*10*Point);
                  else ObjectCreate("Abigail"+o, OBJ_RECTANGLE, 0,  Time[n], (Low[n]+FSize*10*Point), Time[0], Low[n]+FSize*10*Point+FSize/5*10*Point);
  ObjectSetInteger(0,"Abigail"+o,OBJPROP_COLOR,clrMagenta);
  ObjectSet("Abigail"+o,OBJPROP_BACK,1);
  ObjectSet("Abigail"+o,OBJPROP_WIDTH,5);
  
  
//  ObjectCreate("Abigail"+o+o, OBJ_RECTANGLE, 0,  Time[32], (Low[n]+FSize*10*Point), Time[4], Low[n]+FSize*10*Point+FSize/5*10*Point);
//  ObjectSetInteger(0,"Abigail"+o+o,OBJPROP_COLOR,clrOrange);
//  ObjectSet("Abigail"+o+o,OBJPROP_BACK,0);
//  ObjectSet("Abigail"+o+o,OBJPROP_WIDTH,5);
  
  
//       ObjectCreate("NOBR", OBJ_TEXT, 0, Time[22], (Low[n]+FSize*10*Point)+30*Point); 
//               ObjectSetText("NOBR", "NO BREAK / EXTENSION", 28, "Arial Black", clrOrange);
  
}


o=1;  
   while (o<Bars){
      if (RSI2[o]>56 && RSI2[o]>RSI2[o-1] && RSI2[o]>RSI2[o+1]) break;
      o++;
   }


if (o<Bars  && Period()<=240) { ObjectDelete(0,"Der");
   if (o<7) ObjectCreate(0,"Der",OBJ_TREND,0,Time[o],High[o],Time[1],High[o]-FSize*10*Point,0,0);
    else  ObjectCreate(0,"Der",OBJ_TREND,0,Time[o],High[o],Time[o-7],High[o]-FSize*10*Point,0,0);
    ObjectSetInteger(0,"Der",OBJPROP_RAY_RIGHT,false);
         ObjectSet("Der",OBJPROP_COLOR,clrWhite);
         ObjectSet("Der",OBJPROP_WIDTH,1); 
         
         
         if (o<7)  ObjectCreate("Abigail"+o, OBJ_RECTANGLE, 0,  Time[8], (High[o]-FSize*10*Point), Time[0], High[o]-FSize*10*Point-FSize/5*10*Point);
         else ObjectCreate("Abigail"+o, OBJ_RECTANGLE, 0,  Time[o], (High[o]-FSize*10*Point), Time[0], High[o]-FSize*10*Point-FSize/5*10*Point);
  ObjectSetInteger(0,"Abigail"+o,OBJPROP_COLOR,clrOrange);
  ObjectSet("Abigail"+o,OBJPROP_BACK,0);
  ObjectSet("Abigail"+o,OBJPROP_WIDTH,5);
  
  
           if (o<7)  ObjectCreate("Abigail"+o+n, OBJ_RECTANGLE, 0,  Time[8], (High[o]-FSize*10*Point), Time[0], High[o]-FSize*10*Point-FSize/5*10*Point);
         else ObjectCreate("Abigail"+o+n, OBJ_RECTANGLE, 0,  Time[o], (High[o]-FSize*10*Point), Time[0], High[o]-FSize*10*Point-FSize/5*10*Point);
  ObjectSetInteger(0,"Abigail"+o+n,OBJPROP_COLOR,clrLime);
  ObjectSet("Abigail"+o+n,OBJPROP_BACK,1);
  ObjectSet("Abigail"+o+n,OBJPROP_WIDTH,5);
  
//  ObjectCreate("Abigail"+o+n+o, OBJ_RECTANGLE, 0,  Time[32], (High[o]-FSize*10*Point), Time[4], High[o]-FSize*10*Point-FSize/5*10*Point);
//  ObjectSetInteger(0,"Abigail"+o+n+o,OBJPROP_COLOR,clrOrange);
 // ObjectSet("Abigail"+o+n+o,OBJPROP_BACK,0);
 // ObjectSet("Abigail"+o+n+o,OBJPROP_WIDTH,5);
  
  
//   ObjectCreate("NOBR2", OBJ_TEXT, 0, Time[22], (High[o]-FSize*10*Point)); 
//               ObjectSetText("NOBR2", "NO BREAK / EXTENSION", 28, "Arial Black", clrOrange);
  
}  
  }

deletetxt1("Pol");


if (plot_polarities){

ObjectCreate( "Pol1", OBJ_TREND, 0, Time[1], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point-90*Point,4), Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point-90*Point,4));
               ObjectSet("Pol1", OBJPROP_COLOR, clrBlack);
               ObjectSet("Pol1", OBJPROP_STYLE, 2 );
               ObjectSet("Pol1", OBJPROP_WIDTH, 3 );
               ObjectSet("Pol1",OBJPROP_RAY_RIGHT,true);
               ObjectSet("Pol1", OBJPROP_BACK, 1 );
               
               
ObjectCreate( "Pol2", OBJ_TREND, 0, Time[1], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point+90*Point,4), Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point+90*Point,4));
               ObjectSet("Pol2", OBJPROP_COLOR, clrBlack);
               ObjectSet("Pol2", OBJPROP_STYLE, 2 );
               ObjectSet("Pol2", OBJPROP_WIDTH, 3 );
               ObjectSet("Pol2",OBJPROP_RAY_RIGHT,true);
               ObjectSet("Pol2", OBJPROP_BACK, 1 );               
        
ObjectCreate( "Pol3", OBJ_TREND, 0, Time[1], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point-90*Point,4), Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point-90*Point,4));
               ObjectSet("Pol3", OBJPROP_COLOR, clrBlack);
               ObjectSet("Pol3", OBJPROP_STYLE, 2 );
               ObjectSet("Pol3", OBJPROP_WIDTH, 3 );
               ObjectSet("Pol3",OBJPROP_RAY_RIGHT,true);
               ObjectSet("Pol3", OBJPROP_BACK, 1 );        

ObjectCreate( "Pol4", OBJ_TREND, 0, Time[1], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point+90*Point,4), Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point+90*Point,4));
               ObjectSet("Pol4", OBJPROP_COLOR, clrBlack);
               ObjectSet("Pol4", OBJPROP_STYLE, 2 );
               ObjectSet("Pol4", OBJPROP_WIDTH, 3 );
               ObjectSet("Pol4",OBJPROP_RAY_RIGHT,true);
               ObjectSet("Pol4", OBJPROP_BACK, 1 );     


      ObjectCreate("Pol00", OBJ_TEXT, 0, Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point-90*Point-.0000,4)); 
              ObjectSetText("Pol00", "      + "+addon, 20, "Arial Black", clrBlack);
               
               
                ObjectCreate("Pol01", OBJ_TEXT, 0, Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point+.0004,4)); 
              ObjectSetText("Pol01", "      0 0", 20, "Arial Black", clrBlack);
               

 ObjectCreate("Pol02", OBJ_TEXT, 0, Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,0)-FMax*10*Point+90*Point+.0008,4)); 
               ObjectSetText("Pol02", "      0 "+addon, 20, "Arial Black", clrBlack);


 ObjectCreate("Pol03", OBJ_TEXT, 0, Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point-90*Point-.0000,4)); 
               ObjectSetText("Pol03", "      0 "+addon, 20, "Arial Black", clrBlack);
               
               
                ObjectCreate("Pol04", OBJ_TEXT, 0, Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point+.0004,4)); 
               ObjectSetText("Pol04", "      0 0", 20, "Arial Black", clrBlack);
               

 ObjectCreate("Pol05", OBJ_TEXT, 0, Time[0], NormalizeDouble(iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,0)+FMax*10*Point+90*Point+.0008,4)); 
              ObjectSetText("Pol05", "      - "+addon, 20, "Arial Black", clrBlack);



}



//Print("Brownie: "+DoubleToStr(brownie[1],4));


deletetxt1("Mulan");

if (plot_9_counts){
for (i=190; i>=0; i--) {
      if (undercounter[i]>0){
       ObjectCreate("Mulan"+i,OBJ_TEXT, 0, Time[i], Low[i]-30*Point);
       ObjectSetText("Mulan"+i, IntegerToString(undercounter[i]), 13, "Arial Black", clrBlack);
//       ObjectCreate("Tekto"+i,OBJ_TEXT, 0, Time[i], Low[i]+20*Point);
 //      ObjectSetText("Tekto"+i, "3", 53, "Arial Black", clrRed);}
     if (undercounter[i]==9) {
             ObjectCreate("Mulanaw"+i,OBJ_TEXT, 0, Time[i], High[i]+40*Point);
             if (iOpen(symbol,0,iHighest(symbol,0,MODE_OPEN,9,i))>iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,9,i)))
             ObjectSetText("Mulanaw"+i, "Go Short ONLY Below: "+DoubleToString(NormalizeDouble(iOpen(symbol,0,iHighest(symbol,0,MODE_OPEN,9,i)),4),4), 23, "Arial Black", clrCrimson);
             else  ObjectSetText("Mulanaw"+i, "Go Short ONLY Below: "+DoubleToString(NormalizeDouble(iClose(symbol,0,iHighest(symbol,0,MODE_CLOSE,9,i)),4),4), 23, "Arial Black", clrCrimson);
         }
 
 }
       
   if (abovecounter[i]>0){
      ObjectCreate("Mulana"+i,OBJ_TEXT, 0, Time[i], High[i]+40*Point);
       ObjectSetText("Mulana"+i, IntegerToString(abovecounter[i]), 13, "Arial Black", clrBlue);
         
         if (abovecounter[i]==9) {
             ObjectCreate("Mulanaw"+i,OBJ_TEXT, 0, Time[i], Low[i]-40*Point);
             if (iOpen(symbol,0,iLowest(symbol,0,MODE_OPEN,9,i))<iClose(symbol,0,iLowest(symbol,0,MODE_CLOSE,9,i)))
             ObjectSetText("Mulanaw"+i, "Go Long ONLY Above: "+DoubleToString(NormalizeDouble(iOpen(symbol,0,iLowest(symbol,0,MODE_OPEN,9,i)),4),4), 23, "Arial Black", clrBlue);
             else  ObjectSetText("Mulanaw"+i, "Go Long ONLY Above: "+DoubleToString(NormalizeDouble(iClose(symbol,0,iLowest(symbol,0,MODE_CLOSE,9,i)),4),4), 23, "Arial Black", clrBlue);
         }
 //      ObjectCreate("Tekto"+i,OBJ_TEXT, 0, Time[i], High[i]+20*Point);
  //     ObjectSetText("Tekto"+i, "3", 53, "Arial Black", clrRed);}
}       
}
}   
//----
   return(0);
  }
//+------------------------------------------------------------------+

bool LowComparison(int currentpos, int length)
{
  bool condition = False; 
   for(int k=currentpos; k<currentpos+length; k++)
      if (iLow(Symbol(),0,k)<iMA(Symbol(),30, 135,0,MODE_EMA, PRICE_LOW,k)-.0004) {condition=True; break;}
   return (condition);
}

bool HighComparison(int currentpos, int length)
{
  bool condition = False; 
   for(int k=currentpos; k<currentpos+length; k++)
      if (iHigh(Symbol(),0,k)>iMA(Symbol(),30,135,0,MODE_EMA, PRICE_HIGH,k)+.0004) {condition=True; break;}
   return (condition);
}


double ChoppinessIndex(int period, int bar)
  {
    double Low0 = 0, High0 = 0, Close1 = 0;
    double TrueRangeLow = 0, TrueRangeHigh = 0, TrueRangeSum = 0, Input = 0;
    double PeriodTrueRangeLow = 999999999, PeriodTrueRangeHigh = 0, PeriodTrueRange = 0;

    for(int k=bar; k<bar+period; k++)
    {
      Low0   = iLow(NULL,0,k);
      High0  = iHigh(NULL,0,k);
      Close1 = iClose(NULL,0,k+1);

      if (Low0<Close1)  TrueRangeLow  = Low0;  else TrueRangeLow  = Close1;
      if (High0>Close1) TrueRangeHigh = High0; else TrueRangeHigh = Close1;
      
      if (TrueRangeLow <PeriodTrueRangeLow)  PeriodTrueRangeLow  = TrueRangeLow;  // find true low of period
      if (TrueRangeHigh>PeriodTrueRangeHigh) PeriodTrueRangeHigh = TrueRangeHigh; // find true high of period

      TrueRangeSum += TrueRangeHigh;
      TrueRangeSum -= TrueRangeLow;
    }

    PeriodTrueRange = PeriodTrueRangeHigh - PeriodTrueRangeLow;
    if (PeriodTrueRange==0) PeriodTrueRange = MathPow(10, -12); // avoid possibility of division by zero
    Input = TrueRangeSum / PeriodTrueRange;
    return ((logN(Input, 10, MathPow(10, -12)) / logN(period, 10, MathPow(10, -12))) * 100);
  }
  

double logN(double x, double base, double epsilon)
  {
    double integer = 0.0;
    if ((x < 1) || (base < 1)) return(0);

    while (x < 1)
    {
      integer -= 1;
      x *= base;
    }
  
    while (x >= base)
    {
      integer += 1;
      x /= base;
    }
  
    double partial = 0.5;
    x *= x;
    double decimal = 0.0;

    while (partial > epsilon)
    {
      if (x >= base)
      {
        decimal += partial;
        x = x / base;
      }
      partial *= 0.5;
      x *= x;
    }
    
    return (integer + decimal);
  } 


double StdDev(int shift, int samples)
  {
  double x0=0, x1=0, x2=0;
  for (int m=0; m<samples; m++)
    {
    x0 = ExtMapBuffer[m+shift];
    x1 += x0;
    x2 += MathPow(x0,2);
    }
  return(MathSqrt((x2-(x1*x1/samples))/(samples-1))); // minimum samples is 2, enforced in the init section
}
//+------------------------------------------------------------------+

   void deletetxt1(string text){
   for(int iObj=ObjectsTotal()-1; iObj >= 0; iObj--){
      string   on = ObjectName(iObj);
      if(StringFind(on, text) == 0)  ObjectDelete(on);
}  }
How Many Times will I regret the chances taken?
Edges are there to be used. Let them be non-Fibonacci based projected distance values (extension fills) or 216-sample 2.5 SD BB on the hourly breached for the first time for a long yime.

Consistent #3

Lesson 4

What’s my edge? What’s my edge?

Where’s my brain? Say it louder!

Recoil. That’s the wave between the measuring & the divergent leg. It is typically 35-70 pips long.

Turn around, Breitbart.

Blue steel lens flare from the 80s.

It is best to use a 30-minute chart for this. The devil is in the retail.

A kick-off move or measuring leg can assert dominance by printing 150 degrees (105 pips). The same time a divergent leg may be singing the blues when it is just as ferocious.

It’s the damn cold night. Dim Gray lines. Was lazy to eliminate all other plots.
So here’s some real life calculation for scaling in.

155 degrees = 108 pips

145 degrees = 101 pips

135 degrees = 94 pips

I would put 1/4th size on the two closer prints.

Measure from the far end of the recoil of course.

deletetxt1("LAMBDA");

for (i =2 ; i <= 180; i++) {
 if (High[i]>High[i-1] && High[i]>High[i+1]  && High[i]<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,60,i))
 && High[i]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i)-130*Point
 ){
   j=i;
   while (j>0 && j>i-6){
    if (Low[j]<Low[j+1] && Low[j]<Low[j-1] && High[i]-Low[j]<700*Point && High[i]-Low[j]>350*Point
    && Low[j]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,30,j)) && High[i]<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i,0))) break;
    j--;
   }
   if (j>0 && Low[j]<Low[j+1] && Low[j]<Low[j-1]  && High[i]<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,i,0)) 
   // && Low[i]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_LOWER,i)+160*Point
    && High[i]-Low[j]>350*Point) {
        ObjectCreate(0,"LAMBDA"+DoubleToStr(i),OBJ_TREND,0,Time[i],High[i],Time[j],Low[j]);
         ObjectSetInteger(0,"LAMBDA"+DoubleToStr(i),OBJPROP_RAY_RIGHT,false);
         ObjectSet("LAMBDA"+DoubleToStr(i),OBJPROP_COLOR,clrDimGray);
         ObjectSet("LAMBDA"+DoubleToStr(i),OBJPROP_WIDTH,6); 
         ObjectSet("LAMBDA"+DoubleToStr(i),OBJPROP_BACK,1);
         i=i+4;
   }
 
 }
 }
 
for (i =2 ; i <= 180; i++) {
 if (Low[i]<Low[i+1] && Low[i]<Low[i-1] && Low[i+2]>Low[i]  && Low[i]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_LOWER,i)
 && Low[i]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,60,i))
 ){
   j=i;
   while (j>0 && j>i-6){
    if (High[j]>High[j-1] && High[j]>High[j+1] && High[j]>High[j-2] && High[j]-Low[i]<700*Point && High[j]-Low[i]>350*Point
    && High[j]<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,30,j)) 
  //  && Low[i]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,i,0))
    ) break;
    j--;
   }
   if (j>0 && High[j]>High[j-1] && High[j]>High[j+1]  
   //&& High[j]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,j)
   //&& Low[i]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,i,0))
    && High[j]-Low[i]>350*Point) {
        ObjectCreate(0,"LAMBDA"+DoubleToStr(i),OBJ_TREND,0,Time[j],High[j],Time[i],Low[i]);
         ObjectSetInteger(0,"LAMBDA"+DoubleToStr(i),OBJPROP_RAY_RIGHT,false);
         ObjectSet("LAMBDA"+DoubleToStr(i),OBJPROP_COLOR,clrDimGray);
         ObjectSet("LAMBDA"+DoubleToStr(i),OBJPROP_WIDTH,6); 
         ObjectSet("LAMBDA"+DoubleToStr(i),OBJPROP_BACK,1);
    i=i+4;
   }
  } 
} 

Not saying the current filters are final, but this is what I’m working with currently.

137 pips was the length of this leg. I only started buying from 0.9952 – all trades made money, and I’m out for the day. This is what an edge looks like.

Avoid fading a tight squeeze – as mentioned earlier.

Lesson 5

Auto targeting

One edge can be knowing what to expect statistically from the next measuring leg back inside the BB. From the fractal this seems to be 70 pips. Nothing random here. 2x fluctuation size. Have you been paying attention to the size of the recoils? Minimum 35 pips ~ fluctuation size.


/////Long Target - Code 77 

j=2;
while (iFractals(symbol,15,MODE_LOWER,j)!=true && j<100)
j++;  

if( OrderType()==OP_BUY && (OrderStopLoss()==0.77 || OrderTakeProfit()==7.7) && OrderTakeProfit()!=NormalizeDouble(iLow(symbol,15,j)+700*Point,4) && iLow(symbol,15,j)+700*Point>OrderOpenPrice() 
 ) 
    { 
       OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(iLow(symbol,15,j)+700*Point,4), OrderExpiration());
          Print("LONG Target Set to 70 pips from fractal low @ "+DoubleToStr(NormalizeDouble(iLow(symbol,15,j)+700*Point,4),4));}


/////Short Target  - 77


j=2;     
     while (iFractals(symbol,15,MODE_UPPER,j)!=true && j<100)
j++;
if( OrderType()==OP_SELL && (OrderStopLoss()==7.7 || OrderTakeProfit()==0.77) && OrderTakeProfit()!=NormalizeDouble(iHigh(symbol,15,j)-700*Point,4) && iHigh(symbol,15,j)-700*Point<OrderOpenPrice()
 ) 
   {  


     OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(iHigh(symbol,15,j)-700*Point,4), OrderExpiration());
           Print("SHORT Target Set to 70 pips from fractal high @ "+DoubleToStr(NormalizeDouble(iHigh(symbol,15,j)-700*Point,4),4));  }    
   

I don’t know who you are by now, but I’m with you.

Yet another target in the low .9840s

Consistent #2

Lesson 3

tips & tips

I would suggest adding a 120-sample HL2 based Bollinger Bands on the 15-min chart. On the hourly this means 30-sample of course.

In a non-trending market every divergent leg is fadeable. On the hourly often the first fractal print would be the end of the measuring leg.

Corrective waves would always have a measuring leg (A-green) and a divergent leg (C-blue).

You can already utilize the previous lessons: the leveraged moves result in timid, low energy waves & the divergent leg would barely get out of the band, whilst the inistor waves are likely to spike outside plenty.

Be careful with squeezes. It is quite visible when this happens. The MT4 does not come with Keltner channels by default. If most of the measuring leg falls outside the bands, do not fade / get in on a continuation.

Don’t pay attention to people trading on 1-minute timeframe. They have nothing valuable to teach you.

Present #1

Projected Distance 240

//+------------------------------------------------------------------+
//|                                           Projected Distance 240 |
//|                                                      by Macdulio |
//|                                                                  |
//+------------------------------------------------------------------+

#include <stdlib.mqh>

#property copyright "Copyright © 2018, Macdulio" 
#property link      "https://forexfore.blog" 
#property description "V1.0"
#property description "Projected Distance 240"
#property description ""
#property description "Extension / Beat Possibilities"
#property description "Plotted for figuring Termminal Move"
#property description "Targets."


#property indicator_chart_window
#property indicator_buffers 6
extern int lookback = 250;
extern bool plot_engulfing=false;
double ATRA;
double ATRAVG[];

double HighBuffer[];
double LowBuffer[];
double HighBuffer2[];
double LowBuffer2[];
extern double FSize=32;
double FMax = FSize*6/5;
string symbol = Symbol(); 
int last_encounter_u, last_encounter_d;
int init()
  {
 
   IndicatorBuffers(15);
   
      SetIndexBuffer(0,HighBuffer);
   SetIndexBuffer(1,LowBuffer);   
   SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,4,Green);
   SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,4,Green);
   SetIndexBuffer(2,HighBuffer2);
   SetIndexBuffer(3,LowBuffer2);   
   SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID,4,Crimson);
   SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID,4,Crimson);   
 

   

  ArrayResize(ATRAVG, 103);
   ArrayInitialize(ATRAVG, 0); 


  ArrayResize(HighBuffer, Bars);
   ArrayInitialize(HighBuffer, EMPTY_VALUE); 
  ArrayResize(LowBuffer, Bars);
   ArrayInitialize(LowBuffer, EMPTY_VALUE);              

  ArrayResize(HighBuffer2, Bars);
   ArrayInitialize(HighBuffer2, EMPTY_VALUE); 
  ArrayResize(LowBuffer2, Bars);
   ArrayInitialize(LowBuffer2, EMPTY_VALUE);    

   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
 int j;
   
   
   ATRA = 0;
   for (int i=1; i<=3; i++){ 
     ATRA = ATRA+iATR(NULL,1440,14,i);}
   
   for (i=0; i<=120; i++){ 
     ATRAVG[i] = ATRA/3; }
        

deletetxt1("Projected");
deletetxt1("EPERJES");
deletetxt1("KAROLY");
deletetxt1("EGULF");

  for(i=lookback; i>=0; i--) {  
       LowBuffer[i]=EMPTY_VALUE;
    HighBuffer[i]=EMPTY_VALUE;
     LowBuffer2[i]=EMPTY_VALUE;
    HighBuffer2[i]=EMPTY_VALUE;
    
 if (plot_engulfing){
 
   if (Open[i]>=Close[i+1]-20*Point && Close[i+1]>Open[i+1] && Close[i]<Open[i+1] && Low[i]<Low[i+1]){
          ObjectCreate("EGULF"+IntegerToString(i), OBJ_TEXT, 0, Time[i+1], (High[i]+Low[i])/2+150*Point);  
                ObjectSetText("EGULF"+IntegerToString(i), " E", 46, "Impact",  clrFireBrick);
                ObjectSet("EGULF"+IntegerToString(i),OBJPROP_BACK,1);
      }
 
    if (Open[i]<=Close[i+1]+20*Point && Close[i+1]<Open[i+1] && Close[i]>Open[i+1] && High[i]>High[i+1]){
          ObjectCreate("EGULF"+IntegerToString(i), OBJ_TEXT, 0, Time[i+1], (High[i]+Low[i])/2+150*Point);  
                ObjectSetText("EGULF"+IntegerToString(i), " E", 46, "Impact",  clrDarkGreen);
                ObjectSet("EGULF"+IntegerToString(i),OBJPROP_BACK,1);
      }
 }
 
 ////upside projection
 
 
        if (Period()==5 && i<30 && iHigh(NULL,240,i+1)-iLow(NULL,240,i+3)>FSize*27*Point && iHigh(NULL,240,i+1)>iHigh(NULL,240,i+3) && iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5>iMA(NULL,0,52,0,MODE_EMA, PRICE_HIGH,i)+FMax*5*Point && !(iLow(symbol,240,i+1)<iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1))){
               LowBuffer[i*48]=iHigh(NULL,240,i+1);
               HighBuffer[i*48]=iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5;
            }    
 
   else
          if (Period()==60 && iHigh(NULL,240,i+1)-iLow(NULL,240,i+3)>FSize*27*Point && iHigh(NULL,240,i+1)>iHigh(NULL,240,i+3) && iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5>iMA(NULL,0,52,0,MODE_EMA, PRICE_HIGH,i)+FMax*5*Point && !(iLow(symbol,240,i+1)<iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1))) {
             LowBuffer[i*4]=iHigh(NULL,240,i+1);
             HighBuffer[i*4]=iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5;}
         
else 
 if (Period()>60 && iHigh(NULL,240,i+1)-iLow(NULL,240,i+3)>FSize*27*Point && iHigh(NULL,240,i+1)>iHigh(NULL,240,i+3) && iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5>iMA(NULL,0,52,0,MODE_EMA, PRICE_HIGH,i)+FMax*5*Point && !(iLow(symbol,240,i+1)<iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1))) {
            if (Period()==240){ LowBuffer[i]=iHigh(NULL,240,i+1);
             HighBuffer[i]=iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5;}
             
              ObjectCreate("ProjectedXLR"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5+20*Point);  
                ObjectSetText("ProjectedXLR"+IntegerToString(i), " "+DoubleToStr(NormalizeDouble(iHigh(NULL,240,i+1)+((iHigh(NULL,240,i+1)-iLow(NULL,240,i+3)))*.5,4),4), 16, "Arial Black",  clrBlack);
             
              ObjectCreate("ProjectedXR"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5+20*Point);  
                ObjectSetText("ProjectedXR"+IntegerToString(i), DoubleToStr(NormalizeDouble(iHigh(NULL,240,i+1)+((iHigh(NULL,240,i+1)-iLow(NULL,240,i+3)))*.5,4),4), 16, "Arial Black",  clrCrimson);
                if (iHigh(NULL,240,i)-iLow(NULL,240,iLowest(NULL,240,MODE_LOW,50,i))<1800*Point) ObjectSetText("ProjectedXR"+IntegerToString(i), DoubleToStr(NormalizeDouble(iHigh(NULL,240,i+1)+((iHigh(NULL,240,i+1)-iLow(NULL,240,i+3)))*.5,4),4), 16, "Arial Black",  clrGray);
             
                   
                   if (HighBuffer[i+2]==EMPTY_VALUE && HighBuffer[i+1]!=EMPTY_VALUE && HighBuffer[i]<HighBuffer[i+1]) {
                      ObjectCreate("ProjectedXCR"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5-400*Point+20*Point);  
                ObjectSetText("ProjectedXCR"+IntegerToString(i), " Sq. Exit: "+DoubleToStr(NormalizeDouble(iHigh(NULL,240,i+1)+((iHigh(NULL,240,i+1)-iLow(NULL,240,i+3)))*.5-400*Point,4),4), 16, "Impact",  clrBlack);
             
              ObjectCreate("ProjectedXDR"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], iHigh(NULL,240,i+1)+(iHigh(NULL,240,i+1)-iLow(NULL,240,i+3))*.5-400*Point+20*Point);  
                ObjectSetText("ProjectedXDR"+IntegerToString(i), "Sq. Exit: "+DoubleToStr(NormalizeDouble(iHigh(NULL,240,i+1)+((iHigh(NULL,240,i+1)-iLow(NULL,240,i+3)))*.5-400*Point,4),4), 16, "Impact",  clrDodgerBlue);
                   
                   }
      
             if (Period()>60 && i>0){
               j=i-1;
               while (j>=0){
                  if (iHigh(symbol,0,j)>HighBuffer[i] && iClose(symbol,0,j)<HighBuffer[i]) break;    
                 j--;            
               }
               if (iHigh(symbol,0,j)>HighBuffer[i] && iClose(symbol,0,j)<HighBuffer[i] && HighBuffer[i]>iMA(NULL,0,52,0,MODE_EMA, PRICE_HIGH,i)+FMax*5*Point) {
               
                if (i<1000){                  
                 ObjectCreate(0,"Projected"+i,OBJ_TREND,0,Time[i],HighBuffer[i],Time[j],HighBuffer[i]);
                 ObjectSetInteger(0,"Projected"+i,OBJPROP_RAY_RIGHT,false);
                 ObjectSet("Projected"+i,OBJPROP_COLOR,clrRed);
                 ObjectSet("Projected"+i,OBJPROP_WIDTH,3); 
                 ObjectSet("Projected"+i,OBJPROP_BACK,1); 
                 last_encounter_u = j;
                 }
                 
                 if (i<40){
                  ObjectCreate("Projected"+IntegerToString(j), OBJ_TEXT, 0, Time[j+2], HighBuffer[i]+20*Point);  
                ObjectSetText("Projected"+IntegerToString(j), "X-Fill!", 16, "Arial Black",  clrCrimson);
   
                }
                 
                 
                 }
                 
                else if (j<0){ 
                 
                                      
                   ObjectCreate(0,"Projected"+i,OBJ_TREND,0,Time[5],HighBuffer[i],Time[0],HighBuffer[i]);
                   ObjectSetInteger(0,"Projected"+i,OBJPROP_RAY_RIGHT,false);
                   ObjectSet("Projected"+i,OBJPROP_COLOR,clrPurple);
                   ObjectSet("Projected"+i,OBJPROP_WIDTH,3); 
                   ObjectSet("Projected"+i,OBJPROP_BACK,1); 
                 
                 if (i<140 && j>=0){
                  ObjectCreate("Projectedx"+IntegerToString(i), OBJ_TEXT, 0, Time[13], HighBuffer[i]+80*Point);  
                   ObjectSetText("Projectedx"+IntegerToString(i), "UnFilled: "+DoubleToStr(HighBuffer[i],4), 16, "Arial Black",  clrMagenta);}
                 }
                 
             }
             
         }
         
  
         
//downside projection         
         
         
       if (Period()==5 && i<30 && iHigh(NULL,240,i+3)-iLow(NULL,240,i+1)>FSize*27*Point && iLow(NULL,240,i+1)<iLow(NULL,240,i+3) && iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5<iMA(NULL,0,52,0,MODE_EMA, PRICE_LOW,i)-FMax*5.5*Point && !(iClose(symbol,240,i+1)>iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1) && iLow(symbol,240,i+1)<iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1))  ){
            LowBuffer2[i*48]=iLow(NULL,240,i+1);
            HighBuffer2[i*48]=iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5;    
            
         }


     else  if (Period()==60 && iHigh(NULL,240,i+3)-iLow(NULL,240,i+1)>FSize*27*Point && iLow(NULL,240,i+1)<iLow(NULL,240,i+3) && iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5<iMA(NULL,0,52,0,MODE_EMA, PRICE_LOW,i)-FMax*5.5*Point && !(iClose(symbol,240,i+1)>iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1) && iLow(symbol,240,i+1)<iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1)) && iLow(NULL,240,iLowest(NULL,0,MODE_LOW,3,i))<iLow(NULL,240,iLowest(NULL,0,MODE_LOW,9,i+3))-250*Point){
           LowBuffer2[i*4]=iLow(NULL,240,i+1);
            HighBuffer2[i*4]=iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5;  }
            
         
         
        else  if (Period()>60 && iHigh(NULL,240,i+3)-iLow(NULL,240,i+1)>FSize*27*Point && iLow(NULL,240,i+1)<iLow(NULL,240,i+3) && iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5<iMA(NULL,0,52,0,MODE_EMA, PRICE_LOW,i)-FMax*5.5*Point && !(iClose(symbol,240,i+1)>iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1) && iLow(symbol,240,i+1)<iMA(NULL,240,52,0,MODE_EMA, PRICE_MEDIAN,i+1)) && iLow(NULL,240,iLowest(NULL,0,MODE_LOW,3,i))<iLow(NULL,240,iLowest(NULL,0,MODE_LOW,9,i+3))-250*Point){
         if (Period()==240){   LowBuffer2[i]=iLow(NULL,240,i+1);
            HighBuffer2[i]=iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5;  }
            
            
            ObjectCreate("ProjectedXLR"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5+50*Point);  
                ObjectSetText("ProjectedXLR"+IntegerToString(i), " "+DoubleToStr(NormalizeDouble(iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5,4),4), 16, "Arial Black",  clrBlack);
              ObjectCreate("ProjectedXR"+IntegerToString(i), OBJ_TEXT, 0, Time[i+2], iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5+50*Point);  
                ObjectSetText("ProjectedXR"+IntegerToString(i), DoubleToStr(NormalizeDouble(iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5,4),4), 16, "Arial Black",  clrDarkGreen);
                if (iHigh(NULL,240,iHighest(NULL,240,MODE_HIGH,50,i))-iLow(NULL,240,i)<1700*Point) ObjectSetText("ProjectedXR"+IntegerToString(i), DoubleToStr(NormalizeDouble(iLow(NULL,240,i+1)-(iHigh(NULL,240,i+3)-iLow(NULL,240,i+1))*.5,4),4), 16, "Arial Black",  clrGray);
      
                 if (Period()>60 && i>0){
               j=i-1;
               while (j>=0){
                  if (iLow(symbol,0,j)<HighBuffer2[i] && iHigh(symbol,0,j)>HighBuffer2[i]) break;    
                 j--;            
               }
               if (iLow(symbol,0,j)<HighBuffer2[i] && iHigh(symbol,0,j)>HighBuffer2[i] && HighBuffer2[i]<iMA(NULL,0,52,0,MODE_EMA, PRICE_LOW,i)-FMax*5*Point) {
               
                 if (i<1000){               
                 ObjectCreate(0,"Projectedx"+i,OBJ_TREND,0,Time[i],HighBuffer2[i],Time[j],HighBuffer2[i]);
                 ObjectSetInteger(0,"Projectedx"+i,OBJPROP_RAY_RIGHT,false);
                 ObjectSet("Projectedx"+i,OBJPROP_COLOR,clrDarkGreen);
                 ObjectSet("Projectedx"+i,OBJPROP_WIDTH,3); 
                 ObjectSet("Projectedx"+i,OBJPROP_BACK,1); 
                 last_encounter_d = j;
                 }
                 
                 
                 if (i<40){
                 ObjectCreate("Projected"+IntegerToString(j), OBJ_TEXT, 0, Time[j+2], HighBuffer2[i]-10*Point);  
                ObjectSetText("Projected"+IntegerToString(j), "X-Fill!", 16, "Arial Black",  clrDarkGreen);
   
                }
             }
             
             else if (j<0){ 
                  ObjectCreate(0,"Projectedx"+i,OBJ_TREND,0,Time[5],HighBuffer2[i],Time[0],HighBuffer2[i]);
                 ObjectSetInteger(0,"Projectedx"+i,OBJPROP_RAY_RIGHT,false);
                 ObjectSet("Projectedx"+i,OBJPROP_COLOR,clrBlue);
                 ObjectSet("Projectedx"+i,OBJPROP_WIDTH,3); 
                 ObjectSet("Projectedx"+i,OBJPROP_BACK,1); 
                 
                 
                 if (i<140 && j>=0){
                 ObjectCreate("Projectedy"+IntegerToString(i), OBJ_TEXT, 0, Time[13], HighBuffer2[i]+50*Point);  
                ObjectSetText("Projectedy"+IntegerToString(i), "UnFilled: "+DoubleToStr(HighBuffer2[i],4), 16, "Arial Black",  clrPurple);}
             }
            }
            
            }

      if (Period()==240 && HighBuffer[i+9]!=EMPTY_VALUE && i<50  && High[i+8]<HighBuffer[i+9] && High[i+7]<HighBuffer[i+9] && High[i+6]<HighBuffer[i+9] && High[i+5]<HighBuffer[i+9] && High[i+4]<HighBuffer[i+9] && High[i+3]<HighBuffer[i+9] && High[i+2]<HighBuffer[i+9] && High[i+1]<HighBuffer[i+9]) {
        
       if (i>1) {
        
        j=i-1;
        
        while (j>=0){
         if (High[j]>HighBuffer[i+9]) break;
         j--;}
        
         if (j<0) {
        
         ObjectCreate("EPERJES"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+2], HighBuffer[i+9], Time[i], HighBuffer[i+9]+FSize/2*10*Point);
         ObjectSetInteger(0,"EPERJES"+DoubleToStr(i),OBJPROP_COLOR,clrOrange);
      }}}
      
       if (Period()==240 && HighBuffer2[i+9]!=EMPTY_VALUE && i<50  && Low[i+8]>HighBuffer2[i+9] && Low[i+7]>HighBuffer2[i+9] && Low[i+6]>HighBuffer2[i+9] && Low[i+5]>HighBuffer2[i+9] && Low[i+4]>HighBuffer2[i+9] && Low[i+3]>HighBuffer2[i+9] && Low[i+2]>HighBuffer2[i+9] && Low[i+1]>HighBuffer2[i+9]) {
       
          if (i>1) {
        
        j=i-1;
        
        while (j>0){
         if (Low[j]<HighBuffer2[i+9]) break;
         j--;}
        
         if (j==0) {
         ObjectCreate("EPERJES"+DoubleToStr(i), OBJ_RECTANGLE, 0, Time[i+2], HighBuffer2[i+9], Time[i], HighBuffer2[i+9]-FSize/2*10*Point);
         ObjectSetInteger(0,"EPERJES"+DoubleToStr(i),OBJPROP_COLOR,clrOrange);
      }}}
}


deletetxt1("KAROLY");

if (last_encounter_u>8 && last_encounter_u<last_encounter_d){ 
            ObjectCreate("EPERJES", OBJ_TEXT, 0, Time[25], Close[0]+250*Point);  
            ObjectSetText("EPERJES", "Play Short Below: "+DoubleToStr(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,last_encounter_u-8)),4),4), 16, "Arial Black",  clrCrimson);
            
            
             ObjectCreate("KAROLY", OBJ_TEXT, 0, Time[25], Close[0]+150*Point);  
            ObjectSetText("KAROLY", "Play Long From: "+DoubleToStr(NormalizeDouble(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,last_encounter_u-8))+60*Point,4),4), 16, "Arial Black",  clrPurple);
            
     
   }


if (last_encounter_d>8 && last_encounter_u>last_encounter_d){ 
            ObjectCreate("EPERJES", OBJ_TEXT, 0, Time[25], Close[0]+250*Point);  
            ObjectSetText("EPERJES", "Play Long Above: "+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,8,last_encounter_d-8)),4),4), 16, "Arial Black",  clrDarkGreen);
            
            ObjectCreate("KAROLY", OBJ_TEXT, 0, Time[25], Close[0]+150*Point);  
            ObjectSetText("KAROLY", "Play Short From: "+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,8,last_encounter_d-8))-60*Point,4),4), 16, "Arial Black",  clrPurple);
            
           
   }
   
   if (last_encounter_u>8){
   
             ObjectCreate("EPERJESRACK"+i, OBJ_RECTANGLE, 0, Time[last_encounter_u], Close[last_encounter_u], Time[last_encounter_u-8], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,9,last_encounter_u-8)));
           ObjectSet("EPERJESRACK"+i,OBJPROP_BACK,1);
           if (Close[0]<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,9,last_encounter_u-8))+60*Point) ObjectSetInteger(0,"EPERJESRACK"+i,OBJPROP_COLOR,clrCrimson);
            else ObjectSetInteger(0,"EPERJESRACK"+i,OBJPROP_COLOR,clrGreen);
}


   if (last_encounter_d>8){
    ObjectCreate("EPERJESBACK"+i, OBJ_RECTANGLE, 0, Time[last_encounter_d], Close[last_encounter_d], Time[last_encounter_d-8], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,9,last_encounter_d-8)));
           ObjectSet("EPERJESBACK"+i,OBJPROP_BACK,1);
            
         if (Close[0]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,9,last_encounter_d-8))-60*Point) ObjectSetInteger(0,"EPERJESBACK"+i,OBJPROP_COLOR,clrGreen);
         else ObjectSetInteger(0,"EPERJESBACK"+i,OBJPROP_COLOR,clrCrimson);
            

}

if (Period()<240){
for(i=lookback; i>=0; i--) {  
  if (i>0 && HighBuffer[i]!=EMPTY_VALUE ){
    
               j=i-1;
               while (j>=0){
                  if (High[j]>HighBuffer[i] && Low[j]<HighBuffer[i] && HighBuffer[i]!=EMPTY_VALUE) break;    
                 j--;            
               }
               if (High[j]>HighBuffer[i] && Low[j]<HighBuffer[i] && HighBuffer[i]!=EMPTY_VALUE) {
               
                 ObjectCreate(0,"Projected"+i,OBJ_TREND,0,Time[i],HighBuffer[i],Time[j],HighBuffer[i]);
                 ObjectSetInteger(0,"Projected"+i,OBJPROP_RAY_RIGHT,false);
                 ObjectSet("Projected"+i,OBJPROP_COLOR,clrRed);
                 ObjectSet("Projected"+i,OBJPROP_WIDTH,3); 
                 ObjectSet("Projected"+i,OBJPROP_BACK,1); 
                                  
                 ObjectCreate("Projected"+IntegerToString(j), OBJ_TEXT, 0, Time[j+2], HighBuffer[i]+20*Point);  
                ObjectSetText("Projected"+IntegerToString(j), "X-Fill! 40+pips counter", 16, "Arial Black",  clrCrimson);
                 
                 
                 }
                 
                else if (j<0 && HighBuffer[i]!=EMPTY_VALUE){ 
                 
                  ObjectCreate(0,"Projected"+i,OBJ_TREND,0,Time[5],HighBuffer[i],Time[0],HighBuffer[i]);
                   ObjectSetInteger(0,"Projected"+i,OBJPROP_RAY_RIGHT,false);
                   ObjectSet("Projected"+i,OBJPROP_COLOR,clrPurple);
                   ObjectSet("Projected"+i,OBJPROP_WIDTH,3); 
                   ObjectSet("Projected"+i,OBJPROP_BACK,1); 
                 
                 if (j>=0){
                  ObjectCreate("Projectedx"+IntegerToString(i), OBJ_TEXT, 0, Time[13], HighBuffer[i]+80*Point);  
                   ObjectSetText("Projectedx"+IntegerToString(i), "UnFilled: "+DoubleToStr(HighBuffer[i],4), 16, "Arial Black",  clrMagenta);}
                 }
                 
             }

     if (i>0 && HighBuffer2[i]!=EMPTY_VALUE){
               
               j=i-1;
               while (j>=0){
                  if (Low[j]<HighBuffer2[i] && High[j]>HighBuffer2[i] && HighBuffer2[i]!=EMPTY_VALUE) break;    
                 j--;            
               }
               if (Low[j]<HighBuffer2[i] && High[j]>HighBuffer2[i] && HighBuffer2[i]!=EMPTY_VALUE) {
               
                 ObjectCreate(0,"Projectedx"+i,OBJ_TREND,0,Time[i],HighBuffer2[i],Time[j],HighBuffer2[i]);
                 ObjectSetInteger(0,"Projectedx"+i,OBJPROP_RAY_RIGHT,false);
                 ObjectSet("Projectedx"+i,OBJPROP_COLOR,clrDarkGreen);
                 ObjectSet("Projectedx"+i,OBJPROP_WIDTH,3); 
                 ObjectSet("Projectedx"+i,OBJPROP_BACK,1); 
                 
                 
                 ObjectCreate("Projected"+IntegerToString(j), OBJ_TEXT, 0, Time[j+2], HighBuffer2[i]-10*Point);  
                ObjectSetText("Projected"+IntegerToString(j), "X-Fill! 40+pips counter", 16, "Arial Black",  clrDarkGreen);
             }
             
             else if (j<0 && HighBuffer2[i]!=EMPTY_VALUE){ 
                  ObjectCreate(0,"Projected"+i,OBJ_TREND,0,Time[5],HighBuffer2[i],Time[j],HighBuffer2[i]);
                 ObjectSetInteger(0,"Projected"+i,OBJPROP_RAY_RIGHT,false);
                 ObjectSet("Projected"+i,OBJPROP_COLOR,clrBlue);
                 ObjectSet("Projected"+i,OBJPROP_WIDTH,3); 
                 ObjectSet("Projected"+i,OBJPROP_BACK,1); 
                 
                 
                 if (j>=0){
                 ObjectCreate("Projectedy"+IntegerToString(i), OBJ_TEXT, 0, Time[13], HighBuffer2[i]+50*Point);  
                ObjectSetText("Projectedy"+IntegerToString(i), "UnFilled: "+DoubleToStr(HighBuffer2[i],4), 16, "Arial Black",  clrPurple);}
             }
            }

}
}




  ObjectCreate("Projected", OBJ_TEXT, 0, Time[13], (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,30,0))+iLow(symbol,0,iLowest(symbol,0,MODE_LOW,30,0)))/2);  
                ObjectSetText("Projected", "Q: "+DoubleToStr(NormalizeDouble(ATRAVG[1]*10000,4),1), 16, "Arial Black",  clrPurple);


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

Consistent #1

Lesson 1

There are insisting and leveraged kick offs of new moves.

The insisting move comes off of a lower low or a higher high. The first pullback to beyond the 8-hour EMA of opens is a continuation entry. Another example below.

The leveraged starts push the measuring point to the new fractal made by the higher low / lower high. This gives some extra room to work with, as any single strike would have an ultimate cap. The pullback to the 8-hour EMA does not initiate another leg in the same direction, the entire move should be measured as 1 leg.

The move up from 20 to 170 was about the maximum 150, the move down from 145 to 20 was 125. Bulls are in charge, the next move would likely be to a higher high / highs.

Lesson 2

The first glimpse at the math.

Look at how the terminal fractal made it beyond 200, or 100+ points beyond the range itself. The prior swing high stopped at 190.

The white diagonal lines represent the following Bull / Bear sequence.

150, 125, 125, 70, 125, 90, 100, 50, 120, 70, 120

You can see that the bulls always had a larger print during this sequence. A 150 down started the new, negative sequence. This brings up to the upper limit of a move: 150. Pips? Not. Degrees on the pinwheel of the range. They can not be translated to pips without another piece of information: new full charge of consolidation reached during the move or not.

150 loosely equates to 105 pips (the MediumSlateBlue lines are 105 pips displacements of the 100-sample swing lows, the chart is still 15 Minute to be responsive enough to energy changes), but mind the measuring point, it would have to be from the Leverage if there was one, otherwise from the Insistor.

If price stopped here it would be printing a head, the next move up to the overbought level after a drop and/or a consolidation would be a full size short entry by itself.

The current down sequence had 150, 50, 150 which sounds like an ABC terminal sequence. We had a right foot out for the new measuring point, which put price at 0 adjusted for the current consolidation range and we are now going for the swing high, with price at the moment at 105. What we already know is that it won’t be beyond 150 and this move should be final due to coming off a Leverage fractal. During a move in progress it should not exceed the taxi line (green median / history of the purple arrow / consolidation mean) by more than 36 pips if the bears would like to stay in power.

As per my current settings, I am looking for 100 printed candles without any one of them getting above the green line by 36 pips for a Ryan Goosing entry. This would make it possible to define risk and participate in the meat of a move by scaling in with full size or less at 10, 20, 30 above the taxi line. This entry would have to wait another 24 hours as it stands, for price has come away from the

 i=0;
 while (i<=100){
   if (High[i]-taxi[i]>360*Point) break;
   if (NBED[i]!=EMPTY_VALUE && Low[i]<NBED[i]-760*Point) break;
   i++;
 }
 if (i==101) {
     ObjectCreate("FUNNATURE"+14,OBJ_LABEL,1, 2,0);
      ObjectSetText("FUNNATURE"+14,"GOOSING                 ",11,"Arial Black");
  ObjectSet("FUNNATURE"+14,OBJPROP_CORNER,1);
    ObjectSet("FUNNATURE"+14,OBJPROP_XDISTANCE,35);
  ObjectSet("FUNNATURE"+14,OBJPROP_YDISTANCE,57);
 ObjectSet("FUNNATURE"+14,OBJPROP_COLOR,clrCrimson);
 
 
     ObjectCreate("FUNNATURE"+16,OBJ_LABEL,1, 2,0);
      ObjectSetText("FUNNATURE"+16,"S1: "+DoubleToStr(NormalizeDouble(taxi[0]+100*Point,4),4) ,11,"Arial Black");
  ObjectSet("FUNNATURE"+16,OBJPROP_CORNER,0);
    ObjectSet("FUNNATURE"+16,OBJPROP_XDISTANCE,35);
  ObjectSet("FUNNATURE"+16,OBJPROP_YDISTANCE,57);
 ObjectSet("FUNNATURE"+16,OBJPROP_COLOR,clrCrimson);
 
  ObjectCreate("FUNNATURE"+17,OBJ_LABEL,1, 2,0);
      ObjectSetText("FUNNATURE"+17,"S2: "+DoubleToStr(NormalizeDouble(taxi[0]+200*Point,4),4) ,11,"Arial Black");
  ObjectSet("FUNNATURE"+17,OBJPROP_CORNER,0);
    ObjectSet("FUNNATURE"+17,OBJPROP_XDISTANCE,35);
  ObjectSet("FUNNATURE"+17,OBJPROP_YDISTANCE,37);
 ObjectSet("FUNNATURE"+17,OBJPROP_COLOR,clrCrimson);
 
   ObjectCreate("FUNNATURE"+18,OBJ_LABEL,1, 2,0);
      ObjectSetText("FUNNATURE"+18,"S3: "+DoubleToStr(NormalizeDouble(taxi[0]+300*Point,4),4) ,11,"Arial Black");
  ObjectSet("FUNNATURE"+18,OBJPROP_CORNER,0);
    ObjectSet("FUNNATURE"+18,OBJPROP_XDISTANCE,35);
  ObjectSet("FUNNATURE"+18,OBJPROP_YDISTANCE,17);
 ObjectSet("FUNNATURE"+18,OBJPROP_COLOR,clrCrimson);
 
  
 ObjectCreate("FUNNATURE"+19,OBJ_LABEL,1, 2,0);
      ObjectSetText("FUNNATURE"+19,"TGT: "+DoubleToStr(NormalizeDouble(taxi[0]-700*Point,4),4)+", "+DoubleToStr(NormalizeDouble(dermia2[0],4),4)+"-, HEAD" ,11,"Arial Black");
  ObjectSet("FUNNATURE"+19,OBJPROP_CORNER,0);
    ObjectSet("FUNNATURE"+19,OBJPROP_XDISTANCE,235);
  ObjectSet("FUNNATURE"+19,OBJPROP_YDISTANCE,17);
 ObjectSet("FUNNATURE"+19,OBJPROP_COLOR,clrNavy);
 }

Dermia2 is the lower MediumSlateBlue line that is being adjusted by the swing highs.

if (iFractals(symbol,0,MODE_UPPER,i) && High[i]>taxi[i] && High[i]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,90,i+1)))
dermia2[i]=High[i]-1150*Point;

Music:

Entertainment Weekly:

Yea, that’s a demo account, no matter the description field. Once these brain-trusts manage to figure out how to withdraw from a demo account, they can submit their bid for Wall Street for pennies on the dollar. Have you ever tried to open 40 lots on a 10k account? That’s 40k risk on a 100 pips move against you. Your account would be blown in 25 pips in the wrong direction. Rental Lamborghini as a dead giveaway.

Angel Eyes in 2022

End of August, this gives us 8 months of data in 2022 so far. Let’s start testing on my newest comp for the first time.

Just look at the level of sophistication here, the active trail stop management.

Think of how you did with your investments this year. Think of what the dollar denomination difference could had contributed.

That’s another 13% extra over the relative currency depreciation. 150%+? Oh, the pain!

For those who may think that I had the same ideas for every auto trading routine I ever made, here’s some other routines and their results.

The Boogie Man

Silver Surfer

Trust me, I am a champion of the field when it comes to auto trading ideas. Would I trust meaningful percentage of the available capital to these routines? NO. Results are always curve fitted, they may be true for a most likely cherry picked period, especially if you get some additional filters to weed out the trades that bring down the results, they are showing the best and nothing of the worst. If you get a bad turn at first, you can say goodbye to that capital. There is no way of including the commission or the broker’s spread expansion excercises with added slippage into these results either not to mention the market gaps if you get caught with a holding on the wrong side. Displaying auto trading back tests would only showcase talent in deception.

You can turn off the longs or the shorts for the period examined. Yes, it is possible to find something that is unique about a bad month in retrospect and those kind of trades would not get picked up in the future due to some additional filter i.e. you could simply remove trading if the Month() was equal to 6. This however cannot prepare the routine for everything that the market may introduce in the future.

Case and point: what if I started the back testing for Angel Eyes in June? What if I forgot to disclose conveniently that I halted the first test permaturely – somewhat intentionally?

Look at where being honest has gotten me… You don’t see me running ads & selling courses on YouTube. You don’t see me pretending to have trading gains by depositing the inflow from people’s purchases of my worthless junk. You certainly don’t see me pointing to a crypto event to explain a missing 2M USD, after managing to talk this money into existence to prove my own worth and penis size. Yes, Cameron Zeus has finally let the cat out of the bag. “That’s life” – he shrugged off this imaginary happening. It is rather easy to part from something you never had in the first place.

Don’t worry, I will answer the question of how to make money consistently here, on this blog.

“He is the Tai Lopez of Forex”

Leveraged Chess

You are not going to like this one, it has lots of math not to mention the wormholes, foxtrot, fox holes, Jackson hole and a lover spurned between the ranges that throw off everything.

If you measure this move from the 20% on the range-pendulum-wheel to 170%, you get 150%.
If you measure the first blue line, between 20 and 140, there is 120 degrees. If you measure the second blue, it went from 70 to 190. 120 degrees again. Recognize the importance of the 8-hour EMA of opens in orange. Don’t mind the red bomb, I’m not settled on the filters yet.

What is the point in this mindless exercise? To determine the bull’s flower.

If you measure form 145 to 20, you get 125. But wait, I did not measure from the swing high! Yes. The one thing you should take away from this blog entry is the Higher Low / Lower High prints after the swing point. They are an unfair advantage, a right foot out instead of a sprint from squatting down. The starting off the right foot is the leverage in this chess game. Other than the seemingly random origo-replacement of the range.

140-70 = 70, 160-70 = 90.

Why am I telling you all this and why am I telling you all kind of things and why am I making you miserable? Don’t you feel like you have to kill someone?

See the thing is, that the bear’s flower has to exceed the bull’s flower if you want to be starting something, Michael.

Also, don’t you think that it is an actionable piece of information that you should not be fading an up move closer than 120 degrees from the swing low / higher low. Has it no value that price would get back to the other side of the 8-hour EMA, and you should see at least 70 degrees of distance for a short?

Bears power, bulls power, Jerome Powell, turtle power.

Is The Bottom In?

Watch my hand, I’ll do it in slow motion.

On the bottom is the CI chronometer / metronome. The question it is asking repetitively is about the bottom when the radioactivity is red. Now, why was that fractal landing on the zero line not a Head?

Because the price arrived from inside a previous range.

Why was this a dynamite head?

The dynamite had a corresponding target – a “160 degree” full swing on the Range Pendulum.

You knew this? Very well, come sit in the front!

The First Blood print was where they dumped a larger short position into the German PMI today. They were not careful enough and they moved the market tipping their hand. I actually could spot this in the price movement.

     ///first cut up

   if (NBEU[i]!=EMPTY_VALUE && NBED[i]!=EMPTY_VALUE)
   if (iLow(symbol,0,iLowest(symbol,0,MODE_LOW,100,i))<NBED[iLowest(symbol,0,MODE_LOW,100,i)] && High[i]>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,100,i))+480*Point && Low[i]<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,100,i))+480*Point
      && (High[i]<taxi[i]-70*Point || (High[i]>iMA(symbol,0,32,0,MODE_EMA,PRICE_OPEN,i)+50*Point && Low[i]<taxi[i])) && High[i]>taxi[i]-500*Point
   ){
////zero dn   
      if (iFractals(symbol,0,MODE_LOWER,i) && Low[i-1]>Low[i] && Low[i]>NBED[i]-330*Point && 
        (
         (High[i]>NBED[i] && Low[i]<NBED[i])  || (High[i+1]>NBED[i+1] && Low[i+1]<NBED[i+1]) || (High[i+2]>NBED[i+2] && Low[i+2]<NBED[i+2])
         || (High[i+3]>NBED[i+3] && Low[i+3]<NBED[i+3])  || (High[i+4]>NBED[i+4] && Low[i+4]<NBED[i+4]) 
         ) 
         &&
         (
          (Low[i+22]<NBED[i+22]-330*Point && NBED[i+22]==NBED[i+25]) || (Low[i+23]<NBED[i+23]-330*Point && NBED[i+23]==NBED[i+25])
         )
         && NBED[i+23]!=EMPTY_VALUE
      ){
        ObjectCreate("Obellix"+IntegerToString(i), OBJ_TEXT, 0, Time[i], Low[i]+80*Point); 
     ObjectSetText("Obellix"+IntegerToString(i), CharToStr(77), 38, "Wingdings", clrDarkGreen);
     if (NBED[i+23]==EMPTY_VALUE)  ObjectSetText("Obellix"+IntegerToString(i), CharToStr(77), 38, "Wingdings", clrYellow);
     
      ObjectCreate("Targeted"+IntegerToString(i), OBJ_TEXT, 0, Time[i],NBEU[i]+((NBEU[i]-NBED[i])/10*4.5)+50*Point );  
                ObjectSetText("Targeted"+IntegerToString(i), "TGT: "+DoubleToStr(NormalizeDouble(NBEU[i]+((NBEU[i]-NBED[i])/10*4.5),4),4), 16, "Arial Black",  clrPurple);
   }

The yellow horizontal line below is the goldilocks level.

As you can see, it splits the gray box in half – halfway between what a typical Wave 1 can manage and what a Wave 3 is likely to achieve.

This is a qualified Wave 1. You can see the hook back up on the stochastic losing the embedding. If this does not get to 76 within 46 hours, you know what you must do. The undercut could be anything up to about 45 pips, so scale in. 10, 20, 30 etc.

The optimal 18-sample stochastic reading for a successful turn is between 9.5 and 4.4. The previous day went too oversold, the number was plotted in white.

Why doesn’t this one say CAP for capsize attempt? I just told you, the previous day went deeply oversold. Today is a low, but not THE Low.

Too much acceleration. Have to re-balance with a divergence.

 if (st18[i]<9.5) { ObjectSetText("Bingo"+IntegerToString(i), "CAP", 26, "Impact", DarkGreen); momentum[i]=1;
            cap[i]=1;
            if (st18[ArrayMinimum(st18,10,i+1)]<4.4) {ObjectSetText("Bingo"+IntegerToString(i), "Cos,+90,-DVG", 26, "Impact", LimeGreen); c77[i]=true;

Here’s an example from earlier. From the CoverOverSold low to the swing high there was 113 pips.

The swing low printed 79 pips lower than the Cos low.

You always seem to get some additional move the next day. This one had 88 pips from the Cos low (this is why I chose 90).

This one had 2 more days up and 157 pips in total.

There would always be a lower low after a Cos +90.

I’ve shown you this before.

The market first fails at the 20SMA and later at the 9EMA before making the final wave down.

So if I had to guess, I would say there’d probably be a rendezvous with the 9 tomorrow or in the coming days. Yes, all new legs down started above the E-44.
Projected distance numbers on the bottom. 4H RSI2 is going to print a continuation divergence at the high.