Feel free to skip this intro-rant, I have a lecture of substance right after. Look for the separator line.
Fragile, like a mental in your state.
This is England, we don’t go anywhere without slogans
So let’s put up
Feel good, but trade better
– next to –
Share and Enjoy
Have your say and eat it too
Like a kiss from the Waitrose
And let’s go all out on what (Tricia) McMillan did when they spent their cancer support money on covering up red buses in green saying
“A life with cancer is still life”
This is wrong on so many levels.
1. For starters, spend that advertising money on cancer research instead.
2. A bus with stupid slogans is still a bus.
3. Life, don’t talk to me about life.
For an Eastern European, anecdotes, like these ring home:
– What is the matter with you, you look like the life!
In fact, in Hungary the average male life expectation was 56 years not long ago. My father lived to be just that. Maybe that’s the final solution to pension funds, Ripley.
I knew there 3 people who committed suicide during my 27 years of stay, and knew 2 in the US in 12 years. I worked for one, of them the other was a neighbor – tenant, not 3 but 1 door down. I must be a bad influence.
The point here is that it is best not to be reminded of life.
I had the perfect hand going into April: 3.6 lots long, no shorts. I ended up dumping out the longs prematurely, at a loss, and went extra long 4.4 lots 600 yards from the goal post. If only I was paying any attention to what I’m about to teach you.
I should had taken my 1000% gains for 8 moths, close out everything and tell the broker to put me in a Pro account. I can’t seem to think straight when they are constantly ripping you off with swap. Now I’m being penalized with time. The take away here is to have short term goals made clear.
There are some old cliches such as that an uptrend is made of higher highs and higher lows, and that topping is a process while bottoming is an event.
Now, in the foot-light of the channeling research we are trying to determine where a channeling move ends.
Thanks to the previous blog entries you have gained practice in spotting the start of a channeling move.
What you are looking for afterwards (in our first example – the uptrend) is a Lower Low, which is going to be followed by a Higher High or multiple higher highs without price making any significant progress. An additional 16 or so pips is not progress, that is merely half of a normal fluctuation size.

Nobody taught me about what a fluctuation size is and what half of that was good for. These things are my own findings, and there is no literature elsewhere on the subject. I do realize how strange it may sound to hear from someone frequently taking 2.5 pip gains that 16 pips equals no progress – that’s how life is: a mix of a bunch of things that seem to contradict each other on face value.

