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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请帮忙看下这段代码有什么问题

   

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


  共有2443人关注过本帖平板打印复制链接

主题:请帮忙看下这段代码有什么问题

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


加好友 发短信
等级:新手上路 帖子:44 积分:0 威望:0 精华:0 注册:2014/11/14 11:04:39
请帮忙看下这段代码有什么问题  发帖心情 Post By:2015/4/2 14:53:42    Post IP:183.16.33.92[只看该作者]

这是随便写的一个测试全局变量的代码
属于交易系统,逐k计算,仅刷新最后一根k线。我发现全局变量dayloged这个值的变化跟我预期的不同。
在最新的k线没有走完时,仅刷新最后一根k线,此时,dayloged这个变量在 第二个if完成后,值为1.但是下一个tick来的时候,这个值就变成了0,又重新进入了这个if。在k线走完前就一直重复变成0,又变成1的循环。 而我的本意是他应该等于1的,没有理由变成0(只有每天第一根k线才变0)

代码如下,请各位高手刚忙看看:


variable:dayloged:=-1;


DEBUGFILE2('D:\ttlog.txt','+++++dayloged:%.0f',dayloged,1);
if date<>ref(date,1) then 
begin 
dayloged:=0;
DEBUGFILE2('D:\ttlog.txt','newday:%.0f',4,1);
end 

if islastbar and dayloged=0 then 
begin 
dayloged:=1;
DEBUGFILE2('D:\ttlog.txt','+++++changeddata:%.0f',dayloged,1);
DEBUGFILE2('D:\ttlog.txt','+++++changedtime:%.0f',time,1);
end 

DEBUGFILE2('D:\ttlog.txt','-----dayloged:%.0f',dayloged,1);
DEBUGFILE2('D:\ttlog.txt','-----time:%.0f',time,1);

 回到顶部