欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 指示错误引用的括号不完整, 指向标注黄色区域, 但是那一行只有一句END?为什么会出错?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3445人关注过本帖树形打印复制链接

主题:指示错误引用的括号不完整, 指向标注黄色区域, 但是那一行只有一句END?为什么会出错?

帅哥哟,离线,有人找我吗?
OscarDeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:289 积分:0 威望:0 精华:0 注册:2019/4/29 11:42:41
指示错误引用的括号不完整, 指向标注黄色区域, 但是那一行只有一句END?为什么会出错?  发帖心情 Post By:2020/5/6 9:49:23    Post IP:202.105.58.5[显示全部帖子]

IF TSELLHOLDINGEX('','',2)>=空头开仓数 AND TSELLHOLDINGEX('','',1)<空头开仓数 THEN 
BEGIN
    TCANCEL(TSELLHOLDINGEX('','',3)>0,4);
    空头开仓数=TSELLHOLDINGEX('','',2);
END
//3.总空头持仓比现在开仓数要少
IF TSELLHOLDINGEX('','',2)<=空头开仓数 THEN
BEGIN
TCANCEL(TSELLHOLDINGEX('','',3)>0,4);
空头开仓数=INTPART(空头开仓数-TSELLHOLDINGEX('','',1));
//3.1 达到开空条件, 先检测程序化是否平衡先, 如果是平衡状态, 开始空
    IF(INTPART(空头开仓数)<1 ,1,INTPART(空头开仓数));//空头开仓数不能为0
//a.看成交量
//b.看卖一和买一的中间加个 DYNAINFO(34)卖一价;DYNAINFO(28)买一价; DYNAINFO(208)最小变动单位;
//成交量比例是自己设置的, 取5日的平均数。 千分之5那么多, 建议分两次下而且用加仓的方式来操作。
    IF 空头开仓数>24 or 成交量比例>=4 THEN
    BEGIN
  IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
  BEGIN 
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)),NOATTACK;
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208)),NOATTACK;
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
  BEGIN 
  TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
  TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)),NOATTACK;
  TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      BEGIN 
      IF DYNAINFO(25)>DYNAINFO(31) THEN 
      BEGIN //DYNAINFO(31) 是买一量, DYNAINFO(25) 是卖一量,
      TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,2*空头开仓数/3,LMT,DYNAINFO(34)),NOATTACK;
    END
        IF DYNAINFO(25)<DYNAINFO(31) THEN
        BEGIN
        TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34),NOATTACK;
    TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)),NOATTACK;
END
      END     
    END 
   IF 空头开仓数<=24 AND 空头开仓数>=4 AND 成交量比例<4 THEN    
   BEGIN
      IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
  BEGIN 
  TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
      END
      IF DYNAINFO(34)-DYNAINFO(28)>=DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
  BEGIN 
  TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
      END
   END   
   IF 空头开仓数<=3 AND 空头开仓数>=2 AND 成交量比例<4 THEN //注意holding是策略的理论持仓,他不管实际仓位   
   BEGIN //DYNAINFO(31) 是买一量, DYNAINFO(25) 是卖一量,
    IF DYNAINFO(25)>DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(34)),NOATTACK;
  IF DYNAINFO(25)<DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(28)),NOATTACK;
   END
END


 回到顶部
帅哥哟,离线,有人找我吗?
OscarDeng
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:289 积分:0 威望:0 精华:0 注册:2019/4/29 11:42:41
  发帖心情 Post By:2020/5/6 9:57:06    Post IP:202.105.58.5[显示全部帖子]

下面已经按照你的要求,TSELLHOLDINGEX('','',1)用了单引号, 空头开仓数:=TSELLHOLDINGEX('','',1)用了冒号, 还是出错说引用的括号不完整

//1.如果之前的开空持仓剩余数并且比现在空头开仓数还要多, 那就用之前的开空持仓剩余数,不需要开空。
IF TSELLHOLDINGEX('','',1)>=空头开仓数 THEN 空头开仓数:=TSELLHOLDINGEX('','',1);

//2.如果有平空挂单,之前的开空持仓剩余数比现在空头开仓数少, 总空头持仓比现在开仓数要多,那就用把要撤的单取消掉。 
IF TSELLHOLDINGEX('','',2)>=空头开仓数 AND TSELLHOLDINGEX('','',1)<空头开仓数 THEN 
BEGIN
    TCANCEL(TSELLHOLDINGEX('','',3)>0,4);
    空头开仓数:=TSELLHOLDINGEX('','',2);
END
//3.总空头持仓比现在开仓数要少
IF TSELLHOLDINGEX('','',2)<=空头开仓数 THEN
BEGIN
TCANCEL(TSELLHOLDINGEX('','',3)>0,4);
空头开仓数:=INTPART(空头开仓数-TSELLHOLDINGEX('','',1));
//3.1 达到开空条件, 先检测程序化是否平衡先, 如果是平衡状态, 开始空
    IF(INTPART(空头开仓数)<1 ,1,INTPART(空头开仓数));//空头开仓数不能为0
//a.看成交量
//b.看卖一和买一的中间加个 DYNAINFO(34)卖一价;DYNAINFO(28)买一价; DYNAINFO(208)最小变动单位;
//成交量比例是自己设置的, 取5日的平均数。 千分之5那么多, 建议分两次下而且用加仓的方式来操作。
    IF 空头开仓数>24 or 成交量比例>=4 THEN
    BEGIN
  IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
  BEGIN 
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)),NOATTACK;
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208)),NOATTACK;
  TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
  BEGIN 
  TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
  TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)),NOATTACK;
  TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      BEGIN 
      IF DYNAINFO(25)>DYNAINFO(31) THEN 
      BEGIN //DYNAINFO(31) 是买一量, DYNAINFO(25) 是卖一量,
      TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,2*空头开仓数/3,LMT,DYNAINFO(34)),NOATTACK;
    END
        IF DYNAINFO(25)<DYNAINFO(31) THEN
        BEGIN
        TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34),NOATTACK;
    TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)),NOATTACK;
END
      END     
    END 
   IF 空头开仓数<=24 AND 空头开仓数>=4 AND 成交量比例<4 THEN    
   BEGIN
      IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
  BEGIN 
  TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
      END
      IF DYNAINFO(34)-DYNAINFO(28)>=DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
  BEGIN 
  TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
    TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
      END
   END   
   IF 空头开仓数<=3 AND 空头开仓数>=2 AND 成交量比例<4 THEN //注意holding是策略的理论持仓,他不管实际仓位   
   BEGIN //DYNAINFO(31) 是买一量, DYNAINFO(25) 是卖一量,
    IF DYNAINFO(25)>DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(34)),NOATTACK;
  IF DYNAINFO(25)<DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(28)),NOATTACK;
   END
END


 回到顶部