Peter-Noster is another way of saying this.

I’m here to help you. I’m here to call you lazy, bigot religious fanatic.

The Peter-Noster is the concept of price stepping outside of the parenting range, that becomes the elevatror/building block and there would be new oversold and overbought levels in each direction i.e. at 120%, 180%, -20%, -80%, -120% etc.

The gray lines are the NO BREAK EXTENSION LEVELS, they would stop price in the wring direction, they are often seen at the very end of a Wave structure.

So, what is my problem with Fibonacci retracements?

There is nothing wrong with measuring things, there is nothing wrong with using percentages.

The problem is setting your mind on pseudo scientific things (meaningless fractions in this case) and attributing God-like status to them. This is a slippery slope and you should try to stay off of it, or you may end up believing in things like: God implanted dinosaur skeletons and fossils to challenge your faith & there was nothing before the creation. This type of behavior is always going to re-format the data to fit the narrative and there is simply nothing objective about that.

Change the settings on your scissor-tool to rational numbers before it’s too late.

My take on the subject of growth that it is a non-quantifiable outburst with the aim of an extra 50%, but as a probability I would point to 45% of the parenting size to be achieved as a high likelihood, for this is what charts are suggesting me (projected distance), and 61.81394521% (aka the garden ratio) is some made up, idealistic crap.

Let’s try to appreciate what is happening here.

You need to see a divergent leg scoring 50%+ extra, but less than 80% for a swing to be an end of a corrective wave. Look at what happened every time when the red 50% extension line got hit.

Having discussed the 45% you may start to appreciate looking for this telltale of growth, an indication of an end of a divergent leg (referencing the parenting range as measuring leg). This is what you need, the exit, the end of the move for a rotation into the other direction.

The lines on the right hand side are 50% extension of qualified moves that were not filled yet.
 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);

If we call a 30 or so percent move an excess, a 45+ percent move should be called a success.

Scaling in, that’s right. At the non-Fibonacci ratios of 30% and at 45%.

.3 = excess; .45 = success

Where are you wrong? At 80% – hedge it.

ObjectCreate("Fiba", OBJ_FIBO, 0, Time[10], NBEU[0], Time[10],NBED[0]);
string fiboobjnams = "Fiba";

ObjectSet(fiboobjnams, OBJPROP_FIBOLEVELS, 17);
     ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL, 0.0);
   ObjectSetFiboDescription(fiboobjnams,0,"0     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+1, 0.20);
   ObjectSetFiboDescription(fiboobjnams,1,"20-OS   %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+2, 0.4);
   ObjectSetFiboDescription(fiboobjnams,2,"40     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+3, 0.50);
   ObjectSetFiboDescription(fiboobjnams,3,"50     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+4, 0.6);
   ObjectSetFiboDescription(fiboobjnams,4,"60     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+5, 0.8);
   ObjectSetFiboDescription(fiboobjnams,5,"80-OB   %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+6, 1.000);
   ObjectSetFiboDescription(fiboobjnams,6,"100.0     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+7, -0.3);
   ObjectSetFiboDescription(fiboobjnams,7,"-30->80     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+8, -0.45);
   ObjectSetFiboDescription(fiboobjnams,8,"-45->C.NBE   %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+9, 1.3);
   ObjectSetFiboDescription(fiboobjnams,9,"130->20     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+10, 1.45);
   ObjectSetFiboDescription(fiboobjnams,10,"145->C.NBE  %$");
 ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+11, 2.0);
   ObjectSetFiboDescription(fiboobjnams,11,"200     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+12, 3.0);
   ObjectSetFiboDescription(fiboobjnams,12,"300     %$"); 
 ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+13, -1.0);
   ObjectSetFiboDescription(fiboobjnams,13,"-100     %$");
   ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+14, -2.0);
   ObjectSetFiboDescription(fiboobjnams,14,"-200     %$");   

 ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+15, -0.8);
   ObjectSetFiboDescription(fiboobjnams,15,"-80   %$");
    ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+16, 1.80);
   ObjectSetFiboDescription(fiboobjnams,16,"180   %$");
   ObjectSet( "Fiba", OBJPROP_LEVELCOLOR, clrNavy) ;

Where are the market profile people wrong? Not understanding the relativity to the consolidation mean and calling both a success and an excess an excess. Well they are, but there is a major difference between the two. Final vs temporary.

Now, let’s do modular music today on this wide array of healing frequencies.

On the subject of Sound Therapy. Does this sound InZane?

Definately not in Zaire.

I Promised Myself

…that one day I would have a continuous version of the 15-Min ATR.

The thing about making new, previously non-existent indicators is that you may end up stumbling upon new ways of filtering stuff which ultimately may result in a completely new approach to trading. 36-pip displacements of the consolidation weights.
for(i=lookback; i>=0; i--){
   if (ChoppinessIndex(12*4,i)>53 && ChoppinessIndex(12*4,i+1)<53) weight_[i]=(iHigh(symbol,15,i)+iLow(symbol,15,i))/2;
   if (weight_[i]!=EMPTY_VALUE && weight_[i]==weight_[i+1] && weight_[i]==weight_[i+2] && weight_[i]==weight_[i+3] && weight_[i]==weight_[i+4] && weight_[i]==weight_[i+5] && weight_[i]==weight_[i+6] && weight_[i]==weight_[i+7]) NBEU[i]=weight_[i]+360*Point;
   if (weight_[i]!=EMPTY_VALUE && weight_[i]==weight_[i+1] && weight_[i]==weight_[i+2] && weight_[i]==weight_[i+3] && weight_[i]==weight_[i+4] && weight_[i]==weight_[i+5] && weight_[i]==weight_[i+6] && weight_[i]==weight_[i+7]) NBED[i]=weight_[i]-360*Point;

What is new here is not paying an attention to a weight change until it persists for 8* 15 minutes. For instance look at the last impulse move sandwiching itself through a window of opportunity. Neat. Them cyan lines are the perfect get out levels in the wrong direction.

The rest of this blog would be spent on some Hungarian cartoons, since I found some material.

Csaba Varga’s animation above.

After returning from Sweden I worked temporarily at the cartoon studio wearing his name. He himself was working on a stop motion at the time called Don Quixote with my room mate.

I was never part of the inner clique, and my name was not even mentioned on half of the Kipper cartoons I put together as a camera man. Not that the name itself meant too much after having been disowned by my father at the age of 17. I did not want to see it either.

Some examples of Hungarian made cartoons:

Cartoons I worked on

Laser Caster

A technical call.

What is supposed to happen upon the guest appearance of a laser beam?

You’re supposed to scale through the E9, the S20 and the E44 – and perhaps get a little extended time. Of course it does not always work out that way. 3 exceptions on one image:

# 1 – Price got to the second line, but had such a strong rejection that the same day closed back in the embedded oversold on the 18 sample stoch.

# 2 – Price went overtly oversold (prints below 4.4), the lift fizzled out at the first line & fell back.

# 3 – Pro volume completely took away the prospect of getting beyond the first MA.

/// 3-sample low with stoch reading below 4.5 or 9.5 to 18
   if (
   i>0 &&
     c77[i+1] &&
   && iLow(symbol,0,iLowest(symbol,0,MODE_LOW,5,i-1))<=iLow(symbol,0,iLowest(symbol,0,MODE_LOW,6,i-1)) 
   && iLow(symbol,0,i)==iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i-1)) 
   && (st18[i]<4.5 || (st18[i]>9.5 && st18[i]<21.5) || (st18[i+1]>9.5 && st18[i+1]<18.5))  
   && Low[i]-Low[i+1]<430*Point 
   && (Low[i]-Low[i+2]<430*Point ||  Low[i]-Low[i+2]>1000*Point)
   && (High[i]>High[i+1]-80*Point || (Open[i]<iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i)+50*Point && Close[i]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i) )  )
   && Open[i]<Close[i] 
   && High[i]<iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i)
   && High[i]<iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i)-290*Point 
   && (MathAbs(iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_MAIN,i)-iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i))>380*Point  ||  High[i]>High[i+1] )
   && Low[i+1]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i+1)-700*Point  
   && Low[i+2]>iBands(symbol,0,20,2,0,PRICE_CLOSE,MODE_LOWER,i+2)-700*Point

