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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 编译错误信息不清楚的问题

   

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


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

主题:编译错误信息不清楚的问题

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


加好友 发短信
等级:论坛游侠 帖子:289 积分:0 威望:0 精华:0 注册:2019/4/29 11:42:41
编译错误信息不清楚的问题  发帖心情 Post By:2019/7/22 21:15:13    Post IP:180.169.30.6[只看该作者]

下面两段程序,基本上一样的, 第一段编译出现错误“引用的括号不完整”, 停留的地方在的函数END,  第二段编译没有问题。

我不知道第一段问题所在, 而且END 语句本来就没有括号, 所以你出现错误的注释“引用的括号不完整”让人摸不着头脑!? 请帮忙指正第一段哪里有问题?

 

 

//第一段

IF SHDIFFDAY>-30 THEN
BEGIN
 IF SHDIFF60MIN>-30 THEN
 BEGIN
  BKSH5=IF( SHDIFF15MIN>-30 and SHPOSITIVEV5MIN,1,0);
  BKSH5=IF( SHDIFF15MIN>-70 and SHPOSITIVEV5MIN,1,0);
  BKSH15=IF(SHPOSITIVEV15MIN,1,0);
 END    
 IF SHDIFF60MIN<-30 THEN
 BEGIN
  BKSH5=IF(SHDIFF15MIN>-30 AND SHPOSITIVEV5MIN,1,0);
  BKSH15=IF(SHDIFF15MIN>-70 AND SHPOSITIVEV15MIN,1,0);
 END
END  
IF SHDIFFDAY<-30 AND SHDIFFDAY>-150 THEN
BEGIN
 IF SHDIFF60MIN>-30 THEN
 BEGIN
  BKSH5=IF(SHDIFF15MIN>-5 AND SHPOSITIVEV5MIN,1,0),1,0);
 
  BKSH15=IF(SHDIFF15MIN>-30 AND SHDIFF15MIN<-70 AND SHPOSITIVEV15MIN,1,0);
 END

    END
 END

 

 

//第二段

IF SHDIFFDAY>-30 THEN
BEGIN
 IF SHDIFF60MIN>-30 THEN
 BEGIN
  BKSH5=IF( SHDIFF15MIN>-30 and SHPOSITIVEV5MIN,1,0);
  BKSH5=IF( SHDIFF15MIN>-70 and SHPOSITIVEV5MIN,1,0);
  BKSH15=IF(SHPOSITIVEV15MIN,1,0);
 END    
 IF SHDIFF60MIN<-30 THEN
 BEGIN
  BKSH5=IF(SHDIFF15MIN>-30 AND SHPOSITIVEV5MIN,1,0);
  BKSH15=IF(SHDIFF15MIN>-70 AND SHPOSITIVEV15MIN,1,0);
 END
END  
IF SHDIFFDAY<-30 AND SHDIFFDAY>-150 THEN
BEGIN
 IF SHDIFF60MIN>-30 THEN
 BEGIN
  BKSH5=1;
 END

 END 


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2019/7/23 0:18:37    Post IP:101.88.242.196[只看该作者]

1.第一段代码中逻辑都不对,begin和end是成对出现的,你end多余begin。请自己从新整理自己的逻辑设计思路。
2.赋值是:= 。不是等号


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
OscarDeng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:289 积分:0 威望:0 精华:0 注册:2019/4/29 11:42:41
我的第一段begin 跟 end 是对的上的, 如果第一段没有对的上, 第二段肯定出错!  发帖心情 Post By:2019/7/23 10:53:29    Post IP:113.68.192.109[只看该作者]

我的第一段begin 跟 end 是对的上的, 如果第一段没有对的上, 第二段肯定出错!  第二段跟第一段内容基本上一样, begin 和 end 的数量一样的。 请你指示我第一段哪里多出了一个begin?

还有, 如果我定义了下面语句, 就不需要用:=了, 对吗?

VARIABLE:BKSH5=0,BKZH5=0;
VARIABLE:BKSH15=0,BKZH15=0;
VARIABLE:BKSH60=0,BKZH60=0;
VARIABLE:BKSHDAY=0,BKZHDAY=0;
 

 

因为第一段有错, 我拷贝出第二段来做测试的。 两段是独立的。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/7/23 11:12:40    Post IP:180.169.30.6[只看该作者]

1. begin 5个  end6个。肯定不行。最后的end去掉一个。
2.括号的报错这2句代码出错的。
  BKSH5:=IF(SHDIFF15MIN>-5 AND SHPOSITIVEV5MIN,1,0),1,0);
  BKSH15=IF(SHDIFF15MIN>-30 AND SHDIFF15MIN<-70 AND SHPOSITIVEV15MIN,1,0);
3.赋值请用 := 而不是 =。


命数如织,当如磐石。
 回到顶部