IF / THEN / ELSE

使用IF/THEN/ELSE這三個語法來判斷某個條件成立時該執行那個動作,不成立時又該執行那個動作。

如果只需要判斷某個條件成立時該執行那個動作,則使用以下的語法:

1If Close > Open Then Ret = 1;

在上述範例內如果Close值大於Open值的話則 Ret 變數的數值會被設定為1。

如果當條件成立時需要執行多個指令的話,則使用Begin/End的語法來包圍所需要執行的指令。

1If Close > Open Then 
2Begin
3	Value1 = Close - Open;
4	Value2 = High - Low;
5End;

如果條件成立時跟不成立時都需要執行不同的指令的話,則可以加入 ELSE語法來定義條件不成立時該執行的動作。

1If Close > Open Then
2	Value1 = Close - Open
3Else
4	Value1 = Open - Close;

在上述範例內當Close的數值不大於Open的數值時,程式會執行Else內的語法。以這個例子為例,Value1的數值就是這根bar的實體高度。

同樣的,Else之後也可以使用Begin/End語法來定義多個指令,範例如下:

1If Close > Open Then 
2Begin
3	Value1 = Close - Open;
4	Value2 = High - Low;
5End
6Else 
7Begin
8	Value1 = Open - Close;
9	Value2 = High - Low;
10End;

Else後面也可以接if,用else if來進行多層次的條件判斷,從腳本上至下依序縮小判斷範圍,範例如下:

1if value1 < 0 then 
2	value2 = 1
3else if value1 < 10 then //等同於if  0 <= value1 and value1 < 10
4	value2 = 2
5else if value1 < 20 then //等同於if  0 <= value1 and value1 < 10
6	value2 = 3
7else  //等同於if  20<= value1 
8	value2 = 4;