以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=61874)

--  作者:点点
--  发布时间:2014/2/20 18:13:54
--  [求助
我的程序,编译不了哦。。。


图片点击可在新窗口打开查看此主题相关图片如下: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

--  作者:点点
--  发布时间:2014/2/20 18:14:09
--  
请教高手哪里有问题啊?
--  作者:点点
--  发布时间:2014/2/20 18:14:20
--  
谢谢
--  作者:fly
--  发布时间:2014/2/21 9:34:15
--  

少了BEGIN....END