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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助下面程序哪里有问题,为什么说else前缺少if

   

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


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

主题:[求助下面程序哪里有问题,为什么说else前缺少if

美女呀,离线,留言给我吧!
ppliu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:156 威望:0 精华:0 注册:2010/12/22 16:29:24
[求助下面程序哪里有问题,为什么说else前缺少if  发帖心情 Post By:2011/2/15 11:31:38    Post IP:116.227.131.89[显示全部帖子]

 IF(DATE<>REF(DATE,1)) THEN
 BEGIN
 DayOpen:=OPEN;
 PreDayRange:=PreDayHigh-PreDayLow;
 bRange:=OPEN*MinRange*0.01;
  if( PreDayRange<bRange) THEN  ( 该行提示标识符“if( PreDayRage<bRange) THEN “长度不能大于20个字符,当我将所有的PreDayRange改为PR时这个问题就解决了,请问这是怎么回事)
   PreDayRange:=bRange;
END
ELSE        (该行提示else前缺少if)
BEGIN
 DayOpen:=REF(DayOpen,1);
 PreDayRange:=REF(PreDayRage,1);
 blongStoped:=REF(blongStoped,1);
 bshortStoped:=REF(bshortStoped,1);
END

希望各位强人帮我解答一下,不胜感激!


 回到顶部
美女呀,离线,留言给我吧!
ppliu
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:156 威望:0 精华:0 注册:2010/12/22 16:29:24
  发帖心情 Post By:2011/2/15 14:20:13    Post IP:116.227.131.89[显示全部帖子]

是需要先给变量赋予初值的问题吗?


 回到顶部
美女呀,离线,留言给我吧!
ppliu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:156 威望:0 精华:0 注册:2010/12/22 16:29:24
  发帖心情 Post By:2011/2/15 14:29:54    Post IP:116.227.131.89[显示全部帖子]

还有我将您的程序进行测试,显示REF函数在逐周期模式下不能再IF控制语句内使用,但错误显示在dayopen:=ref(dayopen,1)行,这是何解呢?


 回到顶部
美女呀,离线,留言给我吧!
ppliu
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:156 威望:0 精华:0 注册:2010/12/22 16:29:24
[求助]  发帖心情 Post By:2011/2/16 11:20:20    Post IP:116.227.134.36[显示全部帖子]

INPUT: PercentOfRange(0.3,0,1,0.1),MinRange(0.2,0,1.0.1),StopLossSet(0.5,0,1,0.1),
       TrailingStart(0.8,0,1,0.1),TrailingStop(0.5,0,1,0.1),
       ExitOnCloseMins(145000,140000,150000,100);
VARIABLE:blongStoped=false,bshortStoped=false,predayhigh:=0,predayrange=0,
         predaylow:=0, higherAfterEntry:=0,lowerAfterEntry:=0,myprice=0,dayopen=0;

 N1:=BARSLAST(DATE<>REF(DATE,1))+1;
 N2:=REF(N1,N1);
 PreDayHigh:=REF(HHV(HIGH,N2),N1);
 PreDayLow:=REF(LLV(LOW,N2),N1);

 if date<>ref(date,1) then begin
 dayopen:=open;  //dayopen取当天的开盘价//
 predayrange:=predayhigh-predaylow;
 brange:=open*minrange*0.01;
 if predayrange<brange then
  predayrange:=brange;
end  else begin
 dayopen:=ref(dayopen,1);
 predayrange:=ref(predayrange,1);
 blongstoped:=ref(blongstoped,1);
 bshortstoped:=ref(bshortstoped,1);

end

该程序显示ref函数在逐周期模式下不能再if控制语句中使用

但是把ref语句提到外面:

INPUT: PercentOfRange(0.3,0,1,0.1),MinRange(0.2,0,1.0.1),StopLossSet(0.5,0,1,0.1),
       TrailingStart(0.8,0,1,0.1),TrailingStop(0.5,0,1,0.1),
       ExitOnCloseMins(145000,140000,150000,100);
VARIABLE:blongStoped=false,bshortStoped=false,predayhigh:=0,predayrange=0,
         predaylow:=0, higherAfterEntry:=0,lowerAfterEntry:=0,myprice=0,dayopen=0,p1=0,b1=0,b2=0,h1=0,h2=0,l1=0,l2=0;
  N1:=BARSLAST(DATE<>REF(DATE,1))+1;
 N2:=REF(N1,N1);
 PreDayHigh:=REF(HHV(HIGH,N2),N1);
 PreDayLow:=REF(LLV(LOW,N2),N1);//跨周期取昨日的最高价与最低价//
 d1:=ref(dayopen,1);
 p1:=ref(predayrange,1);
 b1:=ref(blongstoped,1);
 b2:=ref(bshortstoped,1);
  if date<>ref(date,1) then begin
 dayopen:=open;  //dayopen取当天的开盘价//
 predayrange:=predayhigh-predaylow;
 brange:=open*minrange*0.01;
 if predayrange<brange then
  predayrange:=brange;
end  else begin
 dayopen:=d1;
 predayrange:=p1;
 blongstoped:=b1;
 bshortstoped:=b2;

end

测试正常,但调试dayopen等值都有问题,是怎么回事呢?

 


 回到顶部
美女呀,离线,留言给我吧!
ppliu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:156 威望:0 精华:0 注册:2010/12/22 16:29:24
  发帖心情 Post By:2011/2/16 11:22:55    Post IP:116.227.134.36[显示全部帖子]

麻烦您抽时间给我解答一下,新手上路,对金字塔语法运用还不是很熟练啊,感激万分!

 回到顶部
美女呀,离线,留言给我吧!
ppliu
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:156 威望:0 精华:0 注册:2010/12/22 16:29:24
  发帖心情 Post By:2011/2/16 13:44:35    Post IP:116.227.134.36[显示全部帖子]

比如我本意是想让dayopen保存当日的开盘价,但是上程序运行后,dayopen不停的在两个值间变动,我这个程序用在一分钟线上!还有就是我觉得将ref函数用在if语句外面,可能得到的结果与我本意想得到的结果不符!
[此贴子已经被作者于2011-2-16 13:46:48编辑过]

 回到顶部
美女呀,离线,留言给我吧!
ppliu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:156 威望:0 精华:0 注册:2010/12/22 16:29:24
  发帖心情 Post By:2011/2/16 14:04:44    Post IP:116.227.134.36[显示全部帖子]

您可以仔细看看我那不成器的程序不,顺便帮忙改改啊,小妹感激不尽!


 回到顶部