具体如此, 先求均线交叉,开1张,然后依照每次ATR移动开一张,直到开满4张结束
ATR:=SMA(TR,20,1);
mashort:ema(close,short);
malong:ema(close,long);
if CROSS(mashort,malong) then begin
{平空}sellshort(holding<0,0,MARKET);
{开多}buy(holding=0,KD,MARKET);
开多2:buy(ENTERPRICE+ATR,KD,MARKET);
开多3:buy(ENTERPRICE+ATR,KD,MARKET);
开多4:buy(ENTERPRICE+ATR,KD,MARKET);
end;
三进三出那个不就是在条件下连续写呢?
实际测试是怎么都开在一条线上?
KD控制是开多少单子,KD默认=1
后面的开多234在开仓条件里面加个enterbars>0
图表交易一根k线只能做一次开多,所以一根k线做不了4次开多,所以改成了一根k线开一次,一共开4此的
可问题就是连续开多,一直开上去,不然之多4张啊,这何止4张了。
以上 FG09 合约

此主题相关图片如下:玻璃09.jpg

[此贴子已经被作者于2013-5-15 20:22:09编辑过]
if holding=1 then BEGIN
开多2:buy(ENTERPRICE+ATR,KD,MARKET);
end;
if holding=2 then BEGIN
开多3:buy(ENTERPRICE+ATR,KD,MARKET);
end;
if holding=3 then BEGIN
开多4:buy(ENTERPRICE+ATR,KD,MARKET);
end;
持仓量:holding,NODRAW;
依照上面写法。。。就一次开在1个位置4单子。
if enterbars=1 then BEGIN
开多2:buy(ENTERPRICE+ATR,KD,MARKET);
end;
if enterbars=2 then BEGIN
开多3:buy(ENTERPRICE+ATR,KD,MARKET);
end;
if enterbars=2 then BEGIN
开多2:buy(ENTERPRICE+ATR,KD,MARKET);
end;
if enterbars=3 then BEGIN
开多2:buy(ENTERPRICE+ATR,KD,MARKET);
end;
if enterbars=3 then BEGIN
开多4:buy(ENTERPRICE+ATR,KD,MARKET);
end;
写4次就成每个位置开4次了