This is a program on your own section – well, almost.
RSI2[i]=iRSI(symbol,0,2,PRICE_MEDIAN,i);
j2=1;
while (j2<100 ){
j=j2+2;
if (DML[j]==EMPTY_VALUE && RSI2[j2]<RSI2[j2+1] && RSI2[j2-1]>RSI2[j2] && RSI2[j2]<32)
while (j<j2+26){
if (DML[j]!=EMPTY_VALUE && RSI2[j2]>RSI2[j] && Low[j2]<=Low[j]+40*Point && RSI2[j2]<RSI2[j2+1] && RSI2[j2-1]>RSI2[j2] ) break;
j++;}
if (DML[j]!=EMPTY_VALUE && RSI2[j2]>RSI2[j] && Low[j2]<=Low[j]+40*Point && RSI2[j2]<RSI2[j2+1] && RSI2[j2-1]>RSI2[j2]) break;
j2++;}
if (j2<100 && DML[j]!=EMPTY_VALUE && Low[j2]<=Low[j]+40*Point ) {LowFractalTime_2=iTime(NULL, 0,j2); LowFractalTime_1=iTime(NULL, 0,j); }
if (j<100 && j<j2+26) {
if(j2-4>=0){
ObjectCreate(0,"TRIAGE"+j,OBJ_TRIANGLE,0,Time[j],Low[j],Time[j],iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,j2-1)),Time[j2-4],(iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,j2-1))+Low[j])/2);
ObjectSetInteger(0,"TRIAGE"+j,OBJPROP_COLOR,clrGray); ObjectSetInteger(0,"TRIAGE"+j,OBJPROP_WIDTH,2); ObjectSetInteger(0,"TRIAGE"+j,OBJPROP_BACK,1);
ObjectCreate("ANGLi"+j, OBJ_TEXT, 0, Time[j2], ((iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,j2-1))+Low[j])/2)+28*Point);
ObjectSetText("ANGLi"+j, "Sup->"+NormalizeDouble((iLow(symbol,0,iLowest(symbol,0,MODE_LOW,4,j2-1))+Low[j])/2,4), 22, "Arial Black", Black);
}
ObjectDelete(0,"cNNN3_2");
ObjectCreate(0,"cNNN3_2",OBJ_TREND,2,LowFractalTime_1,RSI2[j],LowFractalTime_2,RSI2[j2]);
ObjectSetInteger(0,"cNNN3_2",OBJPROP_RAY_RIGHT,false);
if (stoch2[j]<20 && stoch2[j2-1]<20 && RSI2[j2]>23) ObjectSet("cNNN3_2",OBJPROP_COLOR,clrRed);
else ObjectSet("cNNN3_2",OBJPROP_COLOR,indicator_color1);
ObjectSet("cNNN3_2",OBJPROP_WIDTH,8);
ObjectSet("cNNN3_2",OBJPROP_BACK,1); }
i2=1;
while (i2<100 ){
i=i2+2;
if (UML[i]==EMPTY_VALUE && RSI2[i2]>RSI2[i2+1] && RSI2[i2-1]<RSI2[i2] && RSI2[i2]>70)
while (i<i2+26){
if (UML[i]!=EMPTY_VALUE && RSI2[i2]<RSI2[i] && High[i2]>=High[i]-40*Point && RSI2[i2]>RSI2[i2+1] && RSI2[i2-1]<RSI2[i2] ) break;
i++;}
if (UML[i]!=EMPTY_VALUE && RSI2[i2]<RSI2[i] && High[i2]>=High[i]-40*Point && RSI2[i2]>RSI2[i2+1] && RSI2[i2-1]<RSI2[i2]) break;
i2++;}
if (i2<100 && UML[i]!=EMPTY_VALUE && High[i2]>=High[i]-40*Point ) {UpFractalTime_2=iTime(NULL, 0,i2); UpFractalTime_1=iTime(NULL, 0,i); }
if (i<100 && i<i2+26) {
if(i2-4>=0){
ObjectCreate(0,"TRIAGE"+i,OBJ_TRIANGLE,0,Time[i],High[i],Time[i],iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i2)),Time[i2-4],(iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i2))+High[i])/2);
ObjectSetInteger(0,"TRIAGE"+i,OBJPROP_COLOR,clrGray); ObjectSetInteger(0,"TRIAGE"+i,OBJPROP_WIDTH,2); ObjectSetInteger(0,"TRIAGE"+i,OBJPROP_BACK,1);
ObjectCreate("ANGL"+i, OBJ_TEXT, 0, Time[i2], ((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i2))+High[i])/2)+88*Point);
ObjectSetText("ANGL"+i, "Res->"+NormalizeDouble((iHigh(symbol,0,iHighest(symbol,0,MODE_HIGH,4,i2))+High[i])/2,4), 22, "Arial Black", Black);
}
ObjectDelete(0,"ccNN3_2");
ObjectCreate(0,"ccNN3_2",OBJ_TREND,2,UpFractalTime_1,RSI2[i],UpFractalTime_2,RSI2[i2]);
ObjectSetInteger(0,"ccNN3_2",OBJPROP_RAY_RIGHT,false);
if (stoch2[i]>75 && stoch2[i2]>75 && RSI2[i2]<77) ObjectSet("ccNN3_2",OBJPROP_COLOR,clrGreen);
else ObjectSet("ccNN3_2",OBJPROP_COLOR,indicator_color1);
ObjectSet("ccNN3_2",OBJPROP_WIDTH,8);
ObjectSet("ccNN3_2",OBJPROP_BACK,1); }
int keepj2=j2+4;
int keepi2=i2+4;