我的程序,编译不了哦。。。
此主题相关图片如下:1311034 样品 (1).jpg

//主图显示资产
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY; //输出当前资产,但不影响坐标最高最低值
//定义变量
VARIABLE:i:=0;
INPUT:lot(0.1,0.1,1,0.1);
VARIABLE:ljl:=1000000;
//入金量
VARIABLE:zcb:=0.5; //仓位控制
VARIABLE:ccj:=MULTIPLIER*ENTERPRICE; //持仓金额
VARIABLE:ccb:=ccj/ljl; //帐户持仓比
attack:=MA(CLOSE,5);
defend:=MA(CLOSE,13);
life:=MA(CLOSE,34);
brunttop:=EMA(CLOSE,153);
bruntmiddleone:=EMA(CLOSE,173);
bruntmiddletwo:=EMA(CLOSE,193),COLORYELLOW;
bruntmiddlethree:=EMA(CLOSE,213),COLORYELLOW;
bruntend:=EMA(CLOSE,233),COLORYELLOW;
//三线金叉
jc1:=CROSS(attack,defend);
jc2:=CROSS(defend,life);
//jc:=jc1 and jc2;
jcma:=(ma(close,5)>ma(close,13)) and (ma(CLOSE,13)>ma(close,34));
jcline:=COUNT(jcma,5);
//三线死叉
sc1:=CROSS(defend,attack);
sc2:=CROSS(life,defend);
//sc:=sc1 and sc2;
scma:=(ma(close,5)<ma(close,13)) AND (ma(CLOSE,13)<ma(close,34));
scline:=COUNT(scma,5);
//循环交易系统
WHILE i<10 DO
BEGIN
if (ccb<zcb) and (time<(closetime(0)-500))
BEGIN
BEGIN
IF jcline>=3 THEN
SELLSHORT(jcma and HOLDING<0,HOLDING,market); //平空操作
BUY(jcma and HOLDING=0,lot,market);//开多操作
//限价止损
BEGIN
INPUT:D(10,1,100,1);
IF C-ENTERPRICE>D*mindiff and HOLDING<0 THEN
BEGIN
SELLshort(HOLDING<0,HOLDING,MARKET);//止空
END;
IF ENTERPRICE-C>D*mindiff and HOLDING>0 THEN
BEGIN
SELL(HOLDING>0,HOLDING,MARKET);//止多
END;
end
//移动止损
BEGIN
INPUT:ST(3,1,20,1);
BO:=HOLDING>0 AND ENTERBARS>1;
SO:=HOLDING<0 AND ENTERBARS>1;
TP:=IF(BO,HHV(C,ENTERBARS),IF(SO,LLV(C,ENTERBARS),0));
IF BO AND C<=TP*(1-0.01*ST) THEN SELL(1,0,LIMITR,C);
IF SO AND C>=TP*(1+0.01*ST) THEN SELLSHORT(1,0,LIMITR,C);
END
end
BEGIN
IF
scline>=3
THEN
SELL(scma and HOLDING>0,HOLDING,market); //平多操作
BUYSHORT(scma and HOLDING=0,lot,market); //开空操作
//限价止损
BEGIN
INPUT:D(10,1,100,1);
IF C-ENTERPRICE>D*mindiff and HOLDING<0 THEN
BEGIN
SELLshort(HOLDING<0,HOLDING,MARKET);//止空
END;
IF ENTERPRICE-C>D*mindiff and HOLDING>0 THEN
BEGIN
SELL(HOLDING>0,HOLDING,MARKET);//止多
END;
end
//移动止损
BEGIN
INPUT:ST(3,1,20,1);
BO:=HOLDING>0 AND ENTERBARS>1;
SO:=HOLDING<0 AND ENTERBARS>1;
TP:=IF(BO,HHV(C,ENTERBARS),IF(SO,LLV(C,ENTERBARS),0));
IF BO AND C<=TP*(1-0.01*ST) THEN SELL(1,0,LIMITR,C);
IF SO AND C>=TP*(1+0.01*ST) THEN SELLSHORT(1,0,LIMITR,C);
end
end
END
i:=i+1;
end