以下所有功能介紹僅對2.0以上版本有效
方法1:限制數(shù)據(jù)數(shù)量
金字塔是面向高端用戶的高端分析工具,所有品種的行情數(shù)據(jù)都保存至本地計算機,這樣做的目的是可以快速的進行大量的品種的橫向統(tǒng)計計算和相互之間的數(shù)據(jù)引用。所以默認安裝時金字塔將會盡大可能的允許用戶保存盡可能長的歷史數(shù)據(jù),但是歷史數(shù)據(jù)如果保存過長,將會給公式系統(tǒng)的運算帶來很大的負擔(dān),解決方法就是在運行時限制數(shù)據(jù)的使用數(shù)量,方法如下:
Ctrl+O 選項-》維護選項卡,如圖:
此主題相關(guān)圖片如下:qq截圖20121021000842.jpg
上圖紅色部分兩個選項,默認安裝后的數(shù)字是360周期,360周期對于絕大多數(shù)情況下的公式運算量是可以滿足的,如果用戶的公式系統(tǒng)需要更多的歷史數(shù)據(jù),只要改動上面的設(shè)置即可。
圖形顯示:該設(shè)置主要用于圖表上顯示,第一次顯示圖表時初始使用的數(shù)據(jù)量使用該設(shè)置,如果用戶按↓鍵增加圖形顯示量時,如果超過默認的360數(shù)量,系統(tǒng)會自動從硬盤中自動擴充該大小。
內(nèi)存保留:該部分主要是非圖形顯示的數(shù)量控制選項,例如選股、后臺預(yù)警交易、指標(biāo)排序、橫向統(tǒng)計等。內(nèi)存保留系統(tǒng)不會自動擴充大小,需要用戶自行調(diào)整該選項。
日內(nèi)嚴格限制數(shù)據(jù)的使用數(shù)量:如果不啟用該選項,對于小于日線周期級別的周期,只會對讀取的歷史數(shù)據(jù)進行限制,對于日內(nèi)分筆生成的分時周期數(shù)據(jù)沒有限制,也就是圖表上的K線周期會大于默認的360周期,會隨著交易的進行K線數(shù)據(jù)不斷增加,如果用戶使用的是分筆或者多秒K線,那么數(shù)據(jù)量還是非常大的。啟用該選項后,會對圖表上的數(shù)據(jù)量進行嚴格的限定,會顯著提高速度,但是如果模型對數(shù)據(jù)周期敏感,那么啟用該選項后可能會帶來問題,因此啟用該選項后應(yīng)該多進行測試。
方法2:通過降低刷新頻率和當(dāng)日顯示來提高速度
報表刷新時間:報價表(動態(tài)顯示牌)的刷新時間默認為500毫秒一次,如果系統(tǒng)已經(jīng)比較卡占用CPU資源較大,那么建義提高此選項設(shè)置。
指標(biāo)排序更新:報價表上的用戶自定義指標(biāo)數(shù)據(jù)欄的刷新時間,默認300秒一次,如果希望盤中即時刷新而降低該頻率將會導(dǎo)致CPU的占用陡然增大。
盤中延遲刷新:這是個重要的選項,圖表K線圖上的指標(biāo)不是每來一筆TICK都會刷新的,為了提高軟件的效率,默認為1.5秒刷新一次,此數(shù)值設(shè)置過小將會顯著提高CPU的占用,如果用戶設(shè)計的指標(biāo)比較復(fù)雜或者圖形使用的數(shù)據(jù)過多導(dǎo)致系統(tǒng)運行速度緩慢,那么可以將此選項設(shè)置高一些,這樣可以讓軟件運行的順暢一些。
K線圖和分時圖僅用當(dāng)日數(shù)據(jù):如果在分筆、多秒或者1分鐘數(shù)據(jù)周期下,不涉及到昨日的歷史數(shù)據(jù),那么建義勾選此選項。
圖表程式化交易中的高頻選項:勾選此選項后,盤中延遲刷新設(shè)置 將會失效,系統(tǒng)每來一筆TICK,將會對圖表做一次刷新,如果你的公式或數(shù)據(jù)量比較大,那么將會顯著加重系統(tǒng)負擔(dān)。
方法3:通過調(diào)整公式系統(tǒng)的屬性
通過上圖的紅色部分,有兩個地方可以進行調(diào)整,下面我們將分別介紹
運行模式:2.0版之后的金字塔支持序列和逐周期兩種模式,其中序列模式是運行效率最高的一種,逐周期模式只建議在一些特殊場合使用,比如帶全局變量的需要逐周期運行的算法,如使用BUY等新交易系統(tǒng)的情況下等等。普通技術(shù)指標(biāo),ENTERLONG,TBUY后臺自動交易等公式,建議用戶在序列模式下運行,效率會得到大幅提升。在此提醒用戶注意:很多用戶為了方便,將用于后臺自動交易公式,BUY,TBUY等交易混在一個公式里使用,在初期調(diào)試編寫過程中這樣是可以的,但是如果一旦模型確立編寫調(diào)試完畢后,請將只能用于圖表逐周期模式下的BUY指令去掉,在序列模式下運行我們的后臺自動交易公式。否則就只能以逐周期模式運行,既降低了效率,又在后臺執(zhí)行中執(zhí)行了沒有必要的BUY指令,進一步增加了無謂的計算量。但是有特殊目的的算法除外,比如用戶想通過BUY指令的虛擬持倉優(yōu)點來控制實際下單量等等高級用法。
快速按鈕:對于需要固定數(shù)量的圖表公式,或者需要固定數(shù)量就可以計算得到最后一個周期的用于后臺交易或者選股的公式來說,使用該選項無疑是最能提高效率的一種了,對于圖表限制,可以使公式系統(tǒng)的數(shù)據(jù)計算不必依賴圖表顯示的多少,對于后臺交易,由于我們通常只需要最后一個周期的數(shù)據(jù),只要我們在公式編寫時,知道一個正確計算最后周期的信號即可。
方法4:通過公式編寫技巧
一個簡單的例子:
ENTERLONG:CROSS(C,MA(5,10));
EXITLONG:CROSS(MA(5,10),C);
通過上面的語句,我們看到了,MA(5,10)其實是被連續(xù)使用了兩次,這樣的重復(fù)執(zhí)行函數(shù)調(diào)用,必然會帶來不必要的運算開支。改進方法如下:
MA5:=MA(5,10);
ENTERLONG:CROSS(C,MA5);
EXITLONG:CROSS(MA5,C);
通過中間變量MA5,保存函數(shù)調(diào)用結(jié)果,通過重復(fù)使用內(nèi)部變量MA5,達到提高效率的目的。
通過IF控制語句
通過使用IF ... THEN 控制語句,對于公式的條件進行判斷,如果發(fā)現(xiàn)需要必要條件時再來進入到內(nèi)部進行計算,否則就不執(zhí)行了。
IF 條件達到 THEN
BEGIN
//執(zhí)行條件內(nèi)語句
END
方法5:如果你在公式中引用了過多的跨周期指標(biāo)調(diào)用,那么使用自定義數(shù)據(jù)功能可以極大的減少重復(fù)計算的工作量
參考 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=10547
[此貼子已經(jīng)被作者于2012-10-21 0:17:14編輯過]
請教版主 快速按鈕的周期是什么概念---指的是日線數(shù)據(jù)周期?
數(shù)據(jù)主要是取10天之內(nèi)的高低收 填多少周期合適?
比如在1分鐘上跨周期引用5日或5月均線 "ma.ma1#DAY或month" 分別設(shè)多少周期合適
謝謝
[此貼子已經(jīng)被作者于2010-10-16 18:35:02編輯過]
快速按鈕上的周期,與日線或者周線無關(guān),指的是數(shù)據(jù)數(shù)量
正是因為不懂怎么設(shè)置周期所以才提問,目的是想了解怎么設(shè)置!而不是僅僅得到一個數(shù)據(jù)數(shù)量的常識
樓主發(fā)帖的本意是方便大家 但設(shè)置方法沒講清楚
[此貼子已經(jīng)被作者于2010-10-16 19:57:26編輯過]