Hi pure4321,
您好,
If RateChange[1] > 3 Then
If Open >= Close[1] Then Ret = 1
Else
If Open > Close[1] Then Ret = 1;
請問如上程式碼,若RateChange[1] < 3,也就是Else不會被執行,WHY?
因為以上的寫法 Else 被包在 If RateChange[1] > 3 中,如下整理後的程式碼,
所以 RateChange[1] 要大於 3,且 Open 要小於 Close[1] ,最後才會走到 Else 的判斷。
If RateChange[1] > 3 Then
If Open >= Close[1] Then Ret = 1 Else If Open > Close[1] Then Ret = 1;
但是如下卻正常,但是較麻煩,如果程式碼數量很多,似乎很複雜,
If RateChange[1] > 3 Then
Begin
If Open >= Close[1] Then Ret = 1;
End
Else
Begin
If Open > Close[1] Then Ret = 1;
End;
可以改寫成以下程式碼:
If RateChange[1] > 3 Then Begin
If Open >= Close[1] Then Ret = 1;
End Else Begin
If Open > Close[1] Then Ret = 1;
End;
以上方向供參考,謝謝。
1 評論