The score is currently 0, but that is at once 100 more than -100.

People always talk about Permutation…

I drew those lines a good year ago.
Skeleton Key #2 – the price crossing in / out of a channel around the 36 EMA based on ZigZag calls. The cloud around the price shows the period spent outside this E-36 Zigzag channel. Also check out the instant run into the LEMA bullseye.

def ZZG =  reference ZigZagHighLow(price, price, reversalAmount, 0, 1, 0);

def ZZG2 =  if showonlytoday and !IsNaN(close(period = "DAY")[-12]) then Double.NaN else reference ZigZagHighLow(price, price, reversalAmount, 0, 1, 0);

def zzSave = if !IsNaN(ZZG) then price else GetValue(zzSave, 1);
def chg = (price / GetValue(zzSave, 1) - 1) * 100;
def isUp = chg >= 0;
 for(shift=600; shift>=0; shift--)
      if( curlow>=lastlow ) { lastlow=curlow; }
             if( lasthighpos>curlowpos  ) 
              min=100000; pos=lasthighpos;
              for(i=lasthighpos; i>=curlowpos; i--)
                   if (zzL[i]==0.0) continue;
                   if (zzL[i]<min) { min=zzL[i]; pos=i; }
      //--- high
      if( curhigh<=lasthigh )  { lasthigh=curhigh;}
            if( lastlowpos>curhighpos ) 
               max=-100000; pos=lastlowpos;
               for(i=lastlowpos; i>=curhighpos; i--)
                    if (zzH[i]==0.0) continue;
                    if (zzH[i]>max) { max=zzH[i]; pos=i; }

The -100 Program #2

Sell below yesterday’s low if it
-wasn’t closing outside the daily BB
-wasn’t a green C
-wasn’t a CAP
Sell if yest. was a cyan / pro volume bar (use C)
Cover right before the close

Sell retracement after green C
75, 90, 130, 170

Barrelling down = selling 8-16 EMA field
Confirmation: does price reach the BB30?

Ok. One by one.

Let’s acknowledge this trending move down. Every time price pulled back to between the 8EMA of opens and the 16EMA of halves, they sold again and price moved below the 30-sample Bollinger Bands (white lines), until once it did not (yellow). That was the end of the leg.

That’s about the fastest sustainable move you could see out of a -100 market.

Second thing: it’s all about how the price settles. The re-balancing day is still working out its own gender.

Admittedly I was not expecting the 18-sample stochastic that was embedded a few days back to get this oversold in mere 4 candles. This is why I said that a CAP print is not likely to be at the end of this Wave 2.

The 8.8 print in the magenta field is the qualifying stochastic reading (9.5-4.4: coloring is blue). Watch how we landed on the bottom of the yellow channel.

If the close would be off the low by 27 pips, this would have CAP printed below it. If the stochastic finishes above 9.5, it would have a green C (Bollinger spike & close back).

What do you get if you divide 389 by 440? 0.884. That’s pretty close to 86%. This can still be a deep Wave 2 that I have been talking about despite of what the Dollar seems to be doing against the rest of the other currencies in the basket.

