?
?來源:程序化99
全局變量:是在歷史第一根K線上定義變量初始值,后續(xù)K線上關(guān)于該變量的計算始終調(diào)用上一根K線上該變量的返回值。
?
普通變量:在每一根K線上普通變量的初始值都是NULL,通過模型的計算,得到一個最后返回值。
?
?
全局變量的使用目的在于實現(xiàn)一些過去不容易實現(xiàn),或者不能實現(xiàn)的思路,編寫時配合IF THEN BEGIN語句可以使整個編寫邏輯更加清晰明了
?
?來源: www.kzuj.com.cn
?
?請參考2樓,在文華編寫復(fù)雜思路時,如果配合IF THEN BEGIN語句可以簡化編寫邏輯
?
?不僅可以循環(huán)定義變量,同時也能兼容其他程序化軟件的編寫語言
?
?
?比如我們經(jīng)常用到根據(jù)前一筆交易情況來控制當(dāng)前開倉手?jǐn)?shù),這種思路使用全局變量來寫就更簡便了
?
?舉個例子吧:
?
初始下單手?jǐn)?shù)為1,上一次交易如果盈利,下單手?jǐn)?shù)在之前的下單手?jǐn)?shù)上加2
?
上一次沒有盈利,繼續(xù)使用上一次的下單手?jǐn)?shù)。
?
——————
未加入全局變量:
?
SSS:=1;//定義初始手?jǐn)?shù)
HH:=HV(H,10);//10個周期最高價
LL:=LV(L,10);//10個周期最低價
CROSS(C,HH)&&COUNT(BARSBK=1,BARPOS)<1,BK(SSS);
//歷史第一次出現(xiàn)滿足條件發(fā)出BK信號時,以手?jǐn)?shù)SSS進行委托
SS:=IF(TRADE_REF(1)=1,REF(SS,BARSSP+1)+2,REF(BKVOL,BARSSP+1));
//定義手?jǐn)?shù)SS 判斷上一次交易是否盈利,如果盈利則在原有手?jǐn)?shù)基礎(chǔ)上+2,如果沒有盈利 則取上一次開倉手?jǐn)?shù)
CROSS(C,HH),BK(SS);
CROSS(LL,C),SP(BKVOL);
?
?
加入全局變量:
?
VARIABLE:SS:1;//定義全局變量SS
IF TRADE_REF(1)=1 THEN//如果上一筆交易盈利
?? BEGIN
? SS:=REF(SS,BARSSP+1)+2;//SS取上一筆委托手?jǐn)?shù)+2 否則沿用之前的委托手?jǐn)?shù)
END
HH:=HV(H,10);
LL:=LV(L,10);
CROSS(C,HH),BK(SS);
CROSS(LL,C),SP(BKVOL);
?
?
?
類似的思路,您可以在論壇搜:全局,來查看研究一下
?