Used in combination with Begin and End to form a conditional loop statement that will execute a set of instructions repeatedly as long as a logical expression is true. If the logical expression is not true, the instructions will not be executed.
While E Begin I1; I2; I3; End;
- E - a true/false expression.
- I - conditional instructions.
- Begin should not be followed by a semicolon (;), code lines within an instruction group should end with a semicolon (;), and End should be followed by a semicolon (;).
- Important: if the loop doesn't contain code that will cause the logical expression to evaluate to false, you'll be stuck in an infinite loop, which will cause MultiCharts to freeze. For example, the code below is not correct:
while (value1 < 10) begin Print("Value1 is: ", value1); end; value1 = value1 + 1; // This should be placed in the while-loop, not outside of it
Add the high prices of the last 10 bars to the HighPriceSum variable:
BarBackNo = 0; While BarBackNo < 10 Begin HighPriceSum = HighPriceSum + High[BarBackNo]; BarBackNo = BarBackNo + 1; End;