NinjaScript > Educational Resources > Basic Programming Concepts >

Looping Commands

Print this Topic Previous pageReturn to chapter overviewNext page

Looping commands control execution flow of your script. If you wanted to print the word NinjaTrader 100 times the you could use 100 lines of code or you could do the same using a looping command in only a few lines of code.

 

 

While Loop

 

while (Boolean expression)

{

    //Do something here

}

 

Example:

 

// Print NinjaTrader 100 times to the output window
int x = 0;
while (x < 100)
{
    Print("NinjaTrader");
    x = x + 1;
}

 

 

Do Loop

 

do

{

    //Do something here

}

while (Boolean expression)

 

Example:

 

// Print NinjaTrader 100 times to the output window
int x = 0;
do
{
    Print("NinjaTrader");
    x = x + 1;
}
while (x < 100)

 

 

For Loop

 

for (initializer; boolean expression; iterator)

{

    //Do something here

}

 

Example:

 

// Print NinjaTrader 100 times to the output window
for (int x = 0; x < 100; x++)
{
    Print("NinjaTrader");
}

 

 

Foreach Loop

 

foreach (type identifier in boolean expression)

{

    // Do something here

}

 

Example:

 

Lets say you wanted to count the number of oatmeal cookies in a cookie jar.

 

// Count the number of oatmeal cookies in the cookie jar
int oatmealCookies = 0;
foreach (cookie in cookieJar)
{
    if (cookie.Type == Oatmeal)
    {
        oatmealCookies = oatmealCookies + 1;
    }
}
Print("There are " + numberOatmeal.ToString() + "oatmeal cookies in the cookie jar.");

 

 

Break and Continue

 

You can use the break command to exit a loop at any time. The following example is an infinite loop but we will break after the first print statement.

 

// Exit the infinite loop after the first iteration
while (0 == 0)
{
    Print("NinjaTrader");
    break;
}

 

The continue command will jump ahead to the next iteration of the loop. The following example will not print NinjaTrader because the continue command sends control back to the top of the loop each time.

 

// Never prints NinjaTrader
for (int x = 0; x < 100; x++)
{
    continue;
    Print("NinjaTrader");
}