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