buycond:=count(平空開(kāi)多條件,0);
這個(gè)啥意思?為了實(shí)現(xiàn)什么目的?
正是因?yàn)殄e(cuò)誤啊,沒(méi)法實(shí)現(xiàn)策略。所以請(qǐng)求正確的寫法。再發(fā)一遍吧,漏了。
variable:maxprofit=0,qc=0,win:=0,ht:=0;
exittime:=time>=145000;
ND:stkindi('','A',0,22,45);
XD:stkindi('',''B,0,11,0);
平空開(kāi)多條件:=ND>XD;
平多開(kāi)空條件:=ND<XD;
if holding=0 and 平空開(kāi)多條件 then
begin
buy(1,1,MARKET);
maxprofit:=0;
end
//限時(shí)清倉(cāng)
if exittime then begin
sell(1,0,MARKET);
sellshort(1,0,MARKET);
qc:=0;
end
//多倉(cāng)止損
if holding>0 and low<enterprice-3 then sell(1,1,market);
win:=0;
ht:=0;
if holding > 0 and enterbars > 0 then
begin
win:=(high-enterprice); //記錄多倉(cāng)浮動(dòng)盈利
if win > maxprofit then
maxprofit:=win; //最大獲利
ht:=maxprofit-win; //最大盈利后的回調(diào)幅度
end
if maxprofit<3 and holding>0 then 平多:SELL(平多開(kāi)空條件,0,market);// 盈利小于3點(diǎn),采用指標(biāo)平倉(cāng)。
if maxprofit>=3 and maxprofit<10 and holding>0 then 止贏1:SELL(ht<1+0.1*(maxprofit-2),0,market); // 3至10點(diǎn)盈利保護(hù)1點(diǎn)幾利潤(rùn)盈平
if maxprofit>=10 and maxprofit<20 and holding>0 then 止贏2:SELL(ht<0.5*maxprofit,0,market); // 10至20點(diǎn)盈利保50%浮盈利潤(rùn)盈平
if maxprofit>=20 and maxprofit<40 and holding>0 then 止贏3:SELL(ht<maxprofit-10,0,market); // 20點(diǎn)至40點(diǎn)盈利,浮盈回撤10點(diǎn)盈平
if maxprofit>40 and holding>0 then 止贏4:SELL(ht<maxprofit-5 or 平多開(kāi)空條件,0,market); // 大于40點(diǎn)盈利,浮盈回撤5點(diǎn)或指標(biāo)平倉(cāng),哪個(gè)先達(dá)到執(zhí)行哪個(gè)
關(guān)于SELL()里面的maxprofit,這里三種用法{1+0.1*(maxprofit-2)}{0.5*maxprofit}{maxprofit-10}是否正確?為什么要在前面加上“ht<”呢?
另外止盈止損后滿足某條件之后重新恢復(fù)持倉(cāng)策略怎么寫?例:即持多倉(cāng)時(shí),如果止盈(止損)后,趨勢(shì)沒(méi)有向空條件發(fā)展,在仍然保持多條件情況下,價(jià)格重新回調(diào)到大于止盈價(jià)(止損價(jià))時(shí),重新恢復(fù)持多倉(cāng)。不可行,即放棄。
請(qǐng)老師幫修改一個(gè)上述完整策略。
開(kāi)平空倉(cāng)盈損,是否是將上述策略中的low,high和開(kāi)平空改一下即可?還有什么要改變的嗎?
[此貼子已經(jīng)被作者于2014/3/13 17:28:57編輯過(guò)]