第一個(gè)問(wèn)題:
vMP=marketposition;
if vMP[1]=0 and vMP=1 then
var1=lowest(L,3);
?當(dāng)持倉(cāng)有空倉(cāng)變?yōu)閷?shí)倉(cāng)的時(shí)候,取此時(shí)3根bar的 最低點(diǎn)。 這個(gè)代碼有個(gè)問(wèn)題是,當(dāng)持倉(cāng)平掉后,VAR1仍然會(huì)取到,我想 要的是 持倉(cāng)變?yōu)榱銜r(shí),VAR1 返回值 為空值,請(qǐng)問(wèn)這個(gè)怎么改進(jìn)呢?
2、我想取到開(kāi)倉(cāng)后到 所有持倉(cāng)平掉的過(guò)程中的盈虧。比如?開(kāi)倉(cāng) 1 ?再加倉(cāng) 2手, 減 2手,等等 (1+2-2+2-2。。。)之前用PosTradeProfit 不行,QQ群老師得寫個(gè)代碼,讓我在論壇發(fā)帖,麻煩大神給寫一個(gè).
?
第三個(gè)問(wèn)題,我是從采用bar內(nèi)交易,我想限制單個(gè)BAR 開(kāi)倉(cāng)和平倉(cāng)的信號(hào) 數(shù),這個(gè)代碼怎么寫呢
?
回復(fù)第一個(gè)問(wèn)題:
vMP=marketposition;
if vMP[1]=0 and vMP=1 then
var1=lowest(L,3)
else if vmp=0 then
var1=0;
MC中的變量有一個(gè)特點(diǎn),比如,當(dāng)變量var1在編號(hào)為10的bar上被賦值為20時(shí),若在后續(xù)不再重新賦值給var1時(shí),那么var1在編號(hào)為11、12及后續(xù)所有的bar上取的值都是20,所以,當(dāng)您不再使用var1變量時(shí)(并且該變量的值會(huì)對(duì)后續(xù)有影響時(shí)),需要將變量var1重新賦值一下。
?
回復(fù)您的第二個(gè)問(wèn)題:
您的問(wèn)題涉及兩個(gè)點(diǎn):1.判斷加倉(cāng)減倉(cāng)平倉(cāng)操作;2.計(jì)算當(dāng)前未平倉(cāng)部位的盈虧
1.var: mp(0);
mp=marketposition*currentcontracts;
{mp=-2時(shí),表示當(dāng)前空倉(cāng)2手;當(dāng)mp=5時(shí),表示當(dāng)前多倉(cāng)5手,通過(guò)對(duì)比mp[1]與mp是否相等來(lái)判斷加減倉(cāng)平倉(cāng)操作}
2.當(dāng)前未平倉(cāng)部位的盈虧主要由兩個(gè)部位組成,一個(gè)是平倉(cāng)盈虧(使用關(guān)鍵字positionprofit),另一個(gè)是未平倉(cāng)盈虧(openpositionprofit)??梢允褂萌缦麓a:
var: pf(0);
?
pf=positionprofit+openpositionprofit;
3.基于以上兩點(diǎn),代碼如下:
var: mp(0),pf(0);
mp=marketposition*currentcontracts;
if mp<>mp[1] then
pf=positionprofit+openpositionprofit;
print("2 ",positionprofit+openpositionprofit-pf);? //輸出基于當(dāng)根bar的收盤價(jià)計(jì)算的當(dāng)前未平倉(cāng)部位盈虧與pf的差。
?
回復(fù)您的第二個(gè)問(wèn)題:
您的問(wèn)題涉及兩個(gè)點(diǎn):1.判斷加倉(cāng)減倉(cāng)平倉(cāng)操作;2.計(jì)算當(dāng)前未平倉(cāng)部位的盈虧
1.var: mp(0);
mp=marketposition*currentcontracts;
{mp=-2時(shí),表示當(dāng)前空倉(cāng)2手;當(dāng)mp=5時(shí),表示當(dāng)前多倉(cāng)5手,通過(guò)對(duì)比mp[1]與mp是否相等來(lái)判斷加減倉(cāng)平倉(cāng)操作}
2.當(dāng)前未平倉(cāng)部位的盈虧主要由兩個(gè)部位組成,一個(gè)是平倉(cāng)盈虧(使用關(guān)鍵字positionprofit),另一個(gè)是未平倉(cāng)盈虧(openpositionprofit)??梢允褂萌缦麓a:
var: pf(0);
?
pf=positionprofit+openpositionprofit;
3.基于以上兩點(diǎn),代碼如下:
var: mp(0),pf(0);
mp=marketposition*currentcontracts;
if mp<>mp[1] then
pf=positionprofit+openpositionprofit;
print("2 ",positionprofit+openpositionprofit-pf);? //輸出基于當(dāng)根bar的收盤價(jià)計(jì)算的當(dāng)前未平倉(cāng)部位盈虧與pf的差。