交易時(shí)間斷線重連時(shí),為什么連續(xù)兩次從bar=0計(jì)算?
作者:開(kāi)拓者 TB 來(lái)源:cxh99.com 發(fā)布時(shí)間:2015年06月22日
- 咨詢內(nèi)容:
本帖最后由 bronte 于 2015-4-16 16:54 編輯
公式中有控制全局變量初始化語(yǔ)句,斷線重連后,從log輸出結(jié)果中看到兩次全局變量初始化,結(jié)果導(dǎo)致重復(fù)發(fā)單,有解嗎?
或者對(duì)公式加載邏輯理解不對(duì):是否只在重連時(shí)從第一根Bar計(jì)算,而后只在當(dāng)前Bar計(jì)算?還是在加載后的第一個(gè)Tick也會(huì)從第一根Bar計(jì)算?
求解~
- TB技術(shù)人員:
斷線重連,為防止斷線時(shí)間過(guò)長(zhǎng)導(dǎo)致的中間K線缺失。所以在重連后會(huì)從頭開(kāi)始運(yùn)算一遍公式 。。。這個(gè)機(jī)制是合理的。。
同樣,在圖表里新加載公式,也是會(huì)從頭開(kāi)始計(jì)算 ,之后就只計(jì)算最后K線的最新TICK了。
建議你的公式里,在對(duì)全局變量的初始化做一些處理就可避免你所擔(dān)心的問(wèn)題了。。
試試改為如下代碼:
if(getglobalvar(0)==invalidnumeric) setglobalvar(0,0);