Fractals, that barely made it back beyond the E-16 invoke the new Fluctuation Sized range limit. If you still had any doubts, that the Euro’s fluctuation size is 32 pips – well, check it!
There’s a prelude & then there is an opportunity to get in on the exponential move – until not enough rest is made and you catch up with the limit.
The moving averages are: E16 Blue, E32 Yellow & E135 Brown
Change Lookback value for more history.
If a Wave 4 runs in high octane in 3rd gear (dip below E32 is a buy) then a parabolic tail is kerosene and 5th gear (E16).

#property copyright "by Macdulio"
#property link "forexfore.blog"
#property description "Parabolic Tail for 5 min."
#property indicator_chart_window
#property indicator_buffers 2
//--- input parameters
extern int lookback = 70;
extern double FSize=32;
double FMax = FSize*6/5;
//--- buffers
double E16[], E32[];
double HiBuffer30[],LoBuffer30[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexBuffer(0,HiBuffer30);
SetIndexStyle(0,DRAW_LINE,2,4,Silver);
SetIndexLabel(0, "FSize Plus");
SetIndexBuffer(1,LoBuffer30);
SetIndexStyle(1,DRAW_LINE,2,4,Silver);
SetIndexLabel(1, "FSize Minus");
//----
return(0);
}
int deinit()
{
//----
ObjectsDeleteAll();
//----
return(0);
}
int start()
{
int i;
string symbol = Symbol();
ArrayResize(E16, Bars);
ArrayInitialize(E16, EMPTY_VALUE);
ArrayResize(E32, Bars);
ArrayInitialize(E32, EMPTY_VALUE);
//--------------------------------------------------------------------
for(i=Bars-100; i>=0; i--){
E16[i]=iMA(symbol,5,16,0,MODE_EMA, PRICE_MEDIAN,i);
E32[i]=iMA(symbol,5,32,0,MODE_EMA, PRICE_MEDIAN,i);
}
deletetxt1("ORANGINA");
for(i=lookback; i>=0; i--){
HiBuffer30[i]=HiBuffer30[i+1];
LoBuffer30[i]=LoBuffer30[i+1];
if (E16[i]>E32[i] && E16[i+1]>E32[i+1] && E16[i+2]>E32[i+2] && E16[i+3]>E32[i+3] && E16[i+4]>E32[i+4] && E16[i+5]>E32[i+5] && Low[i]<E16[i]
&& iFractals(symbol,0,MODE_LOWER,i)
) HiBuffer30[i]=Low[i]+FSize*10*Point;
if (E16[i]<E32[i] && E16[i+1]<E32[i+1] && E16[i+2]<E32[i+2] && E16[i+3]<E32[i+3] && E16[i+4]<E32[i+4] && E16[i+5]<E32[i+5] && High[i]>E16[i]
&& iFractals(symbol,0,MODE_HIGH,i)
) LoBuffer30[i]=High[i]-FSize*10*Point;
if (High[i]>HiBuffer30[i]){
ObjectCreate("ORANGINA"+i, OBJ_RECTANGLE, 0, Time[i+2], High[i], Time[i], HiBuffer30[i]);
ObjectSetInteger(0,"ORANGINA"+i,OBJPROP_COLOR,clrOrange);
ObjectSet("ORANGINA"+i,OBJPROP_BACK,1);
ObjectSet("ORANGINA"+i,OBJPROP_WIDTH,5);}
if (Low[i]<LoBuffer30[i] ){
ObjectCreate("ORANGINAL"+i, OBJ_RECTANGLE, 0, Time[i+2], Low[i], Time[i], LoBuffer30[i]);
ObjectSetInteger(0,"ORANGINAL"+i,OBJPROP_COLOR,clrOrange);
ObjectSet("ORANGINAL"+i,OBJPROP_BACK,1);
ObjectSet("ORANGINAL"+i,OBJPROP_WIDTH,5);}
}
//----
return(0);
}
void deletetxt1(string what){
for(int iObj=ObjectsTotal()-1; iObj >= 0; iObj--){
string on = ObjectName(iObj);
if(StringFind(on, what) == 0) ObjectDelete(on);
} }


…
now with levels


