以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 金字塔是否有函数能能指定数据开始日期 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=168710) |
-- 作者:qq代人发帖 -- 发布时间:2019/3/11 11:17:36 -- 金字塔是否有函数能能指定数据开始日期 请问金字塔是否有函数能能指定数据开始日期,
此函数能指定起始计算数据的日期,如框架里的指定开始日期一样。
若没有,能否增加一个。
|
-- 作者:FireScript -- 发布时间:2019/3/11 11:21:25 -- 可以在指标里面做限定,限定指标仅在指定日期之后开始指标的计算。 比如限定代码仅在18年10.16之后开始才进行计算。只需要把代码嵌入到一个if语句下面即可。if的条件设置成日期的判断。 if date>=1181016 then begin //交易代码 end
|
-- 作者:sword8586 -- 发布时间:2019/4/2 13:50:43 -- 使用该法,提示ema在if.......之后,不能用。请金字塔提供起始函数 |
-- 作者:FireScript -- 发布时间:2019/4/2 14:01:03 -- 一般这样做,把ema的计算放到if外部。然后if里面调用这个变量。 es:ema(c,5); if date>=1181016 then begin //调用es变量 end |
-- 作者:sword8586 -- 发布时间:2019/4/2 14:20:42 -- 这就没用了,我要的是ema(c,5)计算的起点是在指定日期以后。 |
-- 作者:FireScript -- 发布时间:2019/4/2 14:55:26 -- 那就不能直接使用这个函数了。只能把函数的算法抽离出来,自行编写代码了。比如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_;//最后结果 上面这个代码供参考。 |
-- 作者:sword8586 -- 发布时间:2019/4/2 15:18:51 -- 这样,可以但好麻烦。能否提供一个函数,就如exit一样,自此以下从开始日期计算,框架确定任意起始可以,应该可以调用。请提供解决方案。 |
-- 作者:FireScript -- 发布时间:2019/4/2 15:24:28 -- 没办法,ema这种只能还原它算法的方式来获取了。没有其他可用的函数了。 |