Forget that a head has to be further out than a left shoulder. We got work to do. Let’s go!
ObjectCreate("Fiba", OBJ_FIBO, 0, Time[10], NBEU[0], Time[10],NBED[0]);
string fiboobjnams = "Fiba";
ObjectSet(fiboobjnams, OBJPROP_FIBOLEVELS, 21);
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL, 0.0);
ObjectSetFiboDescription(fiboobjnams,0,"0 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+1, 0.20);
ObjectSetFiboDescription(fiboobjnams,1,"20-OVERSOLD %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+2, 0.4);
ObjectSetFiboDescription(fiboobjnams,2,"40 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+3, 0.50);
ObjectSetFiboDescription(fiboobjnams,3,"50 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+4, 0.6);
ObjectSetFiboDescription(fiboobjnams,4,"60 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+5, 0.8);
ObjectSetFiboDescription(fiboobjnams,5,"80-OVERBOUGHT %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+6, 1.000);
ObjectSetFiboDescription(fiboobjnams,6,"100.0 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+7, -0.3);
ObjectSetFiboDescription(fiboobjnams,7,"-30->80 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+8, -0.45);
ObjectSetFiboDescription(fiboobjnams,8,"-45->C.NBE %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+9, 1.3);
ObjectSetFiboDescription(fiboobjnams,9,"130->20 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+10, 1.45);
ObjectSetFiboDescription(fiboobjnams,10,"145->C.NBE %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+11, 2.0);
ObjectSetFiboDescription(fiboobjnams,11,"200 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+12, 3.0);
ObjectSetFiboDescription(fiboobjnams,12,"300 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+13, -1.0);
ObjectSetFiboDescription(fiboobjnams,13,"-100 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+14, -2.0);
ObjectSetFiboDescription(fiboobjnams,14,"-200 %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+15, -0.8);
ObjectSetFiboDescription(fiboobjnams,15,"-80 BREAK BELOW %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+16, 1.80);
ObjectSetFiboDescription(fiboobjnams,16,"180 BREAK ABOVE %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+17, -0.6);
ObjectSetFiboDescription(fiboobjnams,17,"-60 !!! %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+18, 1.60);
ObjectSetFiboDescription(fiboobjnams,18,"160 !!! %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+19, -0.2);
ObjectSetFiboDescription(fiboobjnams,19,"-20-OVERSOLD %$");
ObjectSet(fiboobjnams, OBJPROP_FIRSTLEVEL+20, 1.2);
ObjectSetFiboDescription(fiboobjnams,20,"120-OVERBOUGHT %$");
ObjectSet( "Fiba", OBJPROP_LEVELCOLOR, clrNavy) ;
ObjectsRedraw();
It would be normal to think that a head has to qualify for a turn, but what I’m finding here is that not only the left shoulder has to precede the head, but it too has to be right and it is rather hard for it to qualify.
This is all the data I can get buffered in with 15 min / MT4.



Now we need to see a head and shoulder in reversed order on the top


The filp.



