Bow Backs

Some impetus for flow chart thinking.

Let’s say that a Bow Back is a move that takes place in a 3-9 day stretch (3 or 7 are the most common).

Yellow triangles for visuals.

If the ending point exceeds the starting point, the new leg has extra force behind it, thus the swing low/high would get taken out.

Of course, in the above picture, the bottom triangle showed force, and it should have made a new higher swing high – it can be overruled down the line by a no-strength unassuming turn (the embedding gets put off and the sequence goes as magenta RSI2, embedding, a new fractal with a strong RSI2 divergence).

If the ending does not exceed the starting point, the new leg has no extra force behind it, thus the swing low/high would not be reached before turning back.

The following example is a bow-back that gets immediately choked by a liquidity break leg.

What does this leave us with?

Since the move up has some extra force behind it (lower low on the bow back), it probably is aimed at a new high. There seems to be a cup & handle forming. For the handle, I think you should see a 90+ pips drop, and the move back up may as well print a new bow back. A magenta print is basically a given with Monday, and there may be a limbo with 1 or 2 slightly higher highs with a bow back soon after as an alternate route.


Album #14. The weird one.

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

if (bupcounter>0) bupcounter++;
if (bdncounter>0) bdncounter++;

///counter starts  
   if ((Low[i+2]>Low[i+1]  && Low[i+1]<iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i+1)-FMax*2.8*10*Point && Low[i]>iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i)-FMax*2.8*10*Point ) || 
   (iFractals(symbol,0,MODE_LOWER,i+1) && iFractals(symbol,0,MODE_LOWER,i+4) && Low[i+1]<Low[i+4]))
   bupcounter=1;
 
   if ((High[i+1]>iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i+1)+FMax*2.5*10*Point || High[i+2]>iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i+2)+FMax*2.8*10*Point  || High[i+3]>iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i+3)+FMax*2.8*10*Point)
   &&
   High[i+2]<High[i+1] && High[i]<High[i+1]+20*Point && High[i]<iMA(symbol,0,9,0,MODE_EMA, PRICE_MEDIAN,i)+FMax*2.6*10*Point )
   bdncounter=1;

 
///x-sample NL / NH reset

   if (i>0 && Low[i-1]>Low[i] && bupcounter>=3 && Low[i+1]==iLow(symbol,0,iLowest(symbol,0,MODE_LOW,8,i+1))) bupcounter=0;    

   if (i>0 && High[i-1]<High[i] && bdncounter>=9 && High[i+1]==iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,3,i+1))) bdncounter=1;    
   
if (bupcounter>6 && High[i]>High[i+1]) bupcounter=0;

if (bupcounter>3 && iFractals(symbol,0,MODE_LOWER,i+1)) bupcounter=1;

if (bupcounter==5 && Close[i]>High[i+1]) bupcounter=0;


