迴圈

By | 2019-02-10

當同樣的指令需要被重覆執行時,用的是迴圈的相關語法,如果知道同樣的指令要被執行多少次,用的是for這個語法。

語法的流程如下圖

for的流程圖

例如當我們要設計一個加總函數,計算過去N期某數據的加總值時,我們就可以用到這樣的語法,把加總函數設計如下

sum

再例如我們要計算一段時間的K線,然後計算符合某特定條件的K棒數時,也可以用For這樣的語法

計數器

但有的時候我們不知道一共要執行多少次,這時候就可以用while這個語法,當判斷式成立時,While迴圈會重複的執行,一直到判斷式回傳False為止。

while1

如果在迴圈內需要執行多個指令的話,則可以使用Begin/End的方式來包圍。

while2

舉個例子

while例子

上述範例內While的迴圈會一直執行,直到 i 的數值 >= 5時才會停止。每次執行時SumValue會累加前幾期的Close數值,同時變數i 會每次加1。以這個範例而言,SumValue的數值會變成是最近5期收盤價的加總,最後算出AvgValue為最近5期的平均收盤價。