有關全局變量使用的幾個困惑 [金字塔]
- 咨詢內容:
一開始在圖表交易系統使用VARIABLE來作為全局變量,后來改成了后臺輪詢,發現VARIABLE定義的全局變量不行了,每次都被初始化成了0,網上查了一下說后臺要使用EXTGBDATA,EXTGBDATASET來取值賦值,改了一下正常了。看了編譯時的警告帖子http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=48570 貌似不太推薦使用這種方式,推薦使用GLOBALVARIABLE,由于后臺沒法評測,我就在圖表系統下將VARIABLE改成GLOBALVARIABLE試了一下,發現改了之后徹底失效,我的程序大概是這樣(逐K線,僅刷最后一根K線運行)VARIABLE:MAXWIN=0;//GLOBALVARIABLE:MAXWIN=0;....IF MAXWIN<WIN THEN BEGIN
MAXWIN:=WIN;END
使用MAXWIN記錄開倉以來的最大盈利,WIN表示當前盈利,如果當前盈利大于之前的最大盈利就給MAXWIN賦一個新值
現在的問題是:1. VARIABLE和GLOBALVARIABLE到底什么區別?為什么VARIABLE工作正常的用GLOBALVARIABLE就不能正常工作?2. 后臺程序編譯的時候金字塔也沒有提示說VARIABLE不能用,那VARIABLE到底能不能用于后臺,輪詢? 到底是是因為后臺還是因為輪詢影響了VARIABLE的正常工作?3. EXTGBDATA,EXTGBDATASET我看到有兩種使用形勢,一種就是 EXTGBDATA('MAXWIN'),這種變量名加了單引號,貌似無需申明就可以直接使用,還有一種方式是EXTGBDATA(MAXWIN),沒有單引號,之前要給MAXWIN:=xxx賦值,相當于隱性的申明了一下,如果不這樣隱性的申明是否需要使用VARIABLE:MAXWIN=0 這樣來申明?這些幫助文件里面也沒寫。4. GLOBALVARIABLE和EXTGBDATA,EXTGBDATASET說是運行效果一樣,但我在評測的時候試了一下GLOBALVARIABLE不能正常工作因此沒進一步研究,但EXTGBDATA,EXTGBDATASET運行正常,我感覺這兩者好像并不一樣。我想問GLOBALVARIABLE是專用于后臺嗎? - 金字塔客服:
http://www.weistock.com/WeisoftHelp/zbgs003.htm 看下全局變量說明
2,后臺是只刷新最新的K線,所以VARIABLE定義的全局變量每次刷新都會重新初始化,導致不能記錄歷史運行情況
3,字符變量,一定要加單引號的。從來沒聽說過不加單引號的用法
- 用戶回復:
不加單引號的用法確實有,見金字塔提供的海龜后臺模型的例子
- 網友回復:
看下人家的變量定義,已經定義為字符串變量了
STRENTRYBARPOS:=STRCAT(STKLABEL,'ENTRYBARPOS')
[此貼子已經被作者于2014/5/9 11:19:06編輯過] - 網友回復: 加了單引號,EXTGBDATA,EXTGBDATASET是否就無需申明全局變量?
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 1145508240 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容