Code:
//+------------------------------------------------------------------+
//| question.mq4 |
//| Copyright 2020, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
// A:
for(int x=0; x<100; x++)
if(x==1)
for(int y=0; y<100; y++)
if(y>x) // DEAL WITH THE PREVIOUS DETERMINED X AND FINALLY
{
Print("y ",y);
break; // PRINTS Y ONLY ONCE CORRECT
}
// B:
for(int x=0; x<100; x++)
if(x==1)
for(int y=0; y<100; y++)
if(y>x) // DEAL WITH THE PREVIOUS DETERMINED X AND FINALLY
for(int z=0; z<100; z++)
if(z>y) // DEAL WITH THE PREVIOUS DETERMINED Y AND FINALLY
{
Print("z ",y); // PRINT ONLY FIRST Z THAT IS ABOVE Y WHICH IS ABOVE X
break; // !!!!! ONLY ONCE THOUGH !!! THIS ONE PRINTS MANY Z's; NOT CORRECT
}
//2 versions; A stops at 2 and B does not. Why does the first A only print one iteration of y and the B iterates many iterations of z? I need B. to behave like A and only print ONCE the z value that is larger than x and y
}
//+------------------------------------------------------------------+
Is this worth it or just have it break and save to variables faster bc break ends the whole loop?
Last edited: