The psychology of the Double Pump. Keep in mind, work in progress – I don’t always get things right the first time around.
Let’s start with the mutipliers.
Let’s call a close beyond the 30, 120, and 240 Bollingers a “3X”.
And a close beyond the 30, 60, 120, and 240 Bollingers a “4X”.
I care about the new prints only.

///3x up
if (Close[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i) && Close[i]>iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_UPPER,i) && Close[i]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i) && Close[i+2]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+2) && Close[i+1]<iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)){
ObjectCreate("Cigari"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+70*Point);
ObjectSetText("Cigari"+IntegerToString(i), "3x", 26, "Impact", Black); }
///4x up
if (Close[i]>iBands(symbol,0,30,2,0,PRICE_MEDIAN,MODE_UPPER,i) && Close[i]>iBands(symbol,0,120,2,0,PRICE_MEDIAN,MODE_UPPER,i) && Close[i]>iBands(symbol,0,240,2,0,PRICE_MEDIAN,MODE_UPPER,i) && Close[i]>iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i) && Close[i+1]<iBands(symbol,0,60,2,0,PRICE_MEDIAN,MODE_UPPER,i+1)){
ObjectCreate("Cigari"+IntegerToString(i), OBJ_TEXT, 0, Time[i], High[i]+70*Point);
ObjectSetText("Cigari"+IntegerToString(i), "4x", 26, "Impact", Black); }

Now, let’s gather the overlaps based on the two examples we have. By the way, just knowing that the pump would have 2 different legs that would go to extremes is already helpful.

///pump 1: every RSI2 below 35 is a buy, later every second fractal below E16 is a buy
///exit 1: 4x one to three times or a double white
///pump 2: every move below BB30 is a buy, later every dip is a buy
///exit 2: double white (+volatility)
The double white condition
///double white
if (RSI2[i]<RSI2[i+1] && RSI2[i+1]>RSI2[i+2] && RSI2[i+1]>95.5
&& High[i+1]>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i+4))
){
if (MFI[i+1]>71){
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);
if (Close[i+1]-iMA(symbol,0,414,0,MODE_EMA,PRICE_MEDIAN,i+1)>510*Point) { ObjectCreate("Citeras"+IntegerToString(i), OBJ_TEXT, 0, Time[i+1], Close[i+1]+50*Point); ObjectSetText("Citeras"+IntegerToString(i), CharToStr(222), 44, "Wingdings", White);
}
}
if (MFI[i+1]>92 && MFI[i]<92) {ObjectSet("Valiant"+IntegerToString(i),OBJPROP_COLOR,clrGray);
}
if (MFI[i]>69 && MFI[i+2]>69 && MFI[i+3]>69 && MFI[i+4]>69 && MFI[i+5]>69) { ObjectCreate("Valiant"+IntegerToString(i),OBJ_VLINE,1, Time[i+1], 0); ObjectSet("Valiant"+IntegerToString(i),OBJPROP_COLOR,clrWhite); ObjectSet("Valiant"+IntegerToString(i),OBJPROP_WIDTH,4);
}
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);
}
}
}
A quick display of how good the double white print is. The first image shows how the trend following system turns. You would miss out on at least 20 pips.

If price moves back higher, you could get into an unwanted drawdown with your shorts.
Now, look at a double white that gets a re-visit. If you are trying to get in on the high of that candle, or one pip out, you pretty much get the top tick, no drawdown (yellow rectangle).

In closing, the conclusion for the Air Guitar Sonata is that it is a Double Pump Sonata.