if (bupcounter>0){   
   ObjectCreate("Punto"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+310*Point); 
   if (bupcounter==3 || (bupcounter==6 && High[i]-Low[i]<930*Point && High[i+4]-Low[i]<930*Point)) {if (Close[i]>Open[i]) ObjectSetText("Punto"+IntegerToString(i), IntegerToString(bupcounter), 21, "Impact", Red); else ObjectSetText("Punto"+IntegerToString(i), IntegerToString(bupcounter), 21, "Impact", Green);
      ObjectCreate("Puntos"+IntegerToString(i), OBJ_TEXT, 0, Time[i], Low[i]+180*Point); 
      ObjectSetText("Puntos"+IntegerToString(i), CharToString(240), 61, "Wingdings", Red);      
      if (bupcounter==3 && High[i]<iMA(symbol,0,50,0,MODE_EMA, PRICE_MEDIAN,i)-100*Point){
         j=i;
         while (j>0){
            if (Low[j]<Low[i]-450*Point) break;
         j--;
         }
         if (j>=0){
              ObjectCreate("Puntor"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], Low[i]-450*Point, Time[j], Low[i]-850*Point);
                     ObjectSetInteger(0,"Puntor"+IntegerToString(i),OBJPROP_COLOR,clrGreen);
                     ObjectSet("Puntor"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Puntor"+IntegerToString(i),OBJPROP_WIDTH,5);   
                     
                     ObjectCreate("Puntoxy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], Low[i]+60*Point); 
                     ObjectSetText("Puntoxy"+IntegerToString(i), " 2xSell: "+DoubleToStr(NormalizeDouble(Low[i],4),4), 21, "Impact", White);
                                    
                     ObjectCreate("Puntoy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], Low[i]+60*Point); 
                     ObjectSetText("Puntoy"+IntegerToString(i), "2xSell: "+DoubleToStr(NormalizeDouble(Low[i],4),4), 21, "Impact", Red);
               
                     ObjectCreate("Puntoyy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+5], Low[i]-510*Point); 
                     ObjectSetText("Puntoyy"+IntegerToString(i), "Cvr: "+DoubleToStr(NormalizeDouble(Low[i]-450*Point,4),4), 21, "Impact", Blue);
         }
      }
      if (bupcounter==6){
         j=i;
         while (j>0){
            if (Low[j]<Low[i]-820*Point) break;
         j--;
         }
         if (j>=0){
              ObjectCreate("Puntor"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], Low[i]-820*Point, Time[j], Low[i]-1250*Point);
                     ObjectSetInteger(0,"Puntor"+IntegerToString(i),OBJPROP_COLOR,clrGreen);
                     ObjectSet("Puntor"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Puntor"+IntegerToString(i),OBJPROP_WIDTH,5);   
                     
                     ObjectCreate("Puntoxy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], Low[i]+60*Point); 
                     ObjectSetText("Puntoxy"+IntegerToString(i), " 2xSell: "+DoubleToStr(NormalizeDouble(Low[i],4),4), 21, "Impact", White);
                                    
                     ObjectCreate("Puntoy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], Low[i]+60*Point); 
                     ObjectSetText("Puntoy"+IntegerToString(i), "2xSell: "+DoubleToStr(NormalizeDouble(Low[i],4),4), 21, "Impact", Red);
               
                     ObjectCreate("Puntoyy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+5], Low[i]-880*Point); 
                     ObjectSetText("Puntoyy"+IntegerToString(i), "Cvr: "+DoubleToStr(NormalizeDouble(Low[i]-820*Point,4),4), 21, "Impact", Blue);
               
         }
      }
      
   }
   else ObjectSetText("Punto"+IntegerToString(i), IntegerToString(bupcounter), 21, "Impact", Purple);
   if (bupcounter==1) ObjectSetText("Punto"+IntegerToString(i), IntegerToString(bupcounter), 31, "Impact", Yellow);   
}

if (bdncounter==2 && Close[i]<Low[i+1]) bdncounter=0;

if (bdncounter>3 && iFractals(symbol,0,MODE_UPPER,i+1)) bdncounter=1;

if (bdncounter>=4 && Low[i]<iMA(symbol,0,55,0,MODE_EMA,PRICE_MEDIAN,i)) bdncounter=0;




if (bdncounter>0){   
   ObjectCreate("Puntox"+IntegerToString(i), OBJ_TEXT, 0, Time[i], Low[i]-70*Point); 
   if (bdncounter==3 || bdncounter==6) {if (Close[i]>Open[i]) ObjectSetText("Puntox"+IntegerToString(i), IntegerToString(bdncounter), 21, "Impact", Red); else ObjectSetText("Puntox"+IntegerToString(i), IntegerToString(bdncounter), 21, "Impact", Green);
      ObjectCreate("Puntos"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+260*Point); 
      ObjectSetText("Puntos"+IntegerToString(i), CharToString(240), 61, "Wingdings", Green);
       if (bdncounter==3 && Low[i]>iMA(symbol,0,50,0,MODE_EMA, PRICE_MEDIAN,i)+100*Point){
         j=i;
         while (j>0){
            if (High[j]>High[i]+620*Point) break;
         j--;
         }
         if (j>=0){
              ObjectCreate("Puntor"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], High[i]+775*Point, Time[j], High[i]+1200*Point);
                     ObjectSetInteger(0,"Puntor"+IntegerToString(i),OBJPROP_COLOR,clrRed);
                     ObjectSet("Puntor"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Puntor"+IntegerToString(i),OBJPROP_WIDTH,5);   
               
               ObjectCreate("Puntoxy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], High[i]+140*Point); 
               ObjectSetText("Puntoxy"+IntegerToString(i), " 2xBuy: "+DoubleToStr(NormalizeDouble(High[i],4),4), 21, "Impact", White);
                              
               ObjectCreate("Puntoy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], High[i]+140*Point); 
               ObjectSetText("Puntoy"+IntegerToString(i), "2xBuy: "+DoubleToStr(NormalizeDouble(High[i],4),4), 21, "Impact", Green);
         
               ObjectCreate("Puntoyy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], High[i]+675*Point); 
               ObjectSetText("Puntoyy"+IntegerToString(i), "Cvr: "+DoubleToStr(NormalizeDouble(High[i]+650*Point,4),4), 21, "Impact", Blue);
         
         
         }
      }
      if (bdncounter==6){
         j=i;
         while (j>0){
            if (High[j]>High[i]+820*Point) break;
         j--;
         }
         if (j>=0){
             ObjectCreate("Puntor"+IntegerToString(i), OBJ_RECTANGLE, 0,  Time[i+1], High[i]+825*Point, Time[j], High[i]+1225*Point);
                     ObjectSetInteger(0,"Puntor"+IntegerToString(i),OBJPROP_COLOR,clrRed);
                     ObjectSet("Puntor"+IntegerToString(i),OBJPROP_BACK,1);
                     ObjectSet("Puntor"+IntegerToString(i),OBJPROP_WIDTH,5);   
               
               ObjectCreate("Puntoxy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], High[i]+140*Point); 
               ObjectSetText("Puntoxy"+IntegerToString(i), " 2xBuy: "+DoubleToStr(NormalizeDouble(High[i],4),4), 21, "Impact", White);
                              
               ObjectCreate("Puntoy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], High[i]+140*Point); 
               ObjectSetText("Puntoy"+IntegerToString(i), "2xBuy: "+DoubleToStr(NormalizeDouble(High[i],4),4), 21, "Impact", Green);
         
               ObjectCreate("Puntoyy"+IntegerToString(i), OBJ_TEXT, 0, Time[i+4], High[i]+825*Point); 
               ObjectSetText("Puntoyy"+IntegerToString(i), "Cvr: "+DoubleToStr(NormalizeDouble(High[i]+825*Point,4),4), 21, "Impact", Blue);
         
         
         }
      }
      
   }
   else ObjectSetText("Puntox"+IntegerToString(i), IntegerToString(bdncounter), 21, "Impact", Purple);
   if (bdncounter==3 && Low[i]<iMA(symbol,0,50,0,MODE_EMA, PRICE_MEDIAN,i)+100*Point) ObjectSetText("Puntox"+IntegerToString(i), IntegerToString(bdncounter), 21, "Impact", Green);
       if (bdncounter==1) ObjectSetText("Puntox"+IntegerToString(i), IntegerToString(bdncounter), 31, "Impact", Yellow);   
}}
 

After the 1st Magenta RSI2 print, the 2nd fractal would be the starting leg of the important bow.