請教一下:TB在每個TICK到來時到底如何調(diào)用公式應(yīng)用? [開拓者 TB]
- 咨詢內(nèi)容:
我最近在實盤中遇到多次類似“公式應(yīng)用[****]在主商品[IF1411]上出現(xiàn)交易訊號消失,可能導(dǎo)致您的持倉不匹配,請檢查公式算法!”的提示。
多次檢查自己的公式應(yīng)用,尚未發(fā)現(xiàn)明顯錯誤。
記得某個文檔里說過,在盤中交易過程中,每來一個新的TICK(一條新行情數(shù)據(jù)),TB都會用此數(shù)據(jù)在最后一個BAR上調(diào)用一次公式應(yīng)用,但是之前的“舊BAR”,就不會再調(diào)用了(歷史已成歷史,不需要再去重算,可以理解)。
因為行情數(shù)據(jù)可能會來得很快,來不及處理。或者因為網(wǎng)絡(luò)擁塞,使多個TICK“堆積”而突然同時到達,所以TB不能保證針對每個TICK都調(diào)用一次公式應(yīng)用,只會用一批TICK當(dāng)中最后一個調(diào)用一次公式應(yīng)用。但是可以保證每次執(zhí)行公式應(yīng)用都會完整地執(zhí)行,也就是說不會在執(zhí)行過程中突然“KILL”我。
我的問題是:
1.漏掉的TICK會不會事后“補執(zhí)行”?如果會,就可能導(dǎo)致它之后的TICK對應(yīng)的指標(biāo)值發(fā)生改變(大多數(shù)指標(biāo)都依賴歷史數(shù)據(jù))。從而使我收到“信號消失”的提示。
2.針對同一個TICK,系統(tǒng)會不會執(zhí)行公式應(yīng)用兩次或者兩次以上(比如用戶縮放、平移窗口,導(dǎo)致整個圖像重繪)?這也可能導(dǎo)致前述現(xiàn)象。
3.具體到TICK圖中(BarType == 2 && BarInterval == 0),每來一個TICK都會創(chuàng)建一個BAR。如果漏處理一個TICK,圖上是否還出現(xiàn)這個BAR?如果出現(xiàn),我的指標(biāo)值怎么辦?因為你根本沒來得及調(diào)用我,它的指標(biāo)值無從談起?當(dāng)然就更影響后續(xù)BAR的指標(biāo)值的確定性了!
如果不執(zhí)行,為什么我用FileAppend寫出的盤中數(shù)據(jù),和盤后清除掉再重新上線獲取的數(shù)據(jù),是一致的?只是TIME字段有別(詳解我的另一個帖子:http://bbs.tb18.net/thread-50902-1-1.html)。
也就是盤中的Tick數(shù)和盤后重新回測的Tick數(shù)一致。按說如果有丟包、拋棄,我自己記錄的Tick應(yīng)該少一些,而且此時我一直不斷被提示“交易信號消失”。
按照我的粗淺理解:歷史已成歷史,不論算幾遍,應(yīng)該都是確定的。
如果我的交易信號是在CurrentBar == 123這個Tick計算出的,之后你也不會用它再來執(zhí)行公式應(yīng)用,在此Bar及其以前的指標(biāo)值都已是“既成事實”,怎么可能“消失”。
到了CurrentBar == 124及其以后,就算得出不同的信號,那也是我自己應(yīng)該考慮和處理的問題。比如“快均線”在“慢均線”附近不停來回擺動,這是每一個交易系統(tǒng)都必須面對的問題。
難道系統(tǒng)只是“善意”地提醒?認為CurrentBar == 200或更遠之后的交易信號改變是合理的?而CurrentBar == 124就突然出現(xiàn)信號改變就不合理?
粗淺認識,如有冒犯,還望海涵!如蒙賜教,不勝感激!!
希望TB越做越好! - TB技術(shù)人員:
我覺得把,每個tick上是應(yīng)該帶有某種時間戳的,這樣的話,TB根據(jù)現(xiàn)在的時間,自然不會去處理“漏掉”的tick。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容