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