Igmar Signalson

It was a rather productive bank holiday.

I made those labels on the right and decided to turn them into gigantic arrows.

Chart self-interpretation nominee.

i.e.:

///RSI2 sells
 if (RSI2[i]<RSI2[i+1] && RSI2[i+1]>RSI2[i+2]  && RSI2[i+1]>95.5
 //96.8
  && High[i+1]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i+4))
  ){
      ObjectCreate("Valiant"+IntegerToString(i),OBJ_VLINE,2, Time[i+1], 0);
            ObjectSet("Valiant"+IntegerToString(i),OBJPROP_COLOR,clrGreen);
            ObjectSet("Valiant"+IntegerToString(i),OBJPROP_WIDTH,2);
            if (MFI[i+1]<71 && High[i+1]-Low[i+1]>170*Point){
               ObjectCreate("Citeral"+IntegerToString(i), OBJ_TEXT, 2, Time[i+1], 95); 
                ObjectSetText("Citeral"+IntegerToString(i), CharToStr(242), 144, "Wingdings", Red);
            }
            
            if (MFI[i+1]>71){ ObjectSet("Valiant"+IntegerToString(i),OBJPROP_WIDTH,4);        
              if ((Close[i+1]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)
              || (High[i+1]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i+1) && iRSI(symbol,1440,2,PRICE_MEDIAN,0)>93)) && Low[i+2]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i+2)) 
               {ObjectSet("Valiant"+IntegerToString(i),OBJPROP_WIDTH,8);
                
               ObjectCreate("Citeras"+IntegerToString(i), OBJ_TEXT, 0, Time[i+1], Close[i+1]+50*Point); 
                ObjectSetText("Citeras"+IntegerToString(i), CharToStr(222), 44, "Wingdings", Red); 
              if (Close[i+1]-iMA(symbol,0,414,0,MODE_EMA,PRICE_MEDIAN,i+1)>510*Point) {ObjectSet("Citeras"+IntegerToString(i),OBJPROP_COLOR,clrWhite);
                if (RSI2[i+1]>98 && MFI[i+1]>88){
                  ObjectCreate("Citeral"+IntegerToString(i), OBJ_TEXT, 2, Time[i+1], 95); 
                ObjectSetText("Citeral"+IntegerToString(i), CharToStr(242), 144, "Wingdings", Red);
                }
                ObjectCreate("MINUSXXX"+IntegerToString(i),OBJ_TEXT, 0, Time[i], iMA(symbol,0,22,0,MODE_EMA,PRICE_MEDIAN,i));
               ObjectSetText("MINUSXXX"+IntegerToString(i),"16-pip bounce from E-44", 26, "Impact", clrYellow);
              }
            ObjectSet("Valiant"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
            ObjectSet("Valiant"+IntegerToString(i),OBJPROP_BACK,1);
            }
             if (MFI[i+1]>92 && MFI[i]<92) {ObjectSet("Valiant"+IntegerToString(i),OBJPROP_COLOR,clrGray);
               ObjectCreate("MINUSXX"+IntegerToString(i),OBJ_TEXT, 2, Time[i+1],75);
                ObjectSetText("MINUSXX"+IntegerToString(i),"Sell:"+DoubleToStr(NormalizeDouble(High[i+1]+30*Point,4),4), 26, "Impact", clrCrimson);
            }
            if (MFI[i]>69 && MFI[i+2]>69 && MFI[i+3]>69 && MFI[i+4]>69 && MFI[i+5]>69) {ObjectSet("Valiant"+IntegerToString(i),OBJPROP_COLOR,clrWhite);
               ObjectCreate("MINUSXX"+IntegerToString(i),OBJ_TEXT, 2, Time[i],75);
                ObjectSetText("MINUSXX"+IntegerToString(i),"Buy:"+DoubleToStr(NormalizeDouble(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,13,i)),4),4), 26, "Impact", clrGreen);
               if (Low[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)+10*Point && Close[i+1]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1) && Close[i+2]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+2)
               && Close[i+3]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+3) && Close[i+4]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+4)
               && Close[i+5]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+5) && Close[i+6]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+6)
               ) {
                ObjectCreate("Citeral"+IntegerToString(i), OBJ_TEXT, 2, Time[i+1], 95); 
                ObjectSetText("Citeral"+IntegerToString(i), CharToStr(242), 144, "Wingdings", Red);
               }         
            }
            if (MFI[i+1]>99 && MFI[i+2]>99 && MFI[i+3]>99 && MFI[i+4]>99 && MFI[i+5]>99) {ObjectSet("Valiant"+IntegerToString(i),OBJPROP_COLOR,clrGray);
               ObjectCreate("MINUSXX"+IntegerToString(i),OBJ_TEXT, 2, Time[i],75);
                ObjectSetText("MINUSXX"+IntegerToString(i),"Sell:"+DoubleToStr(NormalizeDouble(High[i]+270*Point,4),4)+"/W3M (mapping)", 26, "Impact", clrCrimson);
            }  
          }
          
  }     

Also, I figured out how the undercut works around the thin RSI2 red plots (with white horizontal arrows). It has to arrive on cue. Fourth candle would be optimal, the 5th is acceptable. If the low gets taken earlier or later, that’s a continuation break.

I should have never ventured off the 30-minute. Wasted too much time.

The black arrow down means continuation sell next. The yellow boxes are typically around #2 closes.

A second #2 is always a suspect exit


#4 can be an end if it matches #3's end and does not flip hard (doji to inert) 

#5 can be an end if it has low volatility & stays inside 3 & 4 & inside the BB

a #6 or a #7 can be an end if it is a strong burst outside the BB from inside

#8 can be an end if it makes a doji

#9 can be an end if it makes a doji

#10 can be an end if it makes a doji


One of the hardest things is to make parodies of bands like A-Ha. Frankly, all you can get for these is baffled looks and dislikes.