Just that we are on the same page, here’s the Wikipedia Fibonacci entry that is wrongly listing 50% as a Fibonacci number and is saying nothing about 85.4 for instance.

Lastly, let’s admit it, I am only posting on this blog to share YouTube videos. No argument to be had with this one.

Barrel of a fun

RIP Fletch.
Two different invocations. Usually the last one gets the command & the previous is deemed out of time. May or may not the case here.

CB Babies

Attention, attention my name is Albatjov.

Like a sturgeon – hey – caught for the very first time.

You’ve got to come to know the truth: you’re living in darkness and this time it might be different.

Everything comes to an end at some point. The upside rallies are increasing in size – a volatility increase may be a sign of a tun underway.

That last one, the 440 is particularly suspicious. If that rally was a Wave 1 up, then this Wave 2 down does not have to end in a CAP for a change, but rather in a continuation divergence up.

This RSI2 print would do for a continuation divergence. The Stochastic would slip below 50 come the open.

Isn’t it always the story, that you figure out something, such as the -100 program and by the time the rules are cast in stone, when everything falls in place and fits like a love, it would stop working?

The Bollinger Band would also come closer, and if the RSI2 would dip below 5.3, that would put it into the reading int the “LOW Enough to Turn” category.

Now, let’s spot that Chartreuse, 16-pip line. I called it the golden divergence. It is merely an RSI2 reversal divergence with the starting leg in the magenta range. What is interesting here is the H&S shaping up right here. This divergence is being plotted as it is still within 92 samples.

The 20% level could totally be in the cards.

Let’s re-post what the Dollar is doing here.

Not this Dollar, the other one.

The Dolla’ very much seems to be back testing the head.

The fact, that the S20 and the S20 of the E-44 (middle Teal line) are currently sixty something pips apart from one other leaves you with the possibility of crossing both in a single day and flipping the market upside down for good.

Once the S20 gets closed over, the -100 score would be reduced to -50, and after 3 closes above God (S20 of E44) the score would be 0. Zero head wind for a Wave 3 up. If you were to get above the CAP print’s high by 30 pips (moratorium @ 1.0792) the -50 would flip to +50 giving you a +75 (until God responds) or +100 print.

& now you know your ABCs. Price starting to close back above 1.0640 is a major warning size to dump the shorts Katie.

No more wicked people, what is left?

One Glove

What’s a glove has got to do with it?

Second hand devotion

One Love
Dr. Alban
No more wicked people, what is left? One Love
No more wicked people, what is left? One Love
Attention! Attention! My name is Albatjov
Mi come for tell you 'bout a thing called 'One Love'
We have a lot of jealousy, so you see
Today's friends are tomorrow's enemy
A lot of them are sleep a mi say lot of them are work
Jah know Jah know Jah know you have to reap what you sow
We used to be friends but now we go apart
We used to be cool but now we don't talk
Ask me why boy, I don't know
Maybe's jealousy between me and you
Maybe it's my progress nor is it my dollarsis
I've always been thinking that you are the chosen one
But your attitude problems I can't explain
I keep wondering how you can go so far
One day you might end up being having no friends
Count me out 'cause Jah Jah says so
One Love
Anything mi want to do mi do it one time, a mi say
Anything mi want to do mi do it one time
Mi no care what people say and mi no care what them chat
Mi just talk sense a say mi get pan the max
Them a wonder why I man get so far
'Cause their attitude problems I can't explain
Get up and stand up, get up and stand up
Stand up for your right, a mi say
Get up and stand up, get up and stand up, stand up for your
Mi say man mi no take no bullshit from anyone
Mi say man mi no take no bullshit from anyone
Anything mi borrow mi have to give it back again, a mi say
Anything mi lend mi have to get it back again
Go tell your friend a when mi come mi come again
Go tell your friend a when mi come mi come rough
Get up and stand up, get up and stand up
Stand up for your right, a mi say
Get up and stand up, get up and stand up, stand up for your right
What is it? One Love
What is it? One Love
What is it? One Love
What is it? One Love
One Love
No more wicked people, what is left? One Love
No more wicked people, what is left? One Love
Attention! Attention! My name is Albatjov
Mi come for tell you 'bout a thing called 'One Love'
You're loving money more than people
You'd be loving people more than money
If it's one God, one aim, one destiny
For the better in the world, for you and for me
You're living in darkness
You should be living in the light
Think if love was a thing money could buy
The rich would a live and the poor would a die
But since it's not it, and what is it
One Love
One Love, One Love, One Love, One Love
One Love, One Love, One Love
You're living in darkness
You've got to come to know the truth
You're living in darkness
You've got to make a sacrifice
You're living in darkness
You've got to come to know the truth
You're living in darkness
You should be living in the light, One Love

As a favor, I made a Nick Rhodes only snapshot and let the previous divergence block to print as well.

The -100 Program

#3 Skeleton: the score.

The score is calculated from the Bias and the last Capsize.

The bias is the relationship to the daily 20 SMA and the 20 SMA of the 44 EMA.

Closing above the S20 scores +25 whilst below is -25.

Closing 3 consecutive times above the E44 is +25, 3x below is -25. The score is zero if the prevailing positive/negative sequence gets broken.

      ObjectCreate("Grinder42", OBJ_TEXT, 0, Time[0], iMA(symbol,0,20,0,MODE_SMA,PRICE_CLOSE,0)+95*Point);  
       if (Close[0]>iMA(symbol,0,20,0,MODE_SMA,PRICE_CLOSE,0)) ObjectSetText("Grinder42", "        BIAS", 17, "Arial Black", Green);
      else ObjectSetText("Grinder42", "        BIAS", 17, "Arial Black", Crimson);   