Fractals can help to spot the change in the sequence, but 1H may be to insensitive to do this – unless you are using my Modified Fractals routine – the source was posted among the blog entries. I only changed the rhombus (boy’s best friend) size and the color for the current image.
You are not going to be gaining anything extra from going below 30 mins, only lose orientation.
//+------------------------------------------------------------------+
//| Modified Modified Fractals.mq4 |
//| Original: Copyright © 2005, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2021, Edit by Macdulio"
#property link "https://forexfore.blog/"
#property description "This plot started out as a fractal modification"
#property description "See blog entry - Turning in Slow Motion"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 OrangeRed
extern int lookback = 600;
extern int K_Period = 25;
extern int K_Period2 = 60;
extern int K_Period3 = 100;
extern int D_Period = 3;
extern int Slowing = 3;
extern int TopBorder=90;
extern int BotBorder=10;
extern int BotBorder2=5;
extern int BotBorder3=3;
extern string TypeMA = "SMA=0, EMA=1, SMMA=2, LWMA=3";
extern int MAType = 0;
//extern int MAShift = 0;
extern string TypePrice = "0 - Low/High, 1 - Close/Close";
extern int PriceType = 0;
//---- input parameters
//---- buffers
string symbol = Symbol();
double E16[];
double EU[];
double ED[];
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicator buffers mapping
SetIndexBuffer(0,EU);
SetIndexBuffer(1,ED);
//---- drawing settings
SetIndexStyle(0,DRAW_ARROW,EMPTY,7);
SetIndexArrow(0,119);
SetIndexStyle(1,DRAW_ARROW,EMPTY,7);
SetIndexArrow(1,119);
//----
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
//---- name for DataWindow
SetIndexLabel(0,"Fractal Up");
SetIndexLabel(1,"Fractal Down");
//---- initialization done
ArrayResize(E16, Bars);
ArrayInitialize(E16,0);
ArrayResize(ExtMapBuffer1, Bars);
ArrayInitialize(ExtMapBuffer1, EMPTY_VALUE);
ArrayResize(ExtMapBuffer2, Bars);
ArrayInitialize(ExtMapBuffer2, EMPTY_VALUE);
ArrayResize(ExtMapBuffer3, Bars);
ArrayInitialize(ExtMapBuffer3, EMPTY_VALUE);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int i,j,nCountedBars;
bool bFound;
double dCurrent;
for(i = lookback; i >= 0; i--)
{
double St=iStochastic(NULL,0,K_Period,D_Period,Slowing,MAType,PriceType,MODE_MAIN,i);
double St2=iStochastic(NULL,0,K_Period2,D_Period,Slowing,MAType,PriceType,MODE_MAIN,i);
double St3=iStochastic(NULL,0,K_Period3,D_Period,Slowing,MAType,PriceType,MODE_MAIN,i);
ExtMapBuffer1[i] = EMPTY_VALUE;
ExtMapBuffer2[i] = EMPTY_VALUE;
ExtMapBuffer3[i] = EMPTY_VALUE;
// if (St>BotBorder && St<TopBorder) ExtMapBuffer1[i] = 1;
if (St2<BotBorder2 && (St<BotBorder || St3<BotBorder3)) ExtMapBuffer2[i] = 1;
if (St>TopBorder) ExtMapBuffer3[i] = 1;
}
i=lookback-1;
//----Up and Down Fractals
ED[i]=EMPTY_VALUE;
while(i>=2)
{
//----Fractals up
bFound=false;
dCurrent=High[i];
if(dCurrent>High[i+1] && dCurrent>High[i-1] && dCurrent>High[i-2]
&& dCurrent>High[i+2])
{
bFound=true;
EU[i]=dCurrent;
}
//----6 bars Fractal
if(!bFound && (Bars-i-1)>=3)
{
if(dCurrent==High[i+1] && dCurrent>High[i+2]
&& dCurrent>High[i+3]
&& dCurrent>High[i-1]
&& dCurrent>High[i-2] )
{
bFound=true;
EU[i]=dCurrent;
}
}
//----7 bars Fractal
if(!bFound && (Bars-i-1)>=4)
{
if(dCurrent>=High[i+1] && dCurrent>High[i+3] && dCurrent>High[i+4] && dCurrent==High[i+2]
&& dCurrent>High[i-1]
&& dCurrent>High[i-2])
{
bFound=true;
EU[i]=dCurrent;
}
}
//----8 bars Fractal
if(!bFound && (Bars-i-1)>=5)
{
if(dCurrent>=High[i+1] && dCurrent==High[i+2] && dCurrent==High[i+3] && dCurrent>High[i+4] &&
dCurrent>High[i+5]
&& dCurrent>High[i-1]
&& dCurrent>High[i-2])
{
bFound=true;
EU[i]=dCurrent;
}
}
//----9 bars Fractal
if(!bFound && (Bars-i-1)>=6)
{
if(dCurrent>=High[i+1] && dCurrent==High[i+2] && dCurrent>=High[i+3] && dCurrent==High[i+4] && dCurrent>High[i+5] && dCurrent>High[i-1]
&& dCurrent>High[i-2]
&& dCurrent>High[i+6])
{
bFound=true;
EU[i]=dCurrent;
}
}
//----Fractals down
bFound=false;
dCurrent=Low[i];
if(dCurrent<Low[i+1] && dCurrent<Low[i-1] )
//&& dCurrent<Low[i-2]
//&& dCurrent<Low[i+2]
{
bFound=true;
ED[i]=dCurrent;
}
//----6 bars Fractal
if(!bFound && (Bars-i-1)>=3)
{
if(dCurrent==Low[i+1] && dCurrent<Low[i+2] &&
dCurrent<Low[i-1] )
//&& dCurrent<Low[i-2]
//&& dCurrent<Low[i+3]
{
bFound=true;
ED[i]=dCurrent;
}
}
//----7 bars Fractal
if(!bFound && (Bars-i-1)>=4)
{
if(dCurrent<=Low[i+1] && dCurrent==Low[i+2] && dCurrent<Low[i+3] &&
dCurrent<Low[i-1] )
//&& dCurrent<Low[i-2]
//&& dCurrent<Low[i+4]
{
bFound=true;
ED[i]=dCurrent;
}
}
//----8 bars Fractal
if(!bFound && (Bars-i-1)>=5)
{
if(dCurrent<=Low[i+1] && dCurrent==Low[i+2] && dCurrent==Low[i+3] && dCurrent<Low[i+4] &&
dCurrent<Low[i-1] )
//&& dCurrent<Low[i-2]
//&& dCurrent<Low[i+5]
{
bFound=true;
ED[i]=dCurrent;
}
}
//----9 bars Fractal
if(!bFound && (Bars-i-1)>=6)
{
if(dCurrent<=Low[i+1] && dCurrent==Low[i+2] && dCurrent<=Low[i+3] && dCurrent==Low[i+4] && dCurrent<Low[i+5] && dCurrent<Low[i-1] )
//&& dCurrent<Low[i-2]
//&& dCurrent<Low[i+6]
{
bFound=true;
ED[i]=dCurrent;
}
}
i--;
}
//----
for(i=Bars-60; i>=0; i--){
E16[i]=iMA(symbol,60,32,0,MODE_EMA, PRICE_MEDIAN,i);
}
deletetxt1("Frac");
for(i=lookback; i>=0; i--){
if (Low[i]<E16[i]+150*Point && ED[i]>0 ){
j=i+3;
while (j<lookback){
if (ED[j]!=EMPTY_VALUE && ED[j]>0) break;
j++;
}
if (j<lookback && ED[j]!=EMPTY_VALUE && Low[i]<Low[j] && ED[i]!=0 && ED[i]!=EMPTY_VALUE && ExtMapBuffer3[i]==EMPTY_VALUE && ExtMapBuffer3[i+1]!=EMPTY_VALUE){
ObjectCreate("Frac"+i, OBJ_TEXT, 0, Time[i], Low[i]-35*Point);
ObjectSetText("Frac"+i, "LL", 32, "Impact", OrangeRed);
}
}
if (High[i]<=E16[i]+100*Point && High[i]<E16[i]-100*Point && EU[i]>0 ){
j=i+3;
while (j<lookback){
if (iFractals(symbol,0,MODE_UPPER,j)) break;
j++;
}
if (j<lookback && EU[j]!=EMPTY_VALUE && High[i]>High[j] && EU[i]!=0 && EU[i]!=EMPTY_VALUE && ExtMapBuffer2[i]==EMPTY_VALUE && ExtMapBuffer2[i+4]==EMPTY_VALUE ){
ObjectCreate("Frac"+i, OBJ_TEXT, 0, Time[i], High[i]+95*Point);
ObjectSetText("Frac"+i, "HH", 32, "Impact", OrangeRed);
}
}
}
return(0);
}
void deletetxt1(string text){
for(int iObj=ObjectsTotal()-1; iObj >= 0; iObj--){
string on = ObjectName(iObj);
if(StringFind(on, text) == 0) ObjectDelete(on);
} }
//+------------------------------------------------------------------+
Remember the ripple circles?

channeling is on when the 2nd outer fractal gets exceeded by more than 4 pips or if the 3rd spike beyond the E-89 recovers
active channeling has 6 or 12 pullback entries
first 3: beyond E-16
second 3: beyond E-32
third 3: beyond E-89
fourth 3 beyond E-16
active channeling ends with a new Tough Cookie print in its direction (now with golden tail highlight), LL / HH projection zones and stochastic bar sequences are there for confirmation
