關于“08.多頭海龜交易系統”中的N值 [金字塔]
- 咨詢內容:
先放上“08.多頭海龜交易系統”前面一部分原代碼,如下:**************************************//變量申明VARIABLE:DAYCOUNT=1,POSITIONCOUNT=1,SELLSIGN=0;//定義常數變量DAYCOUNT并初始化為1,定義常數變量POSITIONCOUNT并初始化為1,定義常數變量SELLSIGN并初始化為0VARIABLE:ENTANDEXITSIGN=1,ENTPOINT=0,EXITPOINT=0;//定義常數變量ENTANDEXITSIGN并初始化為1,定義常數變量ENTPOINT并初始化為0,定義常數變量EXITPOINT并初始化為0VARIABLE:N=0;//定義常數變量N并初始化為0
MA1:MA(C,5);//輸出5日均價MA3:MA(C,10);//輸出10日均價M:=MA(TR,20); //真實波幅的20周期均值BUYHHV:=HHV(H,20);//20日最高價SELLLLV:=LLV(L,10);//10日最低價
SS:N,LINETHICK0;//交易系統IF BARPOS>=21 THEN BEGIN //如果從上市到現在的交易日天數大于等于21天,那么 IF BARPOS=21 THEN //如果從上市到現在的交易日天數等于21,那么 N:=M; //N=M IF DAYCOUNT=6 OR BARPOS=21 THEN BEGIN{5天調整N值} N:=(19*N+TR)/20;{計算N值} DAYCOUNT:=2; END DAYCOUNT:=DAYCOUNT+1; ENTPOINT:=ENTERBARS+1; //ENTERBARS返回上次開倉到當期的周期函數,如果沒有開倉返回-1。也即,如果沒有開倉時,ENTPOINT = 0;如果當天開倉,是不是ENTPOINT = 0+1 = 1? IF ENTPOINT=ENTANDEXITSIGN THEN BEGIN{說明STOP指令買進頭寸成功} POSITIONCOUNT:=POSITIONCOUNT+1;{頭寸計數} SELLSIGN:=TRUE;{開始以STOP賣出,如果達到指定的價格} END IF POSITIONCOUNT=1 THEN BEGIN{第一頭寸} HOW:=CASH(0)*0.01/N;{波動性百分比決定頭寸規模} 開1:BUY(H>=BUYHHV,HOW,MARKET);{在20日新高STOP指令買進} END IF POSITIONCOUNT=2 THEN BEGIN{如到第二頭寸} HOW:=CASH(0)*0.01/N;{波動性百分比決定頭寸規模} 開2:BUY(H>=ENTERPRICE+0.5*N,HOW,MARKET);{在上頭寸(即第一頭寸)+0.5個N以STOP指令買進} END .....****************************************我的問題是:如上所說,開始N=0;當BARPOS=21時,N:=M或者=(19*N+TR)/20;但是BARPOS>21時,N還是=M或者=(19*N+TR)/20嗎?不是在逐K線模式下每根K線都重新執行一次代碼程序嗎?如果是這樣,那在BARPOS>21,N應該是0?。ㄩ_始變量聲明 N=0),這時HOW:=CASH(0)*0.01/N還有意義嗎。
我也知道,我的想法肯定有問題,總不能是“08.多頭海龜交易系統”有問題吧?!
- 金字塔客服:
全局變量只在第一根k線上進行初始賦值,也就是在第一根k線上把0賦值給n,后面的n是根據計算出結果,如果沒有計算結果,那么n的值為上一個周期的值不變
[此貼子已經被作者于2014/3/11 8:59:18編輯過]
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容