Variable全局變量問題 [金字塔]
- 咨詢內容:
在后臺交易模擬中發現Variable全局變量好像有問題,做一個測試程序:后臺交易運行,固定時間間隔5秒。
Variable: Myholding=0;
DEBUGFILE('C:\test.txt','VS:%.0f',Myholding);
IF ISLASTBAR THEN
BEGIN
IF Myholding=0 THEN
BEGIN
Myholding:=1;
DEBUGFILE('C:\test.txt','Myholding:%.0f',Myholding);
END
END按照我的理解,在Myholding:=1后,應該保持為1。但實際測試文件的結果如下:
2010-07-28 11:12:00.265 VS:0
2010-07-28 11:12:00.265 Myholding:1
2010-07-28 11:12:05.734 VS:0
2010-07-28 11:12:05.734 Myholding:1
2010-07-28 11:12:10.718 VS:0
2010-07-28 11:12:10.718 Myholding:1
2010-07-28 11:12:15.718 VS:0
2010-07-28 11:12:15.718 Myholding:1
2010-07-28 11:12:20.734 VS:0
2010-07-28 11:12:20.734 Myholding:1
2010-07-28 11:12:25.718 VS:0
2010-07-28 11:12:25.718 Myholding:1
2010-07-28 11:12:30.734 VS:0
2010-07-28 11:12:30.734 Myholding:1
2010-07-28 11:12:35.718 VS:0
2010-07-28 11:12:35.734 Myholding:1能請教一下是怎么回事?Variable定義的全局變量為什么被不停地初始化了呢?
- 金字塔客服:
Variable: Myholding=0;
每次執行一次循環檢測時,都會被初始化一次,如果你需要變量一致記住,需要使用全局變量數據庫,保存變量狀態,請參考EXTGBDATA,EXTGBDATASET
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=2240
- 用戶回復:
那和下面您在其他帖子里的描述不一樣啊??
全局變量有兩種,一種是在公式里的,每次執行都被初始化一次的,這里的每次執行指的是每次金字塔執行公式系統的運行,即從1周期到BARCOUNT的過程。
比如一個變量這樣聲明:
variable:maxprofit=0;
他只會在第一個周期被初始化賦值為0,其他周期均不會對此變量進行賦值,比如:
variable:maxprofit=0;
IF BARPOS = 2 THEN
MAXPROFIT := 10;
IF BARPOS = 10 THEN
MAXPROFIT := 30;
AA:MAXPROFIT;
通過AA的顯示曲線,用戶應該會明白全局變量的用途
金字塔還有一種全局變量,可以保存數據到全局變量數據庫中,具體參考 EXTGBDATASET 和 EXTGBDATA 函數的調用
[此貼子已經被作者于2010-7-28 11:39:42編輯過] - 網友回復:
怎么不一樣了?每次執行一次循環信號檢測,都需要重新初始化公式系統
[此貼子已經被作者于2010-7-28 12:03:47編輯過] - 網友回復:
??!后臺交易,每次循環都會初始化公式!又明白了一點后臺交易的機理。謝謝!
不過,有關軟件運行機理方面的東西希望能夠有集中介紹。
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容