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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 金字塔是否有函数能能指定数据开始日期

   

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


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

主题:金字塔是否有函数能能指定数据开始日期

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/3/11 11:21:25    Post IP:180.169.30.6[显示全部帖子]

 可以在指标里面做限定,限定指标仅在指定日期之后开始指标的计算。
比如限定代码仅在18年10.16之后开始才进行计算。只需要把代码嵌入到一个if语句下面即可。if的条件设置成日期的判断。
if date>=1181016 then
begin
//交易代码
end


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/2 14:01:03    Post IP:180.169.30.6[显示全部帖子]

 一般这样做,把ema的计算放到if外部。然后if里面调用这个变量。
es:ema(c,5);
if date>=1181016 then
begin
//调用es变量
end


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/2 14:55:26    Post IP:180.169.30.6[显示全部帖子]

那就不能直接使用这个函数了。只能把函数的算法抽离出来,自行编写代码了。比如ema(c,20),在第一个K上取回的值就是当时的c.这样后面的都可以按照算法计算出来了。

N:=10;//相当于ema的参数N
X:=C;//相当于ema参数x
VARIABLE:mark:=0;
VARIABLE:ema_:=0;
//ema
mark:=if(date>=1181016,1,0);//指定日期开始计算

if count(mark=1,0)=1 then ema_:=X;
ema_:=if(count(mark=1,0)>1,(2*x+(N-1)*REF(ema_,1))/(N+1),ema_);//ema算法处理

ema_show:ema_;//最后结果

上面这个代码供参考。



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/4/2 15:24:28    Post IP:180.169.30.6[显示全部帖子]

 没办法,ema这种只能还原它算法的方式来获取了。没有其他可用的函数了。


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