i is always greater than 0 . . you while loop never ends.
try
// i = 100; // while(i > 0) // { for(i=100; i>=0; i--){
WHRoeder:
try
List is an array of type string try
I tried that. now it freezes on numbers that it worked on a day before. Here is the code
i = 100; Print("Year: "+TimeYear(Time[i])+" Month: "+TimeMonth(Time[i])+" Day: "+TimeDay(Time[i])+"Hour: "+TimeMonth(Time[i])); while(i > 0) { string match = List[0]; m = 0; for(j = size - 1; j >= 0; j--) { if( (Close[i+j+1] - Open[i+j+1]) > 0)match = StringSetChar(match, m,'u'); else match = StringSetChar(match, m,'d'); //Print("Time of Hour "+TimeHour(Time[i+j]));for debugging m++; } // Print("pattern found is "+match+" at hour " +TimeHour(Time[i]) );//for debugging /*Data to check closing up/down for(j = 0; j<ArraySize(List); j++) { if( (List[j] == match)&&( (Close[i-1] - Open[i-1]) < 0) ) { Frequency[j]++; ListData[j][0]++; } else if( (List[j] == match)&&((Close[i-1] - Open[i-1]) >= 0) ) { Frequency[j]++; ListData[j][1]++; } } */ for(j = 0; j < ArraySize(List); j++) { if(List[j] == match) { m = (i+1)*60+TimeMinute(iTime(Symbol(),PERIOD_M1,(i+1)*60)); k=m+1; while(m>0) { if(iClose(Symbol(),PERIOD_M1,m) <= iOpen(Symbol(),PERIOD_M1,m) ) { if((iHigh(Symbol(),PERIOD_M1,m)>= (iClose(Symbol(),PERIOD_M1,k) + UsePoint*3))&&(iLow(Symbol(),PERIOD_M1,m)> (iClose(Symbol(),PERIOD_M1,k) - UsePoint*3))) { //Print("broke up at "+iHigh(Symbol(),PERIOD_M1,m)); Frequency[j]++; ListData[j][1]++; break; } else if((iLow(Symbol(),PERIOD_M1,m) <= (iClose(Symbol(),PERIOD_M1,k) - UsePoint*3))&&(iHigh(Symbol(),PERIOD_M1,m)< (iClose(Symbol(),PERIOD_M1,k) + UsePoint*3))) { //Print("broke dn at "+iLow(Symbol(),PERIOD_M1,m)); Frequency[j]++; ListData[j][0]++; break; } } else if(iClose(Symbol(),PERIOD_M1,m) >= iOpen(Symbol(),PERIOD_M1,m)) { if((iLow(Symbol(),PERIOD_M1,m) <= (iClose(Symbol(),PERIOD_M1,k) - UsePoint*3))&&(iHigh(Symbol(),PERIOD_M1,m)< (iClose(Symbol(),PERIOD_M1,k) + UsePoint*3))) { //Print("broke dn at "+iLow(Symbol(),PERIOD_M1,m)); Frequency[j]++; ListData[j][0]++; break; } else if((iHigh(Symbol(),PERIOD_M1,m)>= (iClose(Symbol(),PERIOD_M1,k) + UsePoint*3))&&(iLow(Symbol(),PERIOD_M1,m)> (iClose(Symbol(),PERIOD_M1,k) - UsePoint*3))) { //Print("broke up at "+iHigh(Symbol(),PERIOD_M1,m)); Frequency[j]++; ListData[j][1]++; break; } } m--; } } } i--; Print("i is: "+i); }
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Here is the portion of my code in question
if I use the commented code to initialize i and compile, my mt4 freezes.
On the other hand if I initialize i to any other number as above it will work.
Pretty Please, How do I solve this problem?