關(guān)于閃靈交易系統(tǒng)的問題求助 [金字塔]
- 咨詢內(nèi)容:
最近在研究系統(tǒng)自帶的閃靈交易策略,感覺思路很不錯(cuò),想使用該模板套用在自己的策略中,我是希望上一次交易是賺的時(shí)候再開倉(cāng),所以我將原策略開倉(cāng)條件那里的“真實(shí)系統(tǒng)下單開關(guān)=1”改為了“真實(shí)系統(tǒng)下單開關(guān)=0”希望能夠達(dá)到上一次交易盈利后再開倉(cāng)的目的,可是經(jīng)過回測(cè),策略只開平了一次,就沒有交易了。后來我干脆把原策略中開倉(cāng)條件那里“真實(shí)系統(tǒng)下單開關(guān)=1”這一項(xiàng)刪掉,用該策略回測(cè)了股指連續(xù)今年1月1號(hào)到5月9號(hào)這段時(shí)間,經(jīng)過回測(cè)之后卻發(fā)現(xiàn),刪掉之后的交易記錄和原策略的交易記錄相比只是多出了第一筆的開平倉(cāng)交易,后面其他交易時(shí)間、點(diǎn)位、盈虧都完全一樣!所以非常不解,不知道是我測(cè)試的有問題,還是這個(gè)“真實(shí)系統(tǒng)下單開關(guān)”根本沒起到作用? 我先把系統(tǒng)的策略貼一下,下面黃色部分是我后來修改刪除的部分,還請(qǐng)高手們幫幫忙,看看問題出在哪里了?
//策略:閃靈交易者系統(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,模擬開倉(cāng)價(jià):=0,模擬平倉(cāng)價(jià):=0,真實(shí)系統(tǒng)下單開關(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;//交易條件開多條件:=9日收盤價(jià)指數(shù)平均>=19日最高價(jià)收盤價(jià)平均 AND REF(RSI,1)<70;開空條件:=9日收盤價(jià)指數(shù)平均<19日最高價(jià)收盤價(jià)平均 AND REF(RSI,1)>30;平多條件:=C<20日低點(diǎn);平空條件:=C>=20日高點(diǎn);
//交易系統(tǒng)//模擬交易模塊IF 開多條件 AND 模擬持倉(cāng)=0 THEN BEGIN 模擬開倉(cāng)價(jià):=CLOSE;//記錄開倉(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à)-模擬開倉(cāng)價(jià);//在模擬交易模塊中我們只需計(jì)算上一筆交易是賺還是虧,在這里我只計(jì)算盈虧最后的點(diǎn)數(shù) 模擬持倉(cāng):=0;//將全局變量*模擬持倉(cāng)*初始化為0 IF 該筆盈虧>0 THEN BEGIN 真實(shí)系統(tǒng)下單開關(guān):=0;//0代表模擬交易上一筆是賺錢的。 模擬開倉(cāng)價(jià):=0;//將全局變量*模擬開倉(cāng)價(jià)*初始化為0 模擬平倉(cāng)價(jià):=0;//將全局變量*模擬開倉(cāng)價(jià)*初始化為0 END IF 該筆盈虧<=0 THEN BEGIN 真實(shí)系統(tǒng)下單開關(guān):=1;//1代表模擬交易上一筆是虧錢的。 模擬開倉(cāng)價(jià):=0;//將全局變量*模擬開倉(cāng)價(jià)*初始化為0 模擬平倉(cāng)價(jià):=0;//將全局變量*模擬平倉(cāng)價(jià)*初始化為0 END END IF 開空條件 AND 模擬持倉(cāng)=0 THEN BEGIN 模擬開倉(cāng)價(jià):=CLOSE;//記錄開倉(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à)-模擬平倉(cāng)價(jià);//在模擬交易模塊中我們只需計(jì)算上一筆交易是賺還是虧,在這里我只計(jì)算盈虧最后的點(diǎn)數(shù) 模擬持倉(cāng):=0;//將全局變量*模擬持倉(cāng)*初始化為0 IF 該筆盈虧>0 THEN BEGIN 真實(shí)系統(tǒng)下單開關(guān):=0;//0代表模擬交易上一筆是賺錢的。 模擬開倉(cāng)價(jià):=0;//將全局變量*模擬開倉(cāng)價(jià)*初始化為0 模擬平倉(cāng)價(jià):=0;//將全局變量*模擬開倉(cāng)價(jià)*初始化為0 END IF 該筆盈虧<=0 THEN BEGIN 真實(shí)系統(tǒng)下單開關(guān):=1;//1代表模擬交易上一筆是虧錢的。 模擬開倉(cāng)價(jià):=0;//將全局變量*模擬開倉(cāng)價(jià)*初始化為0 模擬平倉(cāng)價(jià):=0;//將全局變量*模擬開倉(cāng)價(jià)*初始化為0 END END //真實(shí)下單模塊 平空:SELLSHORT(平空條件 AND HOLDING<0,手?jǐn)?shù),MARKET);平多:SELL(平多條件 AND HOLDING>0,手?jǐn)?shù),MARKET);開多:BUY(開多條件 AND 真實(shí)系統(tǒng)下單開關(guān)=1 AND HOLDING=0,手?jǐn)?shù),MARKET);開空:BUYSHORT(開空條件 AND 真實(shí)系統(tǒng)下單開關(guān)=1 AND HOLDING=0,手?jǐn)?shù),MARKET);
- 金字塔客服: 代碼里面有原帖地址,用戶如有不明白的可以直接在原來的鏈接里面進(jìn)行回復(fù),我這里不太好回復(fù)此類問題
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容