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


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

   

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


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

主题:持仓

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


加好友 发短信
等级:论坛游侠 帖子:219 积分:0 威望:0 精华:0 注册:2014/2/20 20:17:40
持仓  发帖心情 Post By:2020/10/21 9:34:59    Post IP:112.66.80.207[只看该作者]

在模型编写中存在一个问题,开平语句之前调用的函数holding,enterprice等都是当前周期显示前一周期的数据。怎样写才能实现在开平语句之前显示当前周期中显示该调用函数的真是数据呢?
比如在开平语句之前计算可用仓位时:
保证金:=0.13;//期货公司给实盘账户当前品种每手百分之十三的保证金
一手资金:=ceiling(close*multiplier*保证金);//当时收盘价乘以品种乘数再乘以保证金
已用现金:=一手资金*abs(holding);

假设在一个模型的第一行调用enterprice函数,在本周期是不显示数据的,这个数据要此周期才能显示。

这里holding和enterprice函数的真实数据被延迟了一个周期,要到次周期才能真实显示出来。请问怎么解决?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/10/21 9:47:02    Post IP:58.246.57.26[只看该作者]

这个没办法的啊。你在交易语句之前调用数据都是这样的。实际交易操作没执行,肯定这个数据不会更新的。

一般如果要显示本周期的数据,变量通常是定义在交易部分后面的。比如资产,持仓之类的。通常都是放在指标最后面输出。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
木瓜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:219 积分:0 威望:0 精华:0 注册:2014/2/20 20:17:40
  发帖心情 Post By:2020/10/21 13:19:57    Post IP:112.66.80.207[只看该作者]

保证金:=0.13;//期货公司给实盘账户当前品种每手百分之十三的保证金
一手资金:=ceiling(close*multiplier*保证金);//当时收盘价乘以品种乘数再乘以保证金
已用现金:=一手资金*abs(holding);
那也就是说,类似上边这种在当前周期内在开平仓语句之前的资金状态是没法计算了?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/10/21 13:29:03    Post IP:58.246.57.26[只看该作者]

代码是顺序执行的。无法调用后面还没执行的代码的数据的。


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