- for 通常叫做計數迴圈
- while
一個簡單的for迴圈範例,for 裡面可以放三個表達式,通常會這樣放
for (初始化 ; 條件 ; 遞增),當然也可以不用照這個邏輯放。
只要中間的表達式為true,程式就會執行下去,執行順序為:
1 只會執行一次
2 條件成立才會往下執行
3
4
回到 2 然後往下順序 3, 4

輸出 0 到 9

for表達式裡定義的變數有效範圍就只有在for迴圈裡面,不然會出現錯誤訊息 undeclared identifier。

while(條件),只要條件成立就會一直跑,要小心不要變成無窮迴圈,cpu就會拉高畫面卡住。


控制流程
- continue 繼續
- break 結束
continue 繼續,不是繼續執行下面程式的意思,是跳過接下來的程式碼,開始新的循環。
迴圈裡的Print(“continue”),一次都沒有印出來。


break 結束迴圈,之後的循環 i=1, i=2, ….. 都不會執行了。


搭配 if

i == 5 時 continue,之後的程式碼不執行,5就沒有印出來。

i == 5 時 break,跳出for迴圈,5, 6, 7, ….都不會印出來。


無窮迴圈

只要把迴圈裡面的 break 拿掉,程式就會一直印出Log 永不停止。

for & while 迴圈都可以互相取代,看使用的場景哪一個比較方便,之後會使用到輪詢訂單就會再討論到 for迴圈。
以下提供程式給大家研究,需要放在scripts資料夾。
迴圈.mq4