Didn’t I just teach you about Wave 4 absorption?

What was it that the next 4H print wasn’t able to do following the wave 5’s volaility outburst? (Think Hard!)

What comes after the divergent leg? Volatility whip that would take out the last daily swing high.

EmPuhE where Wave 3’s end was the Measuring Leg and the Wave 5 Divergent Leg made a Push & Echo divergence.
Anyways, my MFI plots the range over the given timeframe with 10 pips allowance for turn until hiting the limit.

I personally believe that the 14-sample is best fit for the 30 nin and the 4H.
////MFI by Macdulio
#property copyright "MFI by Macdulio, (c) 2021"
#property link "http://www.forexfore.blog"
#property description "MFI by Macdulio"
#property strict
#property indicator_separate_window
//separate_window
#property indicator_minimum -50
#property indicator_maximum 50
#property indicator_buffers 3
#property indicator_level1 0
#property indicator_levelcolor clrYellow
#property indicator_levelstyle STYLE_DOT
#property indicator_levelwidth 1
extern int indicator_window = 1;
extern int lookback = 200;
extern bool plot_ellipses=false;
string symbol = Symbol();
double RSI2[],Cumulative[], VWAP[], VWAPP[], VWAPN[], Cumvol[];
//---- buffers
double MFI[],MFINEG[], MFIAVG[], AVG[];
int init()
{
SetIndexStyle(1,DRAW_HISTOGRAM,EMPTY,5,Green);
SetIndexBuffer(1,MFI);
SetIndexStyle(2,DRAW_HISTOGRAM,EMPTY,5,Crimson);
SetIndexBuffer(2,MFINEG);
SetIndexBuffer(0,MFIAVG);
SetIndexStyle(0,DRAW_LINE,EMPTY,3,clrBlack);
SetIndexBuffer(3,VWAPN);
SetIndexStyle(3,DRAW_LINE,4,3,clrDeepPink);
SetIndexBuffer(4,VWAPP);
SetIndexStyle(4,DRAW_LINE,4,3,clrTeal);
SetIndexBuffer(5,AVG);
SetIndexStyle(5,DRAW_LINE,4,3,Black);
return(0);
}
int start()
{
ArrayResize(RSI2, Bars);
ArrayInitialize(RSI2, 0);
ArrayResize(Cumulative, Bars);
ArrayInitialize(Cumulative, 0);
ArrayResize(Cumvol, Bars);
ArrayInitialize(Cumvol, 0);
ArrayResize(MFI, Bars);
ArrayInitialize(MFI, EMPTY_VALUE);
ArrayResize(MFINEG, Bars);
ArrayInitialize(MFINEG, EMPTY_VALUE);
ArrayResize(MFIAVG, Bars);
ArrayInitialize(MFIAVG, EMPTY_VALUE);
ArrayResize(VWAP, Bars);
ArrayInitialize(VWAP, 0);
ArrayResize(VWAPP, Bars);
ArrayInitialize(VWAPP, EMPTY_VALUE);
ArrayResize(AVG, Bars);
ArrayInitialize(AVG, EMPTY_VALUE);
ArrayResize(VWAPN, Bars);
ArrayInitialize(VWAPN, EMPTY_VALUE);
int i,j,k;
for(i=Bars-60; i>=0; i--){
RSI2[i]=iRSI(symbol,0,2,PRICE_MEDIAN,i);
if (i<=lookback){
for (j=i; j<i+14; j++)
Cumulative[i]=Cumulative[i]+Volume[j]*((High[j]+Low[j]+Close[j])/3);
Cumulative[i]=Cumulative[i]/14;
Cumvol[i]=Cumvol[i]+Volume[j];
}
}
for (i = lookback; i >=0; i--) {
MFI[i]=iMFI(symbol,0,14,i)-50;
if (MFI[i]<0) MFINEG[i]=MFI[i];
VWAP[i]=(Cumulative[i]/Cumvol[i]*50-75);
if (VWAP[i]<VWAP[i+1]) VWAPN[i]=VWAP[i];
if (VWAP[i]>VWAP[i+1]) VWAPP[i]=VWAP[i];
if (i<lookback-5){
AVG[i]=((MFI[i]+MFI[i+1]+MFI[i+3]+MFI[i+4]+MFI[i+5])/5);
MFIAVG[i]=((MFI[i]+MFI[i+1])/2);
}
}
deletetxt1("Cinnamon");
deletetxt1("Cinnabon");
deletetxt1("REVERGENCE");
deletetxt1("Ditty");
for (i = lookback-2 ; i >0; i--) {
if (MFI[i]<MFI[i+1] && MFI[i+1]<MFI[i+2] && MFI[i]>0 && MFI[i-1]>0 && MFI[i-1]>MFI[i] && i>0){
if (i<56) ObjectCreate("Cinnamon"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i+1], High[i+1]+100*Point, Time[0], High[i+1]+150*Point);
else ObjectCreate("Cinnamon"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i+1], High[i+1]+100*Point, Time[i-1], High[i+1]+150*Point);
if (Close[0]>High[i+1]+50*Point) ObjectSetInteger(0,"Cinnamon"+IntegerToString(i),OBJPROP_COLOR,clrLimeGreen);
else if (Close[0]<High[i+1]+200*Point) ObjectSetInteger(0,"Cinnamon"+IntegerToString(i),OBJPROP_COLOR,clrTomato);
else ObjectSetInteger(0,"Cinnamon"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
ObjectSet("Cinnamon"+IntegerToString(i),OBJPROP_BACK,1);
ObjectSet("Cinnamon"+IntegerToString(i),OBJPROP_WIDTH,1);
if (Period()==1440 && i<56){
ObjectCreate("CinnamonXY"+IntegerToString(i), OBJ_TEXT, 0, Time[0], High[i+1]+450*Point);
ObjectSetText("CinnamonXY"+IntegerToString(i), " +-100!", 22, "Arial Black", clrMagenta);
}
j=i-1;
while(j>0){
if (High[j]>High[i-1] && High[j]>High[i+1]+125*Point && High[j]<High[i+1]+360*Point && Low[j]<High[i+1]+125*Point) break;
j--;
}
if (j>0 && Period()==1440) {
ObjectCreate("Cinnabon"+IntegerToString(j), OBJ_TEXT, 0, Time[j+1], High[j]+60*Point);
ObjectSetText("Cinnabon"+IntegerToString(j), "BuyStop:"+DoubleToStr(NormalizeDouble(High[j]+80*Point,4),4), 12, "Impact", clrNavy);
ObjectCreate("Cinnabonn"+IntegerToString(j), OBJ_TEXT, indicator_window, Time[j], 98);
ObjectSetText("Cinnabonn"+IntegerToString(j), "R2MA", 12, "Impact", clrBlue);
}
k=j-1;
while(k>0){
if (High[k]>High[j]+50*Point && High[k-1]<High[k] && High[k]<High[k]-160*Point && Low[k]<High[j]) break;
k--;
}
if (k>0 && Period()==1440) {
ObjectCreate("Cinnabon"+IntegerToString(k), OBJ_TEXT, 0, Time[k+1], High[k]+150*Point);
ObjectSetText("Cinnabon"+IntegerToString(k), "BuyStop:"+DoubleToStr(NormalizeDouble(High[k]+80*Point,4),4), 12, "Impact", clrBlue);
ObjectCreate("Cinnabonn"+IntegerToString(j), OBJ_TEXT, indicator_window, Time[j], 98);
ObjectSetText("Cinnabonn"+IntegerToString(j), "R2MA", 12, "Impact", clrBlue);
}
}
if (MFI[i]>MFI[i+1] && MFI[i+1]>MFI[i+2] && MFI[i]<0 && MFI[i-1]<0 && MFI[i-1]<MFI[i] && i>0){
if (i<56) ObjectCreate("Cinnamon"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i+1], Low[i+1]-100*Point, Time[0], Low[i+1]-150*Point);
else ObjectCreate("Cinnamon"+IntegerToString(i), OBJ_RECTANGLE, 0, Time[i+1], Low[i+1]-100*Point, Time[i-1], Low[i+1]-150*Point);
if (Close[0]>Low[i+1]-50*Point) ObjectSetInteger(0,"Cinnamon"+IntegerToString(i),OBJPROP_COLOR,clrLimeGreen);
else if (Close[0]<Low[i+1]-200*Point) ObjectSetInteger(0,"Cinnamon"+IntegerToString(i),OBJPROP_COLOR,clrTomato);
else ObjectSetInteger(0,"Cinnamon"+IntegerToString(i),OBJPROP_COLOR,clrGoldenrod);
ObjectSet("Cinnamon"+IntegerToString(i),OBJPROP_BACK,1);
ObjectSet("Cinnamon"+IntegerToString(i),OBJPROP_WIDTH,1);
if (Period()==1440 && i<56){
ObjectCreate("CinnamonXY"+IntegerToString(i), OBJ_TEXT, 0, Time[0], Low[i+1]+250*Point);
ObjectSetText("CinnamonXY"+IntegerToString(i), " +-100!", 22, "Arial Black", clrMagenta);
}
j=i-1;
while(j>0){
if (Low[j]<Low[i-1] && Low[j]<Low[i+1]-125*Point && Low[j]>Low[i+1]-360*Point && High[j]>Low[i+1]-125*Point) break;
j--;
}
if (j>0 && Period()==1440) {
ObjectCreate("Cinnabon"+IntegerToString(j), OBJ_TEXT, 0, Time[j+1], Low[j]-50*Point);
ObjectSetText("Cinnabon"+IntegerToString(j), "SellStop:"+DoubleToStr(NormalizeDouble(Low[j]-80*Point,4),4), 12, "Impact", clrNavy);
ObjectCreate("Cinnabonn"+IntegerToString(j), OBJ_TEXT, indicator_window, Time[j], 98);
ObjectSetText("Cinnabonn"+IntegerToString(j), "R2MA", 12, "Impact", clrBlue);
}
k=j-1;
while(k>0){
if (Low[k]<Low[j]-50*Point && Low[k-1]>Low[k] && Low[k]>Low[j]-160*Point && High[k]>Low[j]) break;
k--;
}
if (k>0 && Period()==1440) {
ObjectCreate("Cinnabon"+IntegerToString(k), OBJ_TEXT, 0, Time[k+1], Low[k]-150*Point);
ObjectSetText("Cinnabon"+IntegerToString(k), "SellStop:"+DoubleToStr(NormalizeDouble(Low[k]-80*Point,4),4), 12, "Impact", clrBlue);
ObjectCreate("Cinnabonn"+IntegerToString(j), OBJ_TEXT, indicator_window, Time[j], 98);
ObjectSetText("Cinnabonn"+IntegerToString(j), "R2MA", 12, "Impact", clrBlue);
}
}
if (Period()==1440 && iStochastic(symbol,0,18,3,3,MODE_SMA,0,MODE_MAIN,i)<4.9 && iStochastic(symbol,0,18,3,3,MODE_SMA,0,MODE_MAIN,i+1)>4.9){
ObjectCreate("Cinnaboner"+IntegerToString(i), OBJ_TEXT, indicator_window, Time[i], 50);
ObjectSetText("Cinnaboner"+IntegerToString(i), "EVAL 4 DIVG / COLOR", 12, "Impact", clrPurple);
}
}
double breakup=1000;
double breakdown = 0;
/////REVERGENCEs up
for(i=lookback; i>=0; i--){
if (iFractals(symbol,0,MODE_LOWER,i)){
j=i+3;
while (j<i+36){
if (iFractals(symbol,0,MODE_LOWER,j) && Low[j]>Low[i] && MFI[j]<MFI[i] && !(High[i]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i) && Low[i]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i)) && !(High[i+1]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1) && Low[i+1]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1))) break;
j++;
}
if (j<i+36 && iFractals(symbol,0,MODE_LOWER,j) && Low[j]>Low[i] && MFI[j]<MFI[i]){
// ObjectDelete("REVERGENCEs"+IntegerToString(j));
// ObjectCreate(0,"REVERGENCEs"+IntegerToString(j),OBJ_TREND,indicator_window,Time[j],MFI[j],Time[i],MFI[i]);
// ObjectSetInteger(0,"REVERGENCEs"+IntegerToString(j),OBJPROP_RAY_RIGHT,false);
// ObjectSet("REVERGENCEs"+IntegerToString(j),OBJPROP_COLOR,clrLimeGreen);
// ObjectSet("REVERGENCEs"+IntegerToString(j),OBJPROP_WIDTH,2);
// ObjectSet("REVERGENCEs"+IntegerToString(j),OBJPROP_BACK,1);
if (RSI2[i]<35){
ObjectCreate("Dittyyy"+IntegerToString(i),OBJ_VLINE,indicator_window, Time[i], 0);
ObjectSet("Dittyyy"+IntegerToString(i),OBJPROP_COLOR,clrYellow );
ObjectSet("Dittyyy"+IntegerToString(i),OBJPROP_WIDTH,7);
ObjectSet("Dittyyy"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
ObjectSet("Dittyyy"+IntegerToString(i),OBJPROP_BACK,1);
ObjectCreate("Dittyy"+IntegerToString(i),OBJ_VLINE,indicator_window, Time[i], 0);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_COLOR,clrLimeGreen );
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_WIDTH,3);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_BACK,1);
}
breakdown = Low[i]-80*Point;
if (Period()==1440){ breakdown = Low[i]-460*Point;
ObjectCreate("Cinnabonn"+IntegerToString(i), OBJ_TEXT, indicator_window, Time[i], 98);
ObjectSetText("Cinnabonn"+IntegerToString(i), "R2MA", 12, "Impact", clrBlue);
}
deletetxt1("Davidson");
ObjectCreate("Davidson", OBJ_TEXT, 0, Time[i], Low[i]+10*Point);
ObjectSetText("Davidson", CharToStr(120), 38, "Wingdings", clrOrange);
}
}
}
/////continuation REVERGENCE up
for(i=lookback; i>=0; i--){
if (iFractals(symbol,0,MODE_LOWER,i)){
j=i+3;
while (j<i+36){
if (iFractals(symbol,0,MODE_LOWER,j) && Low[j]<Low[i] && MFI[j]>MFI[i] && !(High[i]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i) && Low[i]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i)) && !(High[i+1]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1) && Low[i+1]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1)) ) break;
j++;
}
if (j<i+36 && iFractals(symbol,0,MODE_LOWER,j) && Low[j]<Low[i] && MFI[j]>MFI[i]){
// ObjectDelete("REVERGENCEr"+IntegerToString(j));
// ObjectCreate(0,"REVERGENCEr"+IntegerToString(j),OBJ_TREND,indicator_window,Time[j],MFI[j],Time[i],MFI[i]);
// ObjectSetInteger(0,"REVERGENCEr"+IntegerToString(j),OBJPROP_RAY_RIGHT,false);
// ObjectSet("REVERGENCEr"+IntegerToString(j),OBJPROP_COLOR,clrNavy);
// ObjectSet("REVERGENCEr"+IntegerToString(j),OBJPROP_WIDTH,2);
// ObjectSet("REVERGENCEr"+IntegerToString(j),OBJPROP_BACK,1);
if (RSI2[i]<15){
ObjectCreate("Dittyy"+IntegerToString(i),OBJ_VLINE,indicator_window, Time[i], 0);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_COLOR,clrLimeGreen );
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_WIDTH,3);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_BACK,1);
}
}
}
}
//////REVERGENCE down
for(i=lookback; i>=0; i--){
if (iFractals(symbol,0,MODE_UPPER,i)){
j=i+3;
while (j<i+36){
if (iFractals(symbol,0,MODE_UPPER,j) && High[j]<High[i] && MFI[j]>MFI[i] && !(High[i]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i) && Low[i]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i)) && !(High[i+1]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1) && Low[i+1]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1))) break;
j++;
}
if (j<i+36 && iFractals(symbol,0,MODE_UPPER,j) && High[j]<High[i] && MFI[j]>MFI[i] && !(High[i]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i) && Low[i]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i)) && !(High[i+1]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1) && Low[i+1]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1))){
// ObjectDelete("REVERGENCEZ"+IntegerToString(j));
// ObjectCreate(0,"REVERGENCEZ"+IntegerToString(j),OBJ_TREND,indicator_window,Time[j],MFI[j],Time[i],MFI[i]);
// ObjectSetInteger(0,"REVERGENCEZ"+IntegerToString(j),OBJPROP_RAY_RIGHT,false);
// ObjectSet("REVERGENCEZ"+IntegerToString(j),OBJPROP_COLOR,clrPink);
// ObjectSet("REVERGENCEZ"+IntegerToString(j),OBJPROP_WIDTH,2);
// ObjectSet("REVERGENCEZ"+IntegerToString(j),OBJPROP_BACK,1);
ObjectCreate("Dittyyy"+IntegerToString(i),OBJ_VLINE,indicator_window, Time[i], 0);
ObjectSet("Dittyyy"+IntegerToString(i),OBJPROP_COLOR,clrYellow );
ObjectSet("Dittyyy"+IntegerToString(i),OBJPROP_WIDTH,7);
ObjectSet("Dittyyy"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
ObjectSet("Dittyyy"+IntegerToString(i),OBJPROP_BACK,1);
ObjectCreate("Dittyy"+IntegerToString(i),OBJ_VLINE,indicator_window, Time[i], 0);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_COLOR,clrRed);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_WIDTH,3);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_BACK,1);
breakup = High[i]+80*Point;
if (Period()==1440){ breakup = High[i]+460*Point;
ObjectCreate("Cinnabonn"+IntegerToString(i), OBJ_TEXT, indicator_window, Time[i], 98);
ObjectSetText("Cinnabonn"+IntegerToString(i), "R2MA", 12, "Impact", clrBlue);}
deletetxt1("Davidoff");
ObjectCreate("Davidoff", OBJ_TEXT, 0, Time[i], High[i]+90*Point);
ObjectSetText("Davidoff", CharToStr(120), 38, "Wingdings", clrOrange);
}
}
}
//////continuation REVERGENCE down
for(i=lookback; i>=0; i--){
if (iFractals(symbol,0,MODE_UPPER,i)){
j=i+3;
while (j<i+36){
if (iFractals(symbol,0,MODE_UPPER,j) && High[j]>High[i] && MFI[j]<MFI[i] && !(High[i]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i) && Low[i]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i)) && !(High[i+1]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1) && Low[i+1]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1))) break;
j++;
}
if (j<i+36 && iFractals(symbol,0,MODE_UPPER,j) && High[j]>High[i] && MFI[j]<MFI[i] && !(High[i]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i) && Low[i]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i)) && !(High[i+1]>iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1) && Low[i+1]<iMA(symbol,0,44,0,MODE_EMA,PRICE_MEDIAN,i+1))){
// ObjectDelete("REVERGENCEZ"+IntegerToString(j));
// ObjectCreate(0,"REVERGENCEZ"+IntegerToString(j),OBJ_TREND,indicator_window,Time[j],MFI[j],Time[i],MFI[i]);
// ObjectSetInteger(0,"REVERGENCEZ"+IntegerToString(j),OBJPROP_RAY_RIGHT,false);
// ObjectSet("REVERGENCEZ"+IntegerToString(j),OBJPROP_COLOR,clrYellow);
// ObjectSet("REVERGENCEZ"+IntegerToString(j),OBJPROP_WIDTH,2);
// ObjectSet("REVERGENCEZ"+IntegerToString(j),OBJPROP_BACK,1);
if (RSI2[i]>75){
ObjectCreate("Dittyy"+IntegerToString(i),OBJ_VLINE,indicator_window, Time[i], 0);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_COLOR,clrRed );
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_WIDTH,3);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_STYLE,STYLE_DOT);
ObjectSet("Dittyy"+IntegerToString(i),OBJPROP_BACK,1); }
}
}
}
deletetxt1("LOPEZ");
if (plot_ellipses){
for(i=180; i>=0; i--){
if (High[i]>breakdown && Low[i]<breakdown && Close[i]>breakup){
ObjectCreate("LOPEZ"+IntegerToString(i), OBJ_ELLIPSE, 0, Time[i], High[i], Time[i+1], Low[i]);
ObjectSetInteger(0,"LOPEZ"+IntegerToString(i),OBJPROP_COLOR,clrChartreuse);
ObjectSetDouble(0,"LOPEZ"+IntegerToString(i),OBJPROP_SCALE,.05);
ObjectSet("LOPEZ"+IntegerToString(i),OBJPROP_WIDTH,8);
ObjectSet("LOPEZ"+IntegerToString(i),OBJPROP_BACK,0);
}
if (High[i]>breakdown && Low[i]<breakdown && Close[i]<breakup){
ObjectCreate("LOPEZ"+IntegerToString(i), OBJ_ELLIPSE, 0, Time[i], High[i], Time[i+1], Low[i]);
ObjectSetInteger(0,"LOPEZ"+IntegerToString(i),OBJPROP_COLOR,clrPink);
ObjectSetDouble(0,"LOPEZ"+IntegerToString(i),OBJPROP_SCALE,.05);
ObjectSet("LOPEZ"+IntegerToString(i),OBJPROP_WIDTH,8);
ObjectSet("LOPEZ"+IntegerToString(i),OBJPROP_BACK,0);
}
if (High[i]>breakup && Low[i]<breakup && Close[i]>breakup){
ObjectCreate("LOPEZ"+IntegerToString(i), OBJ_ELLIPSE, 0, Time[i], High[i], Time[i+1], Low[i]);
ObjectSetInteger(0,"LOPEZ"+IntegerToString(i),OBJPROP_COLOR,clrChartreuse);
ObjectSetDouble(0,"LOPEZ"+IntegerToString(i),OBJPROP_SCALE,.05);
ObjectSet("LOPEZ"+IntegerToString(i),OBJPROP_WIDTH,8);
ObjectSet("LOPEZ"+IntegerToString(i),OBJPROP_BACK,0);
}
if (High[i]>breakup && Low[i]<breakup && Close[i]<breakup){
ObjectCreate("LOPEZ"+IntegerToString(i), OBJ_ELLIPSE, 0, Time[i], High[i], Time[i+1], Low[i]);
ObjectSetInteger(0,"LOPEZ"+IntegerToString(i),OBJPROP_COLOR,clrPink);
ObjectSetDouble(0,"LOPEZ"+IntegerToString(i),OBJPROP_SCALE,.05);
ObjectSet("LOPEZ"+IntegerToString(i),OBJPROP_WIDTH,8);
ObjectSet("LOPEZ"+IntegerToString(i),OBJPROP_BACK,0);
}
}
}
deletetxt1("ENVELOPE");
ObjectCreate("ENVELOPE"+6,OBJ_LABEL,indicator_window, 0,0);
ObjectSet("ENVELOPE"+6,OBJPROP_CORNER,1);
ObjectSet("ENVELOPE"+6,OBJPROP_XDISTANCE,0);
ObjectSet("ENVELOPE"+6,OBJPROP_YDISTANCE,20);
ObjectSet("ENVELOPE"+6,OBJPROP_COLOR,clrPurple);
ObjectSetText("ENVELOPE"+6,"M. UPPER>"+NormalizeDouble(breakup,4),9,"Arial Black");
ObjectCreate("ENVELOPE"+9,OBJ_LABEL,indicator_window, 0,0);
ObjectSet("ENVELOPE"+9,OBJPROP_CORNER,3);
ObjectSet("ENVELOPE"+9,OBJPROP_XDISTANCE,0);
ObjectSet("ENVELOPE"+9,OBJPROP_YDISTANCE,20);
ObjectSet("ENVELOPE"+9,OBJPROP_COLOR,clrPurple);
ObjectSetText("ENVELOPE"+9,"M. LOWER>"+NormalizeDouble(breakdown,4),9,"Arial Black");
ObjectCreate("ENVELOPE"+3,OBJ_LABEL,2, 0,0);
ObjectSet("ENVELOPE"+3,OBJPROP_CORNER,3);
ObjectSet("ENVELOPE"+3,OBJPROP_XDISTANCE,0);
ObjectSet("ENVELOPE"+3,OBJPROP_YDISTANCE,20);
ObjectSet("ENVELOPE"+3,OBJPROP_COLOR,clrYellow);
ObjectSetText("ENVELOPE"+3,"ENTRY @ MORATORIUM LINE",9,"Arial Black");
deletetxt1("HINE");
ObjectCreate( "HINE", OBJ_HLINE, 0, Time[0], NormalizeDouble(breakup,4));
ObjectSet("HINE", OBJPROP_COLOR, clrYellow );
ObjectSet("HINE", OBJPROP_WIDTH, 3 );
ObjectSet("HINE", OBJPROP_STYLE, 4 );
ObjectCreate( "HINED", OBJ_HLINE, 0, Time[0], NormalizeDouble(breakdown,4));
ObjectSet("HINED", OBJPROP_COLOR, clrYellow );
ObjectSet("HINED", OBJPROP_WIDTH, 3 );
ObjectSet("HINED", OBJPROP_STYLE, 4 );
deletetxt1("Harley");
for(i=lookback; i>0; i--){
////Captain America
if (Period()==60 && High[i]>High[i+1] && High[i]>High[i-1] && i>0 && High[i]-380*Point<iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+4)) && High[i]>iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i) && High[i]-250*Point>iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,2,i+4))
//&& RSI2[i]<84
&& (RSI2[i+4]<15 || RSI2[i+4]>16)
&& Close[i]<iMA(NULL,0,44,0,MODE_EMA, PRICE_MEDIAN,i)+490*Point && i>1 && High[i-2]<High[i]
)
{
ObjectCreate("Harley"+DoubleToStr(i), OBJ_TEXT, 0, Time[i], High[i]+100*Point);
ObjectSetText("Harley"+DoubleToStr(i), CharToStr(181), 68, "Wingdings", clrCrimson);
ObjectSet("Harley"+DoubleToStr(i),OBJPROP_BACK,1);
}
if (Period()==60 && Low[i]<Low[i+1] && Low[i]<Low[i-1] && i>0 && Low[i]+380*Point>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+4))
//&& High[i]>iMA(symbol,60,207,0,MODE_EMA, PRICE_LOW,i)
&& Low[i]+250*Point<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+4)) && i>1 && Low[i-2]>Low[i])
{
ObjectCreate("Harleys"+DoubleToStr(i), OBJ_TEXT, 0, Time[i], Low[i]+100*Point);
ObjectSetText("Harleys"+DoubleToStr(i), CharToStr(181), 68, "Wingdings", clrYellow);
ObjectSet("Harleys"+DoubleToStr(i),OBJPROP_BACK,1);
}
if (Period()==60 && Low[i]<Low[i+1] && Low[i]<Low[i-1] && i>0 && Low[i]+380*Point>iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+4)) && Low[i]<iMA(symbol,60,207,0,MODE_EMA, PRICE_HIGH,i) && Low[i]+250*Point<iLow(symbol,0,iLowest(symbol,0,MODE_LOW,2,i+4))
&& Close[i]>iMA(NULL,0,44,0,MODE_EMA, PRICE_MEDIAN,i)-490*Point && i>1 && Low[i-2]>Low[i]
)
{
ObjectCreate("Harley"+DoubleToStr(i), OBJ_TEXT, 0, Time[i], Low[i]+100*Point);
ObjectSetText("Harley"+DoubleToStr(i), CharToStr(181), 68, "Wingdings", clrDarkGreen);
ObjectSet("Harley"+DoubleToStr(i),OBJPROP_BACK,1);
}
}
if (Period()==1440){
ObjectCreate("CinnamonXYZ", OBJ_TEXT, 1, Time[0], 50);
ObjectSetText("CinnamonXYZ", " 10-16 Rejection", 15, "Arial Black", clrOrange);
ObjectCreate("CinnamonXY", OBJ_TEXT, 1, Time[0], 50);
ObjectSetText("CinnamonXY", " 10-16 Rejection", 15, "Arial Black", clrMagenta);
}
// WindowRedraw();
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);
} }
