openD(1)在條件語句中的用法? - TradeBlazer公式 [開拓者 TB]
- 咨詢內容:
請問為什么openD不能用在IF語句中?如果先把openD賦值給一個變量,在用在IF語句中,就能獲得正確的之。為什么?
- TB技術人員:
舉個例子。
現在有一本歷史書,每一頁都記錄相應年代發生的事件。
比如此書第100頁記錄的是秦朝的歷史。那么,如果你想要知道秦朝的事,找到第一百頁,就能看到內容了。
那如果此時給一個要求,只能翻閱第130頁之后的內容,然后再問你,秦朝是哪年建朝的?這樣,能查得到嗎?
同理,序列函數是通過一些序列值才能計算得到當前的值的。如果不能給足此完整的序列值,如何能計算出來正常的結果?
而你用了在條件語句里,就是對其計算所需的序列值做了一定的條件限定呀。
舉的例子不一定好。試著大概理解一下吧,以后想到更好的例子再換。 - TB客服:
非常感謝您的詳細回答!
這里是openD的源代碼,請教哪里有您說的這個限制?
Params
Numeric daysAgo(2);
Vars
NumericSeries barCnt;
NumericSeries dayOpen;
Numeric i;
Numeric j;
Numeric nIndex(0);
Numeric CBIndex;
Begin
CBIndex = CurrentBar;
If(CBIndex == 0 || Date != Date[1])
{
barCnt = 1;
dayOpen = Open;
}Else
{
barCnt = barCnt + 1;
}
If(daysAgo == 0)
{
return dayOpen;
}Else
{
For i = 1 To daysAgo
{
If( i == 1)
{
j = 0;
}Else
{
j = j + BarCnt[j];
}
If (j > CBIndex )
Return InvalidNumeric;
nIndex = nIndex + BarCnt[j];
}
Return dayOpen[nIndex];
}
End
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
- 上一篇:一個牛人的技術分析歷程
- 下一篇:請問這兩個語句是同一個意思么? - Trade…
相關文章
-
沒有相關內容