[TS懶人包] [保險服務]

2008年10月1日 星期三

TradeStation 裡 Exit for 的替代法

最近寫到幾個情況…都是有用到 For 的…而且都是用到 HTS 裡面才有的 Exit for…也有人留言提到這個問題…就來舉個例子來說明…在 TradeStation 內怎麼才能達到 Exit for 的需求…

首先…會有個程式例子如下:

For Value1 = 0 To 100
If xxxx Then
xxxx
ElseIf xxxx Then
Exit For
End if
End For

類似這樣的 HTS 語法..想要改成 TS...這就要分兩種情況來說明了…首先呢…如果你的程式後面完全沒用到 Value1 的話…那就很簡單啦…用下面這種方式就行了:

For Value1 = 0 To 100 begin
If xxxx Then begin
xxx;
end
Else If xxxx Then begin
value1 = 100;
End;
End;

直接把 Value1 設定為 100…那就跟 Exit For 達到同樣效果了…比較難的是…如果這個 Value1 後面還有用到呢?而且就是要他跑到某個條件 Exit for 掉後的值才是想要的值…那就得多花個功夫了…可以用下面的方法達到 Exit for:

For Value1 = 0 To 100 begin
If xxxx Then begin
xxx;
end
Else If xxxx and vcount = 0 Then begin
value2 = value1;
vcount = 1;
End;
End;

有看到不同之處了嗎?在這邊我多用了 Value2 和一個 vcount來寫…當 else if 成立後,會把 value2 的值設定成目前 value1 的值,並且把 vcount 設成 1 …這樣接下來這個 else if 就都不會成立了…而你要的 value1 的值…會存在 value2 裡面…基本上到這邊這個 for 迴圈還是會一直跑到完的喔…

所以用這個方法…只能達到類似 exit for 的目地…你要的 value1 的值已經存在 value2 裡了…如果後面程式有用到的話…就記得用 value2 不要用 value1 了…因為 value1 還是繼續累加上去了。

沒有留言:

張貼留言

請留下您的大名…匿名者恕不回應…

Related Posts Plugin for WordPress, Blogger...