Heavy quantifying is going on these days.


Sure, it might look like a game, but thrust me, I’m dead serious. Not gonna write a bunch of lines of code for nothing.
//////////drive down
if (Low[i]<L80[i]
&& iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,10,i))-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i))>460*Point
&& (Low[i]<cover[i]+100*Point || Low[i+1]<cover[i+1]+100*Point || Low[i+2]<cover[i+2]+100*Point)
&& (MFI[i]<12 || MFI[i+1]<12 || MFI[i+2]<12)
&& ((High[i+5]<L80[i+5] && High[i+9]<L80[i+9] && High[i+8]<L80[i+8] && High[i+7]<L80[i+7] && High[i+6]<L80[i+6]) || iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,10,i))-iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i))>1100*Point)
){
ObjectCreate("Drive"+IntegerToString(i), OBJ_TREND, 0, Time[iLowest(symbol,0,MODE_LOW,4,i)], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i)), Time[iHighest(symbol,0,MODE_HIGH,10,i)], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,10,i)));
ObjectSetInteger(0,"Drive"+IntegerToString(i),OBJPROP_COLOR,clrOrangeRed);
ObjectSet("Drive"+IntegerToString(i),OBJPROP_BACK,1);
ObjectSet("Drive"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
ObjectSet("Drive"+IntegerToString(i),OBJPROP_WIDTH,12);
if (Low[i]<iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i)+150*Point && Drive[i+2]>-1 && Drive[i+3]>-1 && Drive[i+4]>-1){
ObjectCreate("PINUSX"+IntegerToString(i),OBJ_TEXT, 0, Time[i],(Low[i]+High[i])/2-100*Point);
ObjectSetText("PINUSX"+IntegerToString(i),"Lift 13-39 Pips", 26, "Impact", clrDarkGreen);}
Drive[iLowest(symbol,0,MODE_LOW,4,i)]=-1;
}
//////////Thrust down
if (i>0 && (High[i+1]>iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i+1) || High[i+2]>iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i+2) || High[i+3]>iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i+3) || High[i+4]>iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i+4) || High[i+5]>iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i+5) || High[i+6]>iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i+6) )
&& High[i]<iMA(symbol,0,8,0,MODE_EMA,PRICE_MEDIAN,i)+50*Point
&& Low[i-1]>Low[i] && Low[i]<cover[i]+100*Point
&& Drive[ArrayMinimum(Drive,40,i)]<0
&& Drive[ArrayMinimum(Drive,8,i)]==0
&& High[i+1]<L53[i+1]
&& High[i+2]<L53[i+2]
&& High[i+3]<L80[i+3]
&& High[i+2]<L80[i+2]
&& High[i+7]<L80[i+7]
&& High[i+8]<L80[i+8]
){
ObjectCreate("Thrust"+IntegerToString(i), OBJ_TREND, 0, Time[iLowest(symbol,0,MODE_LOW,4,i)], iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,i)), Time[iHighest(symbol,0,MODE_HIGH,5,i)], iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,5,i)));
ObjectSetInteger(0,"Thrust"+IntegerToString(i),OBJPROP_COLOR,clrMediumPurple);
ObjectSet("Thrust"+IntegerToString(i),OBJPROP_BACK,1);
ObjectSet("Thrust"+IntegerToString(i),OBJPROP_RAY_RIGHT,false);
ObjectSet("Thrust"+IntegerToString(i),OBJPROP_WIDTH,12);
if (Low[i]<cover[i] && Low[i]<iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i)){
ObjectCreate("PINUSX"+IntegerToString(i),OBJ_TEXT, 0, Time[i],(Low[i]+High[i])/2-100*Point);
ObjectSetText("PINUSX"+IntegerToString(i),"Ding! Ding! Ding!", 26, "Impact", clrDarkGreen);}
else {
ObjectCreate("PINUSX"+IntegerToString(i),OBJ_TEXT, 0, Time[i+6],(Low[i]+High[i])/2-100*Point);
ObjectSetText("PINUSX"+IntegerToString(i),"Weak for a thrust", 16, "Impact", clrGray);}
}
else if (i>0 && Low[i+1]>Low[i] && Low[i-1]>Low[i] && Low[i]<iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_LOWER,i) && Low[i]<cover[i]
// && Drive[ArrayMinimum(Drive,40,i)]<0
&& Drive[ArrayMinimum(Drive,38,i)]==0
){
ObjectCreate("PINUSX"+IntegerToString(i),OBJ_TEXT, 0, Time[i+6],(Low[i]+High[i])/2-100*Point);
ObjectSetText("PINUSX"+IntegerToString(i),"Strong for a thrust", 16, "Impact", clrGray);
}
A new thing is the 120-sample BB as a filter.
The upside has failed with a double divergence, and the market went Jackson 5 and said “I wanna be starting something”. The sequence of the events is always the same.

There are 3 elements. The drive section has an acceleration followed by a Lower Low. The last part is the Thrust – but it cannot be too strong or too weak.
The 3rd song for album #39 after the Sum Of All Pitbulls and the Memory Metal is
Achilles Dent: Quantify My Love