交易編程代碼 [文華財(cái)經(jīng)]
-
咨詢內(nèi)容:
?老師,我想給下面代碼加個(gè)止盈策略,當(dāng)價(jià)格往有利的方向運(yùn)行3倍最初止損區(qū)間時(shí),比如入市點(diǎn)2000多單,當(dāng)時(shí)真實(shí)波動(dòng)幅度為20,止損區(qū)間為60,那么當(dāng)價(jià)格到達(dá)2180時(shí),開(kāi)始進(jìn)入止盈區(qū)間,當(dāng)盈利為3倍止損區(qū)間時(shí),利潤(rùn)回撤30%止盈,即到達(dá)2180后,止盈點(diǎn)為2180-180*0.3=2126,當(dāng)盈利為4倍止損區(qū)間時(shí),即2240,利潤(rùn)回撤25%止盈,當(dāng)利潤(rùn)大于等于5倍止損區(qū)間時(shí),利潤(rùn)回撤20%止盈。
備注:開(kāi)倉(cāng)和離市點(diǎn)都按實(shí)時(shí)價(jià),移動(dòng)止損點(diǎn)的計(jì)算按收盤價(jià)。? 請(qǐng)問(wèn)這個(gè)止盈該怎么寫?
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//真實(shí)波幅
ATR:=MA(TR,10); //求10個(gè)周期內(nèi)真實(shí)波幅的簡(jiǎn)單移動(dòng)平均
UNIT,NODRAW;
UNIT*ATR,NODRAW;
TC..INTPART((MONEYTOT*0.02/(UNIT*ATR*3)));//根據(jù)權(quán)益的2%計(jì)算下單手?jǐn)?shù)
HH:=HV(H,20);
LL:=LV(L,20);
CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0,BK(TC);//最新價(jià)超過(guò)20周期的最高值,首次買入開(kāi)倉(cāng),手?jǐn)?shù)為TC手
CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0,SK(TC); //最新價(jià)跌破20周期的最低值,首次賣出開(kāi)倉(cāng),手?jǐn)?shù)為TC手
C<=(BKPRICE-3*ATR)&&BKVOL>0,SP(BKVOL);//最新價(jià)小于開(kāi)倉(cāng)價(jià)減去3倍的ATR,止損平倉(cāng)
C>=(SKPRICE+3*ATR)&&SKVOL>0,BP(SKVOL); //最新價(jià)大于開(kāi)倉(cāng)價(jià)加上3倍的ATR,止損平倉(cāng)
CSD:BKPRICE-3*ATR;
CSK:BKPRICE+3*ATR;
DQD:C-3*ATR;
DQK:C+3*ATR;
DD:IF(REF(DQD>CSD),REF(DQD,1),REF(CSD,1));
KK:IF(REF(DQK<CSK),REF(DQK,1),REF(CSK,1));
C<=DD&&BKVOL>0,SP(BKVOL);//最新價(jià)小于開(kāi)倉(cāng)價(jià)減去3倍的ATR,止損平倉(cāng)
C>=KK&&SKVOL>0,BP(SKVOL); //最新價(jià)大于開(kāi)倉(cāng)價(jià)加上3倍的ATR,止損平倉(cāng)TRADE_AGAIN(3);
CHECKSIG(BK,''0,''0,0);
CHECKSIG(SK,''0,''0,0);
CHECKSIG(BP,''0,''0,0);
CHECKSIG(SP,''0,''0,0);
?
?
?來(lái)源:程序化99
-
文華技術(shù)人員:
同一個(gè)sp信號(hào)不能同時(shí)設(shè)置收盤價(jià)與指令價(jià),您設(shè)置指令價(jià)方式立即止損是合理的
?
參考:
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//真實(shí)波幅
ATR:=MA(TR,10); //求10個(gè)周期內(nèi)真實(shí)波幅的簡(jiǎn)單移動(dòng)平均
UNIT,NODRAW;
UNIT*ATR,NODRAW;
TC..INTPART((MONEYTOT*0.02/(UNIT*ATR*3)));//根據(jù)權(quán)益的2%計(jì)算下單手?jǐn)?shù)
HH:=HV(H,20);
LL:=LV(L,20);
CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0,BK(TC);//最新價(jià)超過(guò)20周期的最高值,首次買入開(kāi)倉(cāng),手?jǐn)?shù)為TC手
CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0,SK(TC); //最新價(jià)跌破20周期的最低值,首次賣出開(kāi)倉(cāng),手?jǐn)?shù)為TC手
C<=(BKPRICE-3*ATR)&&BKVOL>0,SP(BKVOL);//最新價(jià)小于開(kāi)倉(cāng)價(jià)減去3倍的ATR,止損平倉(cāng)
C>=(SKPRICE+3*ATR)&&SKVOL>0,BP(SKVOL); //最新價(jià)大于開(kāi)倉(cāng)價(jià)加上3倍的ATR,止損平倉(cāng)
CSD:BKPRICE-3*ATR;
CSK:SKPRICE+3*ATR;
DQD:C-3*ATR;
DQK:C+3*ATR;
DD:IF(REF(DQD>CSD,1),REF(DQD,1),REF(CSD,1));
KK:IF(REF(DQK<CSK,1),REF(DQK,1),REF(CSK,1));
//當(dāng)盈利為3倍止損區(qū)間時(shí),利潤(rùn)回撤30%止盈,即到達(dá)2180后,止盈點(diǎn)為2180-180*0.3=2126,
//當(dāng)盈利為4倍止損區(qū)間時(shí),即2240,利潤(rùn)回撤25%止盈,當(dāng)利潤(rùn)大于等于5倍止損區(qū)間時(shí),利潤(rùn)回撤20%止盈。
BKHIGH>=BKPRICE+3*REF(ATR,BARSBK)&&C<=BKHIGH-REF(ATR,BARSBK)*0.3,SP(BKVOL);
BKHIGH>=BKPRICE+4*REF(ATR,BARSBK)&&C<=BKHIGH-REF(ATR,BARSBK)*0.25,SP(BKVOL);
BKHIGH>=BKPRICE+5*REF(ATR,BARSBK)&&C<=BKHIGH-REF(ATR,BARSBK)*0.2,SP(BKVOL);SKLOW<=SKPRICE-3*REF(ATR,BARSSK)&&C>=SKLOW+REF(ATR,BARSBK)*0.3,SP(BKVOL);
SKLOW<=SKPRICE-4*REF(ATR,BARSSK)&&C>=SKLOW+REF(ATR,BARSBK)*0.25,SP(BKVOL);
SKLOW<=SKPRICE-5*REF(ATR,BARSSK)&&C>=SKLOW+REF(ATR,BARSBK)*0.2,SP(BKVOL);C<=DD&&BKVOL>0,SP(BKVOL);//最新價(jià)小于開(kāi)倉(cāng)價(jià)減去3倍的ATR,止損平倉(cāng)
C>=KK&&SKVOL>0,BP(SKVOL); //最新價(jià)大于開(kāi)倉(cāng)價(jià)加上3倍的ATR,止損平倉(cāng)TRADE_AGAIN(3);
CHECKSIG(BK,'A',0,'C',0,0);
CHECKSIG(SK,'A',0,'C',0,0);
CHECKSIG(BP,'A',0,'C',0,0);
CHECKSIG(SP,'A',0,'C',0,0);
?
?來(lái)源: www.tumamayizhan.com
-
文華客服:
老師,這個(gè)紅色部分的止盈策略,里面的真實(shí)波動(dòng)幅度是最初的嗎?我的策略是當(dāng)盈利為最初止損區(qū)間的3倍,即入市時(shí)2000,當(dāng)時(shí)真實(shí)波動(dòng)幅度20,那么最初止損區(qū)間就是60,所以到了2180才進(jìn)入止盈區(qū)間。
?
-
網(wǎng)友回復(fù):
?是的,BKPRICE+3*REF(ATR,BARSBK)這樣計(jì)算的就是開(kāi)倉(cāng)時(shí)的ATR?
?
-
網(wǎng)友回復(fù):
老師,剛回測(cè)時(shí)顯示這行函數(shù)REF參數(shù)個(gè)數(shù)非法
?DD:IF(REF(DQD>CSD),REF(DQD,1),REF(CSD,1));
?
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容