The original intent of the Candle Fabricator was to combine daily candles if one of them was shaven for instance to acknowledge the limitations that come with a steady pace of grouping data.
In reality it takes a lot of work to plug in values.
This is an aftermath, nodding to just using the things that are easy to get access to. A defeat & a surrender.
Finally, the market is making an extension before a more complex reversal back down.
What is important here is to notice the inside, down daily candle’s 20% level (red line) was put pressure on at the open and since the market has been trending higher. The 80% was also back tested during the break out.

The daily Stoch is now at 72, so a marginal higher high tomorrow would probably put this in the reversal range.
////Draw those candles
deletetxt1("Candle");
ObjectCreate("Candle0", OBJ_RECTANGLE, 0, Time[8], iHigh(symbol,10080,0), Time[9], iLow(symbol,10080,0));
if ((iHigh(symbol,10080,0)+iLow(symbol,10080,0))/2>Close[0]) ObjectSetInteger(0,"Candle0",OBJPROP_COLOR,clrTomato);
else ObjectSetInteger(0,"Candle0",OBJPROP_COLOR,clrPaleTurquoise);
ObjectSet("Candle0",OBJPROP_BACK,0);
ObjectSet("Candle0",OBJPROP_WIDTH,5);
ObjectCreate( "Candle0_", OBJ_TREND, 0, Time[7], Close[0], Time[10], Close[0]);
ObjectSet("Candle0_", OBJPROP_COLOR, clrBlack ); ObjectSet("Candle0_", OBJPROP_BACK, 1 );
ObjectSet("Candle0_", OBJPROP_STYLE, 2 );
ObjectSet("Candle0_", OBJPROP_RAY_RIGHT, false );
ObjectSet("Candle0_", OBJPROP_WIDTH, 3 );
ObjectCreate("Candle1", OBJ_RECTANGLE, 0, Time[10], last_candle_high, Time[11], last_candle_low);
if ((last_candle_high+last_candle_low)/2>last_candle_close) ObjectSetInteger(0,"Candle1",OBJPROP_COLOR,clrTomato);
else ObjectSetInteger(0,"Candle1",OBJPROP_COLOR,clrPaleTurquoise);
ObjectSet("Candle1",OBJPROP_BACK,1);
ObjectSet("Candle1",OBJPROP_WIDTH,5);
ObjectCreate( "Candle1_", OBJ_TREND, 0, Time[9], last_candle_close, Time[12], last_candle_close);
ObjectSet("Candle1_", OBJPROP_COLOR, clrGold ); ObjectSet("Candle1_", OBJPROP_BACK, 1 );
ObjectSet("Candle1_", OBJPROP_STYLE, 2 );
ObjectSet("Candle1_", OBJPROP_RAY_RIGHT, false );
ObjectSet("Candle1_", OBJPROP_WIDTH, 6 );
ObjectCreate("Candle2", OBJ_RECTANGLE, 0, Time[12], prior_candle_high, Time[13], prior_candle_low);
if ((prior_candle_high+prior_candle_low)/2>prior_candle_close) ObjectSetInteger(0,"Candle2",OBJPROP_COLOR,clrTomato);
else ObjectSetInteger(0,"Candle2",OBJPROP_COLOR,clrPaleTurquoise);
ObjectSet("Candle2",OBJPROP_BACK,1);
ObjectSet("Candle2",OBJPROP_WIDTH,5);
ObjectCreate( "Candle2_", OBJ_TREND, 0, Time[11], prior_candle_close, Time[14], prior_candle_close);
ObjectSet("Candle2_", OBJPROP_COLOR, clrGold ); ObjectSet("Candle2_", OBJPROP_BACK, 1 );
ObjectSet("Candle2_", OBJPROP_STYLE, 2 );
ObjectSet("Candle2_", OBJPROP_RAY_RIGHT, false );
ObjectSet("Candle2_", OBJPROP_WIDTH, 6 );
ObjectCreate( "CandleC", OBJ_HLINE, 0, Time[0], Close[0]);
ObjectSet("CandleC", OBJPROP_COLOR, clrBlack ); ObjectSet("Candle2_", OBJPROP_BACK, 1 );
ObjectSet("CandleC", OBJPROP_STYLE, 2 );
ObjectSet("CandleC", OBJPROP_WIDTH, 1 );
///50%
ObjectCreate( "Candle5", OBJ_HLINE, 0, Time[0], (last_candle_high+last_candle_low)/2);
ObjectSet("Candle5", OBJPROP_COLOR, clrGray ); ObjectSet("Candle5_", OBJPROP_BACK, 0 );
ObjectSet("Candle5", OBJPROP_STYLE, 1 );
ObjectSet("Candle5", OBJPROP_WIDTH, 1 );
ObjectCreate("Candle50", OBJ_TEXT, 0, Time[0], (last_candle_high+last_candle_low)/2+90*Point);
ObjectSetText("Candle50", " 50%="+NormalizeDouble((last_candle_high+last_candle_low)/2,4)+" Size: "+NormalizeDouble(AccountEquity()/2/1000*.5,2)+" Lots", 12, "Arial Black", clrNavy);
///80%
if ((last_candle_high+last_candle_low)/2<last_candle_close) ObjectCreate( "Candle8", OBJ_HLINE, 0, Time[0], (last_candle_high-last_candle_low)/5+last_candle_low);
else ObjectCreate( "Candle8", OBJ_HLINE, 0, Time[0], last_candle_high-(last_candle_high-last_candle_low)/5);
ObjectSet("Candle8", OBJPROP_COLOR, clrDarkGreen ); ObjectSet("Candle5_", OBJPROP_BACK, 0 );
ObjectSet("Candle8", OBJPROP_STYLE, 1 );
ObjectSet("Candle8", OBJPROP_WIDTH, 1 );
if ((last_candle_high+last_candle_low)/2<last_candle_close) {ObjectCreate("Candle80", OBJ_TEXT, 0, Time[0], (last_candle_high-last_candle_low)/5+last_candle_low+90*Point);
ObjectSetText("Candle80", " 80%="+NormalizeDouble((last_candle_high-last_candle_low)/5+last_candle_low,4)+" Size: "+NormalizeDouble(AccountEquity()/2/1000*.8,2)+" Lots", 12, "Arial Black", clrNavy);
}
else { ObjectCreate("Candle80", OBJ_TEXT, 0, Time[0], last_candle_high-(last_candle_high-last_candle_low)/5+90*Point);
ObjectSetText("Candle80", " 80%="+NormalizeDouble(last_candle_high-(last_candle_high-last_candle_low)/5,4)+" Size: "+NormalizeDouble(AccountEquity()/2/1000*.8,2)+" Lots", 12, "Arial Black", clrNavy);}
///20%
if ((last_candle_high+last_candle_low)/2>last_candle_close) ObjectCreate( "Candle20", OBJ_HLINE, 0, Time[0], (last_candle_high-last_candle_low)/5+last_candle_low);
else ObjectCreate( "Candle20", OBJ_HLINE, 0, Time[0], last_candle_high-(last_candle_high-last_candle_low)/5);
ObjectSet("Candle20", OBJPROP_COLOR, clrCrimson ); ObjectSet("Candle5_", OBJPROP_BACK, 0 );
ObjectSet("Candle20", OBJPROP_STYLE, 1 );
ObjectSet("Candle20", OBJPROP_WIDTH, 1 );
if ((last_candle_high+last_candle_low)/2>last_candle_close) {ObjectCreate("Candle200", OBJ_TEXT, 0, Time[0], (last_candle_high-last_candle_low)/5+last_candle_low+90*Point);
ObjectSetText("Candle200", " 20%="+NormalizeDouble((last_candle_high-last_candle_low)/5+last_candle_low,4)+" Size: "+DoubleToStr(NormalizeDouble(AccountEquity()/2/1000*.2,2),2)+" Lots", 12, "Arial Black", clrNavy);
}
else {ObjectCreate("Candle200", OBJ_TEXT, 0, Time[0], last_candle_high-(last_candle_high-last_candle_low)/5+90*Point);
ObjectSetText("Candle200", " 20%="+NormalizeDouble(last_candle_high-(last_candle_high-last_candle_low)/5,4)+" Size: "+DoubleToStr(NormalizeDouble(AccountEquity()/2/1000*.8,2),2)+" Lots", 12, "Arial Black", clrNavy);}
///100%
if ((last_candle_high+last_candle_low)/2>last_candle_close) ObjectCreate( "Candle10", OBJ_HLINE, 0, Time[0], last_candle_high);
else ObjectCreate( "Candle10", OBJ_HLINE, 0, Time[0], last_candle_low);
ObjectSet("Candle10", OBJPROP_COLOR, clrGray ); ObjectSet("Candle5_", OBJPROP_BACK, 0 );
ObjectSet("Candle10", OBJPROP_STYLE, 1 );
ObjectSet("Candle10", OBJPROP_WIDTH, 1 );
if ((last_candle_high+last_candle_low)/2>last_candle_close) {ObjectCreate("Candle100", OBJ_TEXT, 0, Time[0], last_candle_high+90*Point);
ObjectSetText("Candle100", " 100%="+NormalizeDouble(last_candle_high,4)+" Size: "+DoubleToStr(NormalizeDouble(AccountEquity()/2/1000,2),2)+" Lots", 12, "Arial Black", clrNavy);
}
else {ObjectCreate("Candle100", OBJ_TEXT, 0, Time[0], last_candle_low+90*Point);
ObjectSetText("Candle100", " 100%="+NormalizeDouble(last_candle_low,4)+" Size: "+DoubleToStr(NormalizeDouble(AccountEquity()/2/1000,2),2)+" Lots", 12, "Arial Black", clrNavy);}
//// label
ObjectCreate("Candle400", OBJ_TEXT, 0, Time[0], last_candle_high+(last_candle_high-last_candle_low)/5);
ObjectSetText("Candle400", " The Don't Come Back Kids", 12, "Arial Black", clrNavy);
//percentage print
ObjectCreate("CandleP", OBJ_TEXT, 0, Time[5], Close[0]+90*Point);
if ((last_candle_high+last_candle_low)/2>last_candle_close)
ObjectSetText("CandleP", " "+DoubleToStr(
NormalizeDouble(100-(last_candle_high-Close[0])/(last_candle_high-last_candle_low)*100,2)
,2)+"%", 12, "Arial Black", clrIndigo);
else ObjectSetText("CandleP", " "+DoubleToStr(
NormalizeDouble((Close[0]-last_candle_low)/(last_candle_high-last_candle_low)*100,2)
,2)+"%", 12, "Arial Black", clrIndigo);
& the declaration
double last_candle_high = iHigh(symbol,1440,1);
double last_candle_low = iLow(symbol,1440,1);
double last_candle_close = iClose(symbol,1440,1);
double prior_candle_high = iHigh(symbol,1440,2);
double prior_candle_low = iLow(symbol,1440,2);
double prior_candle_close = iClose(symbol,1440,2);
Vangelis died as well as Klaus Shulze this year.

