相關(guān)標(biāo)簽:
金字塔中有關(guān)全局變量數(shù)據(jù)庫函數(shù) EXTGBDATA;EXTGBDATASET等函數(shù)的使用說明及注意事項
在我們?nèi)粘>幊讨校豢杀苊獾男枰涗浺恍┪覀兂绦蛑械囊恍┳兞浚恍┳兞克枰4娴臅r間較長,我們對這類需要對整個策略均有效的這類變量稱之為“全局變量”,金字塔中,全局變量主要有2種表現(xiàn)方式。
1、使用 VARIABLE 及 GLOBALVARIABLE 聲明的全局變量。
使用該方式的全局變量的最大優(yōu)勢在于,策略之間的變量相互獨立工作,不會相互干擾,但是當(dāng)用戶關(guān)閉軟件或者關(guān)閉圖表上執(zhí)行的策略后,變量自行消失不會進(jìn)行保存。
2、使用EXTGBDATA;EXTGBDATASET等數(shù)據(jù)庫方式的全局變量。
使用該方式的全局變量可以在策略執(zhí)行后將數(shù)據(jù)保存在內(nèi)部數(shù)據(jù)庫中,即便軟件關(guān)閉后也能保存用來下次啟動后調(diào)用。這種全局變量的作用范圍是整個金字塔軟件本身,即策略A所保存的變量內(nèi)容也可以被策略B所讀取到。這樣的運(yùn)行機(jī)制為實現(xiàn)不同策略之間的協(xié)同工作和通過外部參數(shù)控制公式運(yùn)行提供了可能,但是如果使用不當(dāng),也容易出現(xiàn)問題,最常見的問題就是不同的策略之間由于共同全局變量名而導(dǎo)致的沖突,目前我們發(fā)現(xiàn)大部分金字塔用戶在使用全局變量數(shù)據(jù)庫時主要出現(xiàn)的問題如下:
a)用戶在后臺程序化運(yùn)行時,為了監(jiān)控方便,又在圖表上打開同一個公式,由于公式中共用了一個全局變量數(shù)據(jù)名,而導(dǎo)致2個策略在運(yùn)行時相互干擾,造成無法正常工作。
b)用戶由于不清楚全局變量數(shù)據(jù)庫的運(yùn)行機(jī)理,在圖表上運(yùn)行的多個策略中使用同一個全局變量名而導(dǎo)致策略運(yùn)行紊亂。
c)在使用含有全局變量數(shù)據(jù)庫的公式使用多核優(yōu)化。
使用建議:綜上所述,其實全局變量數(shù)據(jù)庫相比GLOBALVARIABLE 超全局變量,只是多了個保存記憶功能,這不是所有策略所必須的,為了策略的編寫安全用戶應(yīng)該盡可能的使用GLOBALVARIABLE 來代替全局變量數(shù)據(jù)庫來防止策略中出現(xiàn)沖突和干擾的問題。
從2.972版升級以后如果用戶的公式代碼中含有 EXTGBDATA;EXTGBDATASET 代碼,金字塔會給予提示,如果用戶不想看到此提醒,在公式的最前面加入如下編譯控制符即可:
WARNING_DISABLE:4;
{別忘了將本網(wǎng)告訴您身邊的朋友,向朋友傳達(dá)有用資料,也是一種人情,你朋友會感謝你的。}