金字塔超級(jí)日內(nèi)組合系統(tǒng)策略模型源碼
作者:金字塔 來源:cxh99.com 發(fā)布時(shí)間:2013年09月30日
-
- //策略:超級(jí)日內(nèi)組合系統(tǒng)
INPUT:SS(1,1,100,1),K1(0.3,0.1,1,0.1),K2(0.6,0.1,1,0.1),BOCP(0.25,0,1,0.01),FBOCP(0.25,0,1,0.01);
VARIABLE:開多次數(shù)=0,開空次數(shù)=0,趨買市=0,趨賣市=0,多頭止損價(jià)=0,空頭止損價(jià)=0;
CYC:=BARSLAST(DATE>REF(DATE,1))+1;
昨開:=CALLSTOCK(STKLABEL,VTOPEN,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-2);//昨天的前一天的收盤價(jià),暫稱為昨昨收
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
今高:=IF(CYC=1,HIGH,REF(HHV(HIGH,CYC),1));
今低:=IF(CYC=1,LOW,REF(LLV(LOW,CYC),1));
今開:=IF(CYC=1,OPEN,REF(OPEN,CYC-1));
10日平均波幅:=ref(MA(CALLSTOCK(STKLABEL,VTHIGH,6,0)-CALLSTOCK(STKLABEL,VTLOW,6,0),10),1);//AVERAGERANGE
10日平均開收盤區(qū)間:=ref(MA(ABS(CALLSTOCK(STKLABEL,VTopen,6,0)-CALLSTOCK(STKLABEL,VTclose,6,0)),10),1);//AVERAGEOCRANGE
開關(guān):=ABS(昨開-昨收)
//交易條件
IF 昨收
IF 昨收>昨昨收 THEN BEGIN//昨日收盤價(jià)大于昨昨收為趨買市(SELLEASIERDAY)
趨賣市:=1;
趨賣市開多價(jià):今開+K2*10日平均波幅;//BUYBOPT
趨賣市開空價(jià):今開-K1*10日平均波幅;//SELLBOPOINT
END
//交易系統(tǒng)
//突破
IF TIME>=094500 AND TIME=趨買市開多價(jià) AND HOLDING=0,手?jǐn)?shù),MARKET);
多頭止損價(jià):=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);//這個(gè)策略用于股指,多頭常規(guī)止損價(jià)為 開倉價(jià)減25%的10日平均波幅和3個(gè)大點(diǎn)的較小值。
開多次數(shù):=1;
END
IF 趨買市=1 AND 開空次數(shù)=0 THEN BEGIN
趨買市開空:BUYSHORT(CLOSE趨賣市開多價(jià) AND HOLDING=0,手?jǐn)?shù),MARKET);
多頭止損價(jià):=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);
開多次數(shù):=1;
END
IF 趨賣市=1 AND 開空次數(shù)=0 THEN BEGIN
趨賣市開空:BUYSHORT(CLOSE多頭突破確認(rèn)價(jià) AND C=0 THEN BEGIN
多頭止損1:SELL(1,手?jǐn)?shù),MARKET);
多翻空1:BUYSHORT(1,手?jǐn)?shù),MARKET);
開空次數(shù):=1;
END
{多頭突破失敗情況2:突破入場后,行情反轉(zhuǎn)。止損的同時(shí)我們反手開空,但前提是時(shí)間在中午11:30之前,且多頭進(jìn)場在至少4根K之前。瞬間止損我們不允許反轉(zhuǎn),因?yàn)檫@往往是市場的膝跳反射}
IF HOLDING>=0 AND TIME=4 THEN BEGIN
多翻空2:BUYSHORT(1,手?jǐn)?shù),MARKET);
空頭止損價(jià):=MIN(ENTERPRICE+0.15*10日平均波幅,ENTERPRICE+3);//多翻空止損價(jià)為開倉價(jià)加15%的10日平均波幅和3個(gè)大點(diǎn)的較小值。
開空次數(shù):=1;
END
END
END
{空頭突破失敗情況1:價(jià)格曾經(jīng)低于空頭突破確認(rèn)價(jià),最新價(jià)又上漲至空翻多確認(rèn)價(jià)}
IF 今低空翻多確認(rèn)價(jià) AND TIME=空頭止損價(jià) THEN BEGIN
空頭止損2:SELLSHORT(1,手?jǐn)?shù),MARKET);
IF TIME=4 THEN BEGIN
空翻多2:BUY(1,手?jǐn)?shù),MARKET);
多頭止損價(jià):=MIN(ENTERPRICE-0.15*10日平均波幅,ENTERPRICE-3);//多翻空止損價(jià)為開倉價(jià)加15%的10日平均波幅和3個(gè)大點(diǎn)的較小值。
開多次數(shù):=1;
END
END
END
//止損 www.kzuj.com.cn
IF HOLDING>0 AND C空頭止損價(jià) AND TIMEENTERPRICE+0.5*10日平均波幅 THEN 多頭止損價(jià):=ENTERPRICE+2*MINDIFF;
IF 今低=143000 THEN BEGIN
多頭止損價(jià):=MAX(多頭止損價(jià),3周期最低價(jià));
空頭止損價(jià):=MIN(空頭止損價(jià),3周期最高價(jià));
END
//日內(nèi)平倉
IF TIME>=151000 THEN BEGIN
收盤平多:SELL(1,手?jǐn)?shù),MARKET);
收盤平空:SELLSHORT(1,手?jǐn)?shù),MARKET);
趨賣市:=0;
趨買市:=0;
開多次數(shù):=0;
開空次數(shù):=0;
多頭止損價(jià):=0;
空頭止損價(jià):=0;
END