關(guān)于閃靈交易系統(tǒng)的問(wèn)題求助
作者:金字塔 來(lái)源:cxh99.com 發(fā)布時(shí)間:2015年07月06日
- 咨詢內(nèi)容:
最近在研究系統(tǒng)自帶的閃靈交易策略,感覺(jué)思路很不錯(cuò),想使用該模板套用在自己的策略中,我是希望上一次交易是賺的時(shí)候再開(kāi)倉(cāng),所以我將原策略開(kāi)倉(cāng)條件那里的“真實(shí)系統(tǒng)下單開(kāi)關(guān)=1”改為了“真實(shí)系統(tǒng)下單開(kāi)關(guān)=0”希望能夠達(dá)到上一次交易盈利后再開(kāi)倉(cāng)的目的,可是經(jīng)過(guò)回測(cè),策略只開(kāi)平了一次,就沒(méi)有交易了。后來(lái)我干脆把原策略中開(kāi)倉(cāng)條件那里“真實(shí)系統(tǒng)下單開(kāi)關(guān)=1”這一項(xiàng)刪掉,用該策略回測(cè)了股指連續(xù)今年1月1號(hào)到5月9號(hào)這段時(shí)間,經(jīng)過(guò)回測(cè)之后卻發(fā)現(xiàn),刪掉之后的交易記錄和原策略的交易記錄相比只是多出了第一筆的開(kāi)平倉(cāng)交易,后面其他交易時(shí)間、點(diǎn)位、盈虧都完全一樣!所以非常不解,不知道是我測(cè)試的有問(wèn)題,還是這個(gè)“真實(shí)系統(tǒng)下單開(kāi)關(guān)”根本沒(méi)起到作用? 我先把系統(tǒng)的策略貼一下,下面黃色部分是我后來(lái)修改刪除的部分,還請(qǐng)高手們幫幫忙,看看問(wèn)題出在哪里了?
//策略:閃靈交易者系統(tǒng)//版本:1.0//修訂時(shí)間:2012.11.24//詳情介紹網(wǎng)址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=34050&page=1&star=1//DESIGNED BY ROGARZ
//中間變量INPUT:N1(9,1,100,1),SS(1,1,100);VARIABLE:該筆盈虧:=0;模擬持倉(cāng):=0,模擬開(kāi)倉(cāng)價(jià):=0,模擬平倉(cāng)價(jià):=0,真實(shí)系統(tǒng)下單開(kāi)關(guān):=0;LC := REF(CLOSE,1);RSI:=SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;//RSI指標(biāo)默認(rèn)N1為99日收盤價(jià)指數(shù)平均:REF(EMA(CLOSE,9),1);19日最高價(jià)收盤價(jià)平均:REF(EMA(HIGH,19),1);20日高點(diǎn):=REF(HHV(H,20),1);20日低點(diǎn):=REF(LLV(L,20),1);手?jǐn)?shù):=SS;//交易條件開(kāi)多條件:=9日收盤價(jià)指數(shù)平均>=19日最高價(jià)收盤價(jià)平均 AND REF(RSI,1)<70;開(kāi)空條件:=9日收盤價(jià)指數(shù)平均<19日最高價(jià)收盤價(jià)平均 AND REF(RSI,1)>30;平多條件:=C<20日低點(diǎn);平空條件:=C>=20日高點(diǎn);
//交易系統(tǒng)//模擬交易模塊IF 開(kāi)多條件 AND 模擬持倉(cāng)=0 THEN BEGIN 模擬開(kāi)倉(cāng)價(jià):=CLOSE;//記錄開(kāi)倉(cāng)價(jià) 模擬持倉(cāng):=1;//模擬持倉(cāng)為1END
IF 平多條件 AND 模擬持倉(cāng)=1 THEN BEGIN 模擬平倉(cāng)價(jià):=CLOSE;//記錄平倉(cāng)價(jià) 該筆盈虧:=模擬平倉(cāng)價(jià)-模擬開(kāi)倉(cāng)價(jià);//在模擬交易模塊中我們只需計(jì)算上一筆交易是賺還是虧,在這里我只計(jì)算盈虧最后的點(diǎn)數(shù) 模擬持倉(cāng):=0;//將全局變量*模擬持倉(cāng)*初始化為0 IF 該筆盈虧>0 THEN BEGIN 真實(shí)系統(tǒng)下單開(kāi)關(guān):=0;//0代表模擬交易上一筆是賺錢的。 模擬開(kāi)倉(cāng)價(jià):=0;//將全局變量*模擬開(kāi)倉(cāng)價(jià)*初始化為0 模擬平倉(cāng)價(jià):=0;//將全局變量*模擬開(kāi)倉(cāng)價(jià)*初始化為0 END IF 該筆盈虧<=0 THEN BEGIN 真實(shí)系統(tǒng)下單開(kāi)關(guān):=1;//1代表模擬交易上一筆是虧錢的。 模擬開(kāi)倉(cāng)價(jià):=0;//將全局變量*模擬開(kāi)倉(cāng)價(jià)*初始化為0 模擬平倉(cāng)價(jià):=0;//將全局變量*模擬平倉(cāng)價(jià)*初始化為0 END END IF 開(kāi)空條件 AND 模擬持倉(cāng)=0 THEN BEGIN 模擬開(kāi)倉(cāng)價(jià):=CLOSE;//記錄開(kāi)倉(cāng)價(jià) 模擬持倉(cāng):=-1;//模擬持倉(cāng)為-1END
IF 平空條件 AND 模擬持倉(cāng)=-1 THEN BEGIN 模擬平倉(cāng)價(jià):=CLOSE;//記錄平倉(cāng)價(jià) 該筆盈虧:=模擬開(kāi)倉(cāng)價(jià)-模擬平倉(cāng)價(jià);//在模擬交易模塊中我們只需計(jì)算上一筆交易是賺還是虧,在這里我只計(jì)算盈虧最后的點(diǎn)數(shù) 模擬持倉(cāng):=0;//將全局變量*模擬持倉(cāng)*初始化為0 IF 該筆盈虧>0 THEN BEGIN 真實(shí)系統(tǒng)下單開(kāi)關(guān):=0;//0代表模擬交易上一筆是賺錢的。 模擬開(kāi)倉(cāng)價(jià):=0;//將全局變量*模擬開(kāi)倉(cāng)價(jià)*初始化為0 模擬平倉(cāng)價(jià):=0;//將全局變量*模擬開(kāi)倉(cāng)價(jià)*初始化為0 END IF 該筆盈虧<=0 THEN BEGIN 真實(shí)系統(tǒng)下單開(kāi)關(guān):=1;//1代表模擬交易上一筆是虧錢的。 模擬開(kāi)倉(cāng)價(jià):=0;//將全局變量*模擬開(kāi)倉(cāng)價(jià)*初始化為0 模擬平倉(cāng)價(jià):=0;//將全局變量*模擬開(kāi)倉(cāng)價(jià)*初始化為0 END END //真實(shí)下單模塊 平空:SELLSHORT(平空條件 AND HOLDING<0,手?jǐn)?shù),MARKET);平多:SELL(平多條件 AND HOLDING>0,手?jǐn)?shù),MARKET);開(kāi)多:BUY(開(kāi)多條件 AND 真實(shí)系統(tǒng)下單開(kāi)關(guān)=1 AND HOLDING=0,手?jǐn)?shù),MARKET);開(kāi)空:BUYSHORT(開(kāi)空條件 AND 真實(shí)系統(tǒng)下單開(kāi)關(guān)=1 AND HOLDING=0,手?jǐn)?shù),MARKET);
- 金字塔客服:
代碼里面有原帖地址,用戶如有不明白的可以直接在原來(lái)的鏈接里面進(jìn)行回復(fù),我這里不太好回復(fù)此類問(wèn)題