for (i=0; i<100; i++){  
      for (j=i; j<i+20; j++) 
if (Close[i+2]>ExtMovingBuffer[i+2] && Close[i+1]>ExtMovingBuffer[i+1] && Close[i]>ExtMovingBuffer[i]) {E44N[i]=EMPTY_VALUE;  E44P[i]=E44[i];}
   else if (Close[i+2]<ExtMovingBuffer[i+2] && Close[i+1]<ExtMovingBuffer[i+1] && Close[i]<ExtMovingBuffer[i]) {E44N[i]=E44[i]; E44P[i]=EMPTY_VALUE;}

 ObjectCreate("Grinder2", OBJ_TEXT, 0, Time[0], E44[0]+35*Point);  
       if (E44N[0]==EMPTY_VALUE) ObjectSetText("Grinder2", "              SERVER", 17, "Arial Black", Chartreuse);
      else ObjectSetText("Grinder2", "              SERVER", 17, "Arial Black", Crimson);   

I have given you the CAPsize expression for the downside here a number of times, so with descriptive langue instead: it is a 4-sample lower low that closes back up by at least 27 pips with a settled 18-sample HL2 stochastic K reading greater than 4.4 and less than 9. A CAP print comes with a moratorium of an additional 30 pips. If a green CAP on the downside gets violated beyond the moratorium, the +50 reading would get flipped back down to -50.

With me so far?

So what would a program for the -100 reading look like in this Bare market that started in Aug, 2021?

Let’s fire up the observatory and make some observations.

Price can bounce if it spikes below the Bollinger Band and closes back above it (green Cs), but typically does not get further than the 20 SMA or perhaps would be chocked by the 9EMA (HL2) in red.

So far we have not seen a simple leg that did not end in a CAP condition outlined above.

The C-77 and other numbered c-s merely try to give an idea for the size of the bounce anticipated.

This green C wasn’t even enough to reach either MAs, but the bounce itself was almost 170 pips.

The recurring CB numbers I monitor for are 90, 130 and 170 pips.

It is noteworthy that the professional activities (cyan) seem to be in the direction of the -100, not against it.


  • close all longs that are in gains
  • do not open any longs until right before the close when it is obvious that the market is closing back up from the daily low by 27 pips and has a daily stochastic reading between 4.4 and 9 or there was a Bollinger Band piercing and price is about the settle back inside – use trail stop
  • be net short
  • do not set targets or stops for your shorts
  • cover shorts right before the close if the requirements are satisfactory – see the two conditions mentioned under the second bullet point
  • consider re shorting in doses at 90, 130, 170 pips from the last swing low – rinse and repeat until you see the CAP print that immediately neutralizes the market: minus 50 (bias) plus 50 (for the CapSize) equals 0

…in the long term oversold on the Hourly Comfort Levels

Psar hit.

WordPress says this was my 500th blog post with them.

The 3 Skeleton Keys

#1 – Doing time.

Time is measured by the 4-hour stochastic. On an hourly chart this equates to 60 samples of HL2. No need for the D line.

The 4-hour stochastic can be acceptive or rejective.

Forgot to change the lines to 20 and 80, but you get the idea.

If you have 4 hours or more printed with oversold / overbought stochastic readings, the time was sufficient for the invocation of the new range. If price got rejected before a full 4-Hour close in the periphery, it is likely to relapse to the 30 SMA to regroup and re-attempt further on.

The invocation is the second Skeleton Key, but is not today’s subject. All you need to know for now is that it calls upon a target, it starts a timer and you should take this trade unless the 3rd Skeleton Key is in strong opposition of this.

Currently, the 3rd Skeleton Key is not strong opposition of the last range invocation with a negative 50 score (can be faded), but if the price starts closing below the 20-day SMA, the negative score would rise to 100 (do not fade). As you can see, the consolidation is taking place below the bottom of the LEMA cloud, which proved to be uncrossable until now. The Zig Zag based invocation can be overwritten by starting to close below the fractal.

def  LEMA = ExpAverage(close, 18 * 23);
plot  LEMAU = ExpAverage(high, 18 * 23);
plot  LEMAL = ExpAverage(low, 18 * 23);

def lowtarg = LEMAL - AbsValue((LEMAL[36] - LEMAL) / 36) * 60;
def hitarg = LEMAU + AbsValue(((LEMAU - LEMAU[36]) / 36) * 60);

AddCloud(if hitarg[7] > .02 then hitarg[7] else Double.NaN, lowtarg[8], Color.green, Color.BLACK);
AddCloud(if hitarg[7] > .02 then hitarg[7] else Double.NaN, lowtarg[8], Color.orange, Color.BLACK);

def  LEMAW = ExpAverage(close(period="2 HOURS"), 36 * 23);
plot  LEMAUW = ExpAverage(high(period="2 HOURS"), 36 * 23);
plot LEMALW = ExpAverage(low(period="2 HOURS"), 36 * 23);

def lowtargw = LEMALw - AbsValue((LEMALw[36] - LEMALw) / 36) * 60;
def hitargw = LEMAUw + AbsValue(((LEMAUw - LEMAUw[36]) / 36) * 60);

AddCloud(if hitargw[7] > .02 then hitargw[7] else Double.NaN, lowtargw[8], Color.red, Color.BLACK);

TOS – Achilles ES Psar Cross

Back in time series. A program from 2011 for TOS. Originally for the ES, now for $DXY plots.

You just know that I must be running out of ideas to make desperate moves like this.

Or just giving away free stuff. In the shape of tiny, little yellow balls.

# Achilles indicator 2011 
# ver 1.007

input fastLength = 12;
input slowLength = 26;
input MACDLength = 9;
input AverageType = {SMA, default EMA};

input over_bought = 80;
input over_sold = 20;
input KPeriod = 10;
input DPeriod = 3;
input priceH = high;
input priceL = low;
input priceC = close;
input smoothingType = {default SMA, EMA};

input price = close;
input displace = 0;
input length = 20;
input Num_Dev_Dn = -2.0;
input Num_Dev_up = 2.0;

def sDev = StDev(data = price[-displace], length = length);
def MidLine = Average(data = price[-displace], length = length);
def LowerBand = MidLine + Num_Dev_Dn * sDev;
def UpperBand = MidLine + Num_Dev_up * sDev;

input Len = 14;
input CIx = {default CI3, CI2};

def CI2 = 100 * Log( Sum( TrueRange(high, close, low), Len)) / ( Highest(close[1], Len) - Lowest(close[1], Len)) / Log(Len);

def CI3 = ( ( Log(Sum(TrueRange(high, close, low), Len) / (Highest(if high >= close[1] then high else close[1], Len) - Lowest( if low <= close[1] then low else close[1], Len))) / Log(10)) / (Log(Len) / Log(10))) * 100;

def CI = if CIx == CIx.CI3 then CI3 else CI2;

def SlowK = reference StochasticFull(over_bought, over_sold, KPeriod, DPeriod, priceH, priceL, priceC, 3, smoothingType).FullK;

def SlowD = reference StochasticFull(over_bought, over_sold, KPeriod, DPeriod, priceH, priceL, priceC, 3, smoothingType).FullD;

input fsLength = 7;
input medLength = 14;
input slLength = 28;

def trRng = TrueRange(high, close, low);

def trRngFast = Sum(trRng, fastLength);
def trRngMed = Sum(trRng, medLength);
def trRngSlow = Sum(trRng, slowLength);

def diff = close - Min(close[1], low);

def diffFast = Sum(diff, fsLength);
def diffMed = Sum(diff, medLength);
def diffSlow = Sum(diff, slLength);

def factorFast = slLength / fsLength;
def factorMed = slLength / medLength;

def valFast = (diffFast / trRngFast) * factorFast;
def valMed = (diffMed / trRngMed) * factorMed;
def valSlow = (diffSlow / trRngSlow);

def UltOsc = if trRngFast == 0 or trRngMed == 0 or trRngSlow == 0 then 0 
else (valFast + valMed + valSlow) / (factorFast + factorMed + 1);

def NetChgAvg = WildersAverage(price - price[1], 2);
def TotChgAvg = WildersAverage(AbsValue(price - price[1]), 2);
def ChgRatio = if TotChgAvg != 0 then NetChgAvg / TotChgAvg else 0;

def NetChgAvg14 = WildersAverage(price - price[1], 14);
def TotChgAvg14 = WildersAverage(AbsValue(price - price[1]), 14);
def ChgRatio14 = if TotChgAvg14 != 0 then NetChgAvg14 / TotChgAvg14 else 0;

def RSi2 = (50 * (ChgRatio + 1));

def RSi = (50 * (ChgRatio14 + 1));

def condition65 = RSi >= 65 and RSi <= 75;

def condition27 = RSi <= 27 and RSi >= 15;

Alert(Crosses(RSi, 65, CrossingDirection.BELOW), "RSI 65 65 65!", Alert.BAR, Sound.Ding);
Alert(Crosses(RSi, 27, CrossingDirection.ABOVE), "RSI 27 27 27!", Alert.BAR, Sound.Ding);

def Value = MACD(fastLength, slowLength, MACDLength, AverageType).Value;
def Avg = MACD(fastLength, slowLength, MACDLength, AverageType).Avg;

def MDown = Value[1] > Avg[1] and Value < Avg;
def MUp = Value[1] < Avg[1] and Value > Avg;

def Down = ((SlowK < SlowD and SlowK > 80 and CI > 44) or ((MDown and SlowK > SlowD and SlowD > 40 and CI < 50 and CI > 35) or (MDown and SlowK > 80 and SlowD < 80))) or ((priceH > UpperBand and MUp and SlowK > 80 and CI < 48 )  or (priceH > UpperBand and SlowK > 75 and SlowD < 74 and CI > 49.40));
def Down2 = ((priceH >= UpperBand and MUp and SlowK > 90 and SlowD > 80 and CI < 48 and CI > 38 ) );
def down3 = (UltOsc >= 0.67 and SlowK >= 79);

def down6 = (CI < 27.41);

def Up =  (((SlowK > SlowD and CI < 28.01 and SlowK < 12.50) or ((SlowK  < 15.50 and CI < 35.01 ) and (SlowK > SlowD))) or (SlowK < 19 and priceL <= LowerBand and SlowD > 20 and CI > 39.25 and SlowK < SlowD)) or (MUp and SlowK < 20.18 and SlowD > SlowK and CI > 40) or (SlowK  < 12 and CI < 35.01  and SlowD < 12.50) ;

def up2 = (UltOsc <= 0.2671 and SlowK <= 21);

def up3 = (CI < 33.5);

def up4 = (UltOsc <= 0.43 and UltOsc >= 0.425) or (UltOsc <= 0.28 and UltOsc >= 0.25);

def PercentB = (price - LowerBand) / (UpperBand - LowerBand) * 100;

def up5 = (PercentB <= -22 and CI <= 24.56) or (PercentB < 0 and CI <= 34.50 and CI >= 34.20) or (PercentB < -0.9 and CI > 42 and CI < 42.80) or (PercentB <= 10 and CI > 49 and CI < 50) or (PercentB <= -1 and CI > 37.40 and CI < 37.60)  or (PercentB <= -21 and CI > 56.90 and CI < 57) or (PercentB < 24 and CI > 43.20 and CI < 43.50) or (PercentB < 5 and CI > 52.90 and CI < 53) or (PercentB < -17 and CI > 35.20 and CI < 35.50 or (PercentB < -28 and CI > 47.70 and CI < 48));

def up6 = (RSi2 <= 2);

AddLabel(yes, Concat("",    
if ((PercentB <= -10) and (CI <= 24.56)) then "SLING SHOT!" else 
if ((PercentB < 0) and (CI < 35)) then "BOUNCE TO RESISTANCE" else 
if ((PercentB >= 128) and (CI <= 39.90)) then "TOP SUSPECTED" else
if ((PercentB <= -10) and (CI <= 24.56)) then Color.ORANGE else 
if ((PercentB < 0) and (CI < 35)) then Color.ORANGE else
if ((PercentB >= 128) and (CI >= 39.90)) then Color.GREEN else

def down4 = ((CI > 40.60) and (CI < 44.61));

def down5 = (PercentB >= 110 and CI >= 41.50 and CI <= 42.50)  or (PercentB > 95 and CI < 34) or (PercentB >= 110 and CI < 44.50 and CI > 44.25) or (PercentB >= 132 and CI < 48)  or (PercentB >= 129 and CI < 56.50 and CI > 56) or (PercentB > 99 and CI > 61);

plot ArrowUp = if Up then low * 1 else Double.NaN;
# Adjust 0.995 according to how close you want the arrow to the price low
# Kudos to Richard for posting how to do this some time ago

plot ArrowUp2 = if up2 then low * 0.999 else Double.NaN;
# Adjust 0.995 according to how close you want the arrow to the price low
# Kudos to Richard for posting how to do this some time ago

plot ArrowUp3 = if up3 then low * 0.999 else Double.NaN;
# Adjust 0.995 according to how close you want the arrow to the price low
# Kudos to Richard for posting how to do this some time ago

#plot ArrowUp4 = if up4 then low * 0.99 else Double.NaN;
# Adjust 0.995 according to how close you want the arrow to the price low
# Kudos to Richard for posting how to do this some time ago

plot ArrowUp5 = if up5 then low * 0.999 else Double.NaN;
# Adjust 0.995 according to how close you want the arrow to the price low
# Kudos to Richard for posting how to do this some time 

plot ArrowUp6 = if up6 then low * 0.998 else Double.NaN;
# Adjust 0.995 according to how close you want the arrow to the price low
# Kudos to Richard for posting how to do this some time ago

plot ArrowDn = if Down <> Down2 then high * 1 else Double.NaN;
# Adjust 1.005 according to how close you want the arrow to the price high
# Kudos to Richard for posting how to do this some time ago

plot ArrowDn2 = if Down2 then high * 1 else Double.NaN;
# Adjust 1.005 according to how close you want the arrow to the price high
# Kudos to Richard for posting how to do this some time ago

plot ArrowDn3 = if down3 then high * 1 else Double.NaN;
# Adjust 1.005 according to how close you want the arrow to the price high
# Kudos to Richard for posting how to do this some time ago

plot ArrowDn4 = if down4 then high * 1.0002 else Double.NaN;
# Adjust 1.005 according to how close you want the arrow to the price high
# Kudos to Richard for posting how to do this some time ago

plot ArrowDn5 = if down5 then low * 1.001 else Double.NaN;
# Adjust 0.995 according to how close you want the arrow to the price low
# Kudos to Richard for posting how to do this some time ago

plot ArrowDn6 = if (down6 and RSi2 > 75) then high * 1 else Double.NaN;
# Adjust 1.005 according to how close you want the arrow to the price high
# Kudos to Richard for posting how to do this some time ago

input trailType = {default modified, unmodified};
input ATRPeriod = 5;
input ATRFactor = 3.5;
input firstTrade = {default long, short};

def HiLo = Min(high - low, 1.5 * Average(high - low, ATRPeriod));
def HRef = if low <= high[1]
    then high - close[1]
    else (high - close[1]) - 0.5 * (low - high[1]);
def LRef = if high >= low[1]
    then close[1] - low
    else (close[1] - low) - 0.5 * (low[1] - high);
def ATRMod = ExpAverage(Max(HiLo, Max(HRef, LRef)), 2 * ATRPeriod - 1);

def loss;
switch (trailType) {
case modified:
    loss = ATRFactor * ATRMod;
case unmodified:
    loss = ATRFactor * Average(TrueRange(high,  close,  low),  ATRPeriod);

rec state = {default init, long, short};
rec trail;
switch (state[1]) {
case init:
    if (!IsNaN(loss)) {
        switch (firstTrade) {
        case long:
            state = state.long;
            trail =  close - loss;
        case short:
            state = state.short;
            trail = close + loss;
    } else {
        state = state.init;
        trail = Double.NaN;
case long:
    if (close > trail[1]) {
        state = state.long;
        trail = Max(trail[1], close - loss);
    else {
        state = state.short;
        trail = close + loss;
case short:
    if (close < trail[1]) {
        state = state.short;
        trail = Min(trail[1], close + loss);
    else {
        state = state.long;
        trail =  close - loss;

def BuySignal = Crosses(state == state.long, 0, CrossingDirection.ABOVE);
def SellSignal = Crosses(state == state.short, 0, CrossingDirection.ABOVE);

plot TrailingStop = trail;

TrailingStop.DefineColor("Buy", GetColor(0));
TrailingStop.DefineColor("Sell", GetColor(1));
TrailingStop.AssignValueColor(if state == state.long
    then TrailingStop.Color("Sell")
    else TrailingStop.Color("Buy"));

AddLabel(yes, Concat(Concat ("STOCH(10): " , SlowK),  Concat(" ULT:", UltOsc)), if SlowK <= 20 then Color.RED else (if SlowK >= 80 then Color.GREEN else Color.YELLOW));

AddLabel(yes, Concat("RSI2: " , RSi2), if RSi2 <= 2 then Color.RED else (if RSi2 >= 80 then Color.RED else Color.GREEN));

input accelerationFactor = 0.02;
input accelerationLimit = 0.2;

def PSAR_Ref = ParabolicSAR(accelerationFactor, accelerationLimit);

EMAs are 89 and 365.

I guess the Comfort levels, the LEMAs and their fields and the CloseLines (E-36 channel crossback & targets) are almost as old ideas of mine.

Not much has changed.

No change, I can’t change.

Blood Funny

Let’s start with an intellectual joke.

I swear it’s not that complicated. If you rub it on your skin, it makes you live forever.

Eddie, have I told you about my condition?

Yea, the original title would had been Uno Memento.

The dark blue trendline was not the right one:

This green one was.

A couple of curiosities around today’s break: what the 1.0773 level meant for the algos.

  1. overbought neckline of the prior day’s range
Key fractal printed.

2. 2-sd break on the 14-sample RSI – the distance from the fresh high was only 15 pips!

Arrow on the bottom: the hedge level. Arrows on the left: Smart Monero sticking to the Man. Arrow on the top: cover some.

Emerald Yours

Yes, Mr. Archer, a blood diamond is one of the conditions where a pause is very likely.

A blood diamond is a fractal that is at the culmination of 5+ hours of pedal to the metal selling / buying measured by the hourly RSI2.

A key fractal needs less chiseling, 3 hours of max strength is enough and along with the re-visit of this key fractal an impulse top / bottom may be in the making.

Otherwise a 3rd fractal printing outside the S30HL2 based Bollinger Bands is a stall. The end result is always the same: buy / sell a lower high / higher low within 14 pips of the opposite Bollinger Band. Rinse and rinse.

 if (i>1 && iFractals(symbol,0,MODE_UPPER,i) && High[i]>iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i)+350*Point && RSI2[i+2]>82 && RSI2[i+1]>96 && (RSI2[i-1]<90  || RSI2[i-2]<90 )) EU[i]=High[i];
        if (i>1 && iFractals(symbol,0,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 )) EU2[i]=High[i];
        if (i>1 && iFractals(symbol,0,MODE_LOWER,i) && Low[i]<iMA(symbol,0,44,0,MODE_EMA, PRICE_MEDIAN,i)-350*Point && RSI2[i+2]<4 && 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]<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 )) ED2[i]=Low[i];

///higher low

if (i>1 && Low[i]<Low[i+1] && Low[i]<Low[i-1] 
 && iClose(symbol,0,0)>iMA(symbol,1440,20,0,MODE_EMA, PRICE_CLOSE,0)
      && Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)+140*Point &&  iLow(symbol,0,i)>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,8,i+2))
      ObjectCreate("VALIyy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]-50*Point); 
        ObjectSetText("VALIyy"+IntegerToString(i), CharToStr(102), 66, "Wingdings", Black); 
        ObjectCreate("VALIxy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]-50*Point); 
        ObjectSetText("VALIxy"+IntegerToString(i), CharToStr(102), 56, "Wingdings", Cyan); 

     ///lower high

if (i>1 && High[i]>High[i+1] && High[i]>High[i-1] 
 && iClose(symbol,0,0)<iMA(symbol,1440,20,0,MODE_EMA, PRICE_CLOSE,0)
      && High[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)-140*Point && iHigh(symbol,0,i)<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,8,i+2))
      ObjectCreate("VALIyy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]-50*Point); 
        ObjectSetText("VALIyy"+IntegerToString(i), CharToStr(248), 66, "Wingdings", Black); 
        ObjectCreate("VALIxy"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]-50*Point); 
        ObjectSetText("VALIxy"+IntegerToString(i), CharToStr(248), 56, "Wingdings", Cyan); 

The definition of the Baer market is unchanged, the Bare lives on until there will be 3 weekly closes above the 55EMA from then on, we’ll be talking of a Krull market. Luckily in Forex up is up and down is down.

////3 closes below E-55
              if (Close[i]<iMA(symbol,0,55,0,MODE_EMA, PRICE_MEDIAN,i) && Close[i+1]<iMA(symbol,0,55,0,MODE_EMA, PRICE_MEDIAN,i+1) && Close[i+2]<iMA(symbol,0,55,0,MODE_EMA, PRICE_MEDIAN,i+2) && High[i+3]>iMA(symbol,0,55,0,MODE_EMA, PRICE_MEDIAN,i+3)   && Close[i+4]>iMA(symbol,0,59,0,MODE_EMA, PRICE_MEDIAN,i+4)    ){
         ObjectCreate("TitusTFxx"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+1], Close[i+1]+290*Point); 
            ObjectSetText("TitusTFxx"+DoubleToStr(i), CharToStr(74), 39, "Wingdings", clrFireBrick);
            ObjectCreate("Claims"+DoubleToStr(i), OBJ_TEXT, 0, Time[i+1],  Close[i+1]+350*Point); 
                      ObjectSetText("Claims"+DoubleToStr(i), "REAR MARKET", 18, "Impact", clrCrimson);

Ever since the Brae market started, this is the first example where a new leg starting does not coincide with a CAP print to the exact day. There is a reason why I add a moratorium field (Must+Number) beyond the CAP itself. Overnight you need to figure in the broker’s 0.2 pips spread being expanded to 20 pips (plus slippage) so they don’t pick up your hedge order by chance of fate.

These two CAPs failed to align the candle color right on the same day, yet the balance of powers was tipped irreversibly.

I swear if DeMark was never born, I still would have used 4-sample higher high / lower low – it’s not that complicated. I have a name for it : Hyperloop.

   ///////4-candle high closing back down 27-pips cover
     if (iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,1,i))==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i)) && Close[i]<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i))-270*Point

The CAPs don’t show up at random places.

There is some asymmetry is going on currently, the bottom “CAP” lows are further sorted based on the 18-sample stochastic reading, the too oversold ones are not called CAPs.

 if (st18[i]<9.5) { ObjectSetText("Bingo"+IntegerToString(i), "CAP", 26, "Impact", DarkGreen); momentum[i]=1;
         if (st18[ArrayMinimum(st18,10,i+1)]<4.4) {ObjectSetText("Bingo"+IntegerToString(i), "Cos,+90,-DVG", 26, "Impact", LimeGreen); c77[i]=true;
         if (c77[i+1]) {
         ObjectSetText("Bingo"+IntegerToString(i), "C111-os,+175,-DVG", 26, "Impact", LimeGreen); c77[i]=true;}
       if (st18[i]<9.0 && i>0 && Close[i-1]<Open[i-1]) {ObjectSetText("Bingo"+IntegerToString(i), "C77uc", 26, "Impact", LimeGreen); c77[i]=true;
       momentum[i]=-1; momentum[i-1]=-1;

I suppose I would have to split up the upper range in a similar manner once the Hull market would be here.

The way I figure the Embedding on the weekly chart still shows downside embedding VS Ira Epstein.

I’m more interested in the signal line than the duet.

if (iStochastic(symbol,10080,18,3,3,MODE_SMA,0,MODE_SIGNAL,i+2)<24 && iStochastic(symbol,10080,18,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)<24 && iStochastic(symbol,10080,18,3,3,MODE_SMA,0,MODE_SIGNAL,i)<24 ){
                     ObjectCreate("Fracabbb"+IntegerToString(i), OBJ_RECTANGLE, 1,  Time[i+1], 24, Time[i], 0);

In Hungaian this one is referred to as The Thinking Man (A gondolkodo ember).

The rodent comes from wasting lives let it be animal or human and investors wealth by blowing up rockets and by ultimately sealing the fate of the stock.


Can’t get a better zoom, but here’s the deal.

If today closes down from whichever high would be final, this day would have a CAP print on it, as in CAPSIZE attempt.

Let’s talk NBEs first.

A No Break Extension is relative to the consolidation weight. It means that the price aka investment vehicle can move about on a station (middle is the purple arrow / line) about 46 pips in case of the EUR/USD without printing a valid break out (leeway).

The weight is calculated with a Choppiness Print going above 53 on the 15-min timeframe with 48 samples.

This finds the first such 15-min candle. The weight would be the half point.

   while (i<200){
      if (ChoppinessIndex(12*4,i)>53 && ChoppinessIndex(12*4,i+1)<53) break;

Second, let’s mention about the Railroad Tracks.

The railroad tracks are brought on by the lack of remaining energy and the need for the quickest possible consolidation on the fly to eek out a final push. I’m pretty sure there is a blog entry about this somewhere by the title of Railroad T-Rex or something. Knowing myself I always must put a twist on everything.

The coming correction would take price at the most bullish of scenarios to beyond the 40, but shy of 50% retracement area.

To anticipate the end of the pullback, you would be looking for an impulse bottom with an RSI2 divergence, but pay also attention to the 60-sample hourly stochastics. The correction would likely take the price oversold twice.

The image shows 2 hook backs of the main line.

Now, let’s not forget about the embedding part.

Unfortunately, at the moment the 60-sample stoch is embedded to the upside. This means 10+ hours of overbought condition of the signal line.

if (i<20 && (iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+9)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+8)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+7)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+6)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+5)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+4)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+3)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+2)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i)<180 && iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i)<20) 
|| (iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+9)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+8)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+7)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+6)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+5)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+4)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+3)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+2)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)+iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i)>880 && iStochastic(symbol,60,60,3,3,MODE_SMA,0,MODE_SIGNAL,i)>80)){

The daily stochastic is also embedded to the upside.

if ((iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_SIGNAL,0)>76 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_MAIN,0)>76 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_SIGNAL,1)>76 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_MAIN,1)>76 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_SIGNAL,2)>76 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_MAIN,2)>76 )
|| (iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_SIGNAL,0)<24 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_MAIN,0)<24 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_SIGNAL,1)<24 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_MAIN,1)<24 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_SIGNAL,2)<24 && iStochastic(symbol,1440,18,3,3,MODE_SMA,0,MODE_MAIN,2)<24 )){

& at the same time the Weekly Stochastic is embedded to the downside, close to losing this with the coming weekly print.

if (iStochastic(symbol,10080,18,3,3,MODE_SMA,0,MODE_SIGNAL,i+2)<24 && iStochastic(symbol,10080,18,3,3,MODE_SMA,0,MODE_SIGNAL,i+1)<24 && iStochastic(symbol,10080,18,3,3,MODE_SMA,0,MODE_SIGNAL,i)<24 ){

…and further complication is that the long term oversold level is at 1.0732 – the blue bob with the 20% label before it.

& price is a stone throw away from printing a God Day one. If this falls back, but not too far away (similar to the drop that was about 110 pips earlier) and comes back, this would mean a major break out having tested the oversold neckline twice. The biggest moves occur from leaving the long term oversold / overbought condition, i.e. the first target would be the 50% line, the second is the other side of the range (opposing 20% neckline).

One last piece of evidence is for the Bears, and this is the head and shoulders being drawn from the 9-day EMA. See the sequence below of 3.9x, 4.5x and 3x for LHR.

Bye now.