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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]公式编写问题

   

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


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

主题:[求助]公式编写问题

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


加好友 发短信
等级:新手上路 帖子:13 积分:0 威望:0 精华:0 注册:2014/2/7 14:18:19
[求助]公式编写问题  发帖心情 Post By:2014/2/28 15:04:13    Post IP:124.205.159.194[显示全部帖子]

假设在1分钟周期下,从当天开盘开始,每到3分钟或3分钟整数倍,就把变量a增加1,见如下代码(以下代码无实际意义,仅供调试)
问题:当开盘第3分钟时,va确实变为1,但是当第4分钟时,vb的值还是0。如何才能在第4分钟正确的ref到第3分钟a的值?


RUNMODE:0; //使用逐周期运行模式

VARIABLE:a=0;
vb:ref(a,1),nodraw;

sCurOpenMin:OPENMINUTES(TIME),nodraw;  //开盘分钟数

if (sCurOpenMin = 1) //在开盘第一分钟时,把a初始化为0
then a:=0;
if ((sCurOpenMin ) % 3 = 0) //每到3的整数倍时,a加1
then a := a+1;


va:a,NODRAW;


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


加好友 发短信
等级:新手上路 帖子:13 积分:0 威望:0 精华:0 注册:2014/2/7 14:18:19
  发帖心情 Post By:2014/2/28 18:51:46    Post IP:124.205.159.194[显示全部帖子]

已按照您说的操作,依然不起作用,请看截图,
当日开盘第4分钟各个变量的值
另外,我的程序中没有“费率设置”的按钮,不知有没有关系

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140228185033.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:新手上路 帖子:13 积分:0 威望:0 精华:0 注册:2014/2/7 14:18:19
  发帖心情 Post By:2014/3/3 9:18:18    Post IP:124.205.159.194[显示全部帖子]

up

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


加好友 发短信
等级:新手上路 帖子:13 积分:0 威望:0 精华:0 注册:2014/2/7 14:18:19
  发帖心情 Post By:2014/3/3 10:30:41    Post IP:124.205.159.194[显示全部帖子]

急求答案……

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


加好友 发短信
等级:新手上路 帖子:13 积分:0 威望:0 精华:0 注册:2014/2/7 14:18:19
  发帖心情 Post By:2014/3/3 11:22:09    Post IP:124.205.159.194[显示全部帖子]

疑问:在当前周期,ref(a,1)取上周期a的值,不管ref(a,1)放在代码的什么地方,上周期a的值都应该已经计算出来了?

另外,想实现下述效果应该怎么写?
//根据上一个周期a的值来计算本周期a的值

RUNMODE:0; //使用逐周期运行模式


VARIABLE:a=0;

 

va:ref(a,1),nodraw;


if (va % 3 = 0)   
then a: = a+2;
else 
then a := a+1;

 


 


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


加好友 发短信
等级:新手上路 帖子:13 积分:0 威望:0 精华:0 注册:2014/2/7 14:18:19
  发帖心情 Post By:2014/3/3 13:14:44    Post IP:124.205.159.194[显示全部帖子]

上面的需求看起来比较奇怪,改一下说法:

想实现下述效果应该怎么写?
//根据上N个周期a的值来计算本周期a的值(N是变量,当N不等于1的时候没有问题,当N等于1的时候,就出问题了)

RUNMODE:0; //使用逐周期运行模式


VARIABLE:a=0;

 

va:ref(a,n),nodraw;


if (va % 3 = 0)   
then a: = a+2;
else 
then a := a+1;


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


加好友 发短信
等级:新手上路 帖子:13 积分:0 威望:0 精华:0 注册:2014/2/7 14:18:19
  发帖心情 Post By:2014/3/3 13:59:00    Post IP:124.205.159.194[显示全部帖子]

多谢

 回到顶部