閃靈交易代碼問(wèn)題 [金字塔]
- 咨詢內(nèi)容:
我想贏一次開(kāi)倉(cāng),而不是虧開(kāi)倉(cāng)。
開(kāi)多:BUY(開(kāi)多條件 AND 真實(shí)系統(tǒng)下單開(kāi)關(guān)=0 AND HOLDING=0,手?jǐn)?shù),MARKET);//把開(kāi)關(guān)改為0了
開(kāi)空:BUYSHORT(開(kāi)空條件 AND 真實(shí)系統(tǒng)下單開(kāi)關(guān)=0 AND HOLDING=0,手?jǐn)?shù),MARKET);//把開(kāi)關(guān)改為0,可為什么交易不了呢。不改的話是有交易信號(hào)的。搞不明白。
閃靈的代碼采用RogarZ的,如下。
代碼:
//策略:閃靈交易者系統(tǒng)
//類型:
//版本:1.0
//修訂時(shí)間:2012.11.24
//DESIGNED BY ROGARZ
//weibo:http://weibo.com/rogarwahoo
//中間變量
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為9
9日收盤價(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)為1
ENDIF 平多條件 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)為-1
ENDIF 平空條件 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); - 金字塔客服: RogarZ 前輩你來(lái)幫我看看吧。謝謝了
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容