是不是內(nèi)置的序列值系統(tǒng)會保證每個Bar初始化,而序列函數(shù)則不一定? [開拓者 TB]
- 咨詢內(nèi)容:
大家好!最近嘗試的寫策略被序列值(**Series)和序列函數(shù)(在代碼中使用了**Series的函數(shù),如:HighD(n)等)折磨,總是弄不太清楚什么時候要對其賦值才能保證程序按照預(yù)想的方式運行。
我想問的是:
1、如同Close, High這樣的內(nèi)置的序列值是否系統(tǒng)會保證初始化,從而在使用時不會出現(xiàn)因賦值而導(dǎo)致的錯誤結(jié)果;但是序列函數(shù)則需要對if語句的使用格外小心?
2、請版主詳細(xì)的講解一下Series的形成機理,如:空間的分配,何時初始化,if語句在什么情況下會導(dǎo)致序列值的錯誤。(我想的有些頭大)
謝謝啦。 - TB技術(shù)人員:
本帖最后由 vividboy 于 2013-7-13 20:22 編輯
測試了一下好像前面的說法也不正確。我想問一下如同Close, High這樣的序列變量是在什么時候初始化,什么時候賦值的?是在調(diào)用它的時候嗎?
比如有這樣一個例子:
Params
Vars
Numeric myValue;
Begin
If(Date == 20130712 && Time == 0.093500)
{
myValue = CoefficientR(Close, OpenInt, 10);
Commentary("Rho = " + Text(myValue));
}
End
如果去掉外面的If,則代碼是正常運行的。但是增加了If后,代碼在對應(yīng)時間的輸出就是錯誤值。 - TB客服:
這個Series的使用和處置問題我看論壇帖子很多,希望管理員和斑竹能詳細(xì)的介紹一下Series的初始化和使用的相關(guān)過程。為什么會出現(xiàn)可能的警告。以及上面的例子為什么會執(zhí)行不正確。
歷史回溯是程序化交易的核心要素(統(tǒng)計需要),這個有差池很多策略的有效性就無從談起,所以希望能弄清楚。謝謝。 - 網(wǎng)友回復(fù):
vividboy 發(fā)表于 2013-7-15 10:54
這個Series的使用和處置問題我看論壇帖子很多,希望管理員和斑竹能詳細(xì)的介紹一下Series的初始化和使用的相 ...
建議你先看看公式指南,里面有詳細(xì)的介紹 - 網(wǎng)友回復(fù):
ample 發(fā)表于 2013-7-15 10:57
建議你先看看公式指南,里面有詳細(xì)的介紹
《指南》我全部都看了一遍,我看到比較相關(guān)的部分就是講“序列變量”的,就是aaa, bbb賦值的問題。
首先,我不太明白一些內(nèi)置的序列變量是如何/在什么時候初始化的,比如:Close。
其次,我也想不太明白,為什么使用條件(if-else)和不使用結(jié)果不一樣,我不太明白這個機理是如何的?
因為Close我們是不能賦值的,但是我取它的值和我在不在if-else中間為什么有關(guān)系呢?
所以我希望能有個官方對序列變量初始化和使用機理(如:為什么if-else下會有問題)進(jìn)行一個詳細(xì)清晰的解釋。
如果還有其他的資料我沒涉及也請告知。謝謝。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容