Total Calibration Horror

Conclusions.

The market is either moving away from a thrust or a displacement. This is the basis of the directional logic.

I had to go into town to adjust the Displacements to my liking. You have the next short coming up when the RSI2 goes above 76.

////Displacements
      if (Low[i]<iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_MAIN,i) && Low[i]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_LOWER,i)
      && L53[i+1]>L80[i+1]) {
              ObjectCreate("PINUSXZZZ"+IntegerToString(i),OBJ_TEXT, 0, Time[i+5],Low[i]-20*Point);
              ObjectSetText("PINUSXZZZ"+IntegerToString(i),"Displacement", 16, "Impact", clrBlue);
              disp[i]=1;
              if (MFI[i]<30 && iRSI(symbol,0,2,PRICE_MEDIAN,i)<13) {ObjectSetText("PINUSXZZZ"+IntegerToString(i),"Displacement - STOP", 16, "Impact", clrRed); disp[i]=-1;}
         else if (MFI[i]<8) {ObjectSetText("PINUSXZZZ"+IntegerToString(i),"Displacement", 16, "Impact", clrGreen); 
      }}
   
      if (High[i]>iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_MAIN,i) && High[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)
      && (L53[i+1]<L80[i+1] || L53[i+1]<L80[i+1]) && MFI[i]>60) {
              ObjectCreate("PINUSXZZZ"+IntegerToString(i),OBJ_TEXT, 0, Time[i+5],High[i]+90*Point);
              ObjectSetText("PINUSXZZZ"+IntegerToString(i),"Displacement", 16, "Impact", clrBlue);
              disp[i]=-1;
      }
      
      if (
      ((High[i]>iMA(symbol,0,70,2,MODE_SMA,PRICE_MEDIAN,i) && iRSI(symbol,0,2,PRICE_MEDIAN,i)>96) ||
      High[i]>iMA(symbol,0,80,2,MODE_SMA,PRICE_MEDIAN,i))
      && High[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i)
      && L53[i+1]<L80[i+1] && MFI[i]>62 
      && High[i]>=iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,28,i))-50*Point
       ) {
           ObjectCreate("PINUSXZZZ"+IntegerToString(i),OBJ_TEXT, 0, Time[i+5],High[i]+50*Point);
           ObjectSetText("PINUSXZZZ"+IntegerToString(i),"Displacement", 16, "Impact", clrTeal);
           if (MFI[i]>84 && iRSI(symbol,0,2,PRICE_MEDIAN,i)>96) ObjectSetText("PINUSXZZZ"+IntegerToString(i),"Displacement - STOP + 10 pips", 16, "Impact", clrGreen);
           disp[i]-1;
      }

RSI2 highlights

if (dire[i]>0 && iRSI(symbol,0,2,PRICE_MEDIAN,i)<16.5){
          ObjectCreate("Bacardisz"+IntegerToString(i), OBJ_RECTANGLE, 1,  Time[i+1], iRSI(symbol,0,2,PRICE_MEDIAN,i)+10, Time[i], iRSI(symbol,0,2,PRICE_MEDIAN,i)-10);
          ObjectSetInteger(0,"Bacardisz"+IntegerToString(i),OBJPROP_COLOR,clrGreen);
          ObjectSet("Bacardisz"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Bacardisz"+IntegerToString(i),OBJPROP_WIDTH,3);
   }
   if (dire[i]<0 && iRSI(symbol,0,2,PRICE_MEDIAN,i)>76){
          ObjectCreate("Bacardisz"+IntegerToString(i), OBJ_RECTANGLE, 1,  Time[i+1], iRSI(symbol,0,2,PRICE_MEDIAN,i)+10, Time[i], iRSI(symbol,0,2,PRICE_MEDIAN,i)-10);
          ObjectSetInteger(0,"Bacardisz"+IntegerToString(i),OBJPROP_COLOR,clrCrimson);
          ObjectSet("Bacardisz"+IntegerToString(i),OBJPROP_BACK,1);
          ObjectSet("Bacardisz"+IntegerToString(i),OBJPROP_WIDTH,3);
   }

Price going outside the cover line by 15 pips initiates the extended time play (extra large thrust).

 if ((Low[i]<cover[i]-150*Point && Low[i]<iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i)) || (High[i]>cover[i]+150*Point && High[i]>iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_UPPER,i)) && cover[i]!=EMPTY_VALUE) {

The calculation of the Cover is ten sample hourly high minus 53 pips / low plus 53 pips.

cover[i]=iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,10,i))-530*Point; 
cover[i]=iLow(symbol,0,iLowest(symbol,0,MODE_LOW,10,i))+530*Point;

The Storno of the thrust:

  if (thrust[i+5]==1 && Close[i]<Close[i+5] && Close[i]<Close[i+4] && Close[i+5]<L80[i+5] && Low[i+5]<cover[i+5] && High[i+1]<High[i+2]){
            ObjectSetText("PINUSX"+IntegerToString(i+5),"Storno!", 26, "Impact", clrCrimson);
            thrust[i]=-1;
             ObjectSetInteger(0,"Thrust"+IntegerToString(i+5),OBJPROP_COLOR,clrOrangeRed);
         ObjectSetInteger(0,"Thrust"+IntegerToString(i+3),OBJPROP_COLOR,clrOrangeRed);
      }