Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
qq代人发帖 发表于:2019/3/11 11:17:36
请问金字塔是否有函数能能指定数据开始日期,
此函数能指定起始计算数据的日期,如框架里的指定开始日期一样。
若没有,能否增加一个。
2楼
FireScript 发表于:2019/3/11 11:21:25
 可以在指标里面做限定,限定指标仅在指定日期之后开始指标的计算。
比如限定代码仅在18年10.16之后开始才进行计算。只需要把代码嵌入到一个if语句下面即可。if的条件设置成日期的判断。
if date>=1181016 then
begin
//交易代码
end
3楼
sword8586 发表于:2019/4/2 13:50:43
使用该法,提示ema在if.......之后,不能用。请金字塔提供起始函数
4楼
FireScript 发表于:2019/4/2 14:01:03
 一般这样做,把ema的计算放到if外部。然后if里面调用这个变量。
es:ema(c,5);
if date>=1181016 then
begin
//调用es变量
end
5楼
sword8586 发表于:2019/4/2 14:20:42
这就没用了,我要的是ema(c,5)计算的起点是在指定日期以后。
6楼
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_;//最后结果

上面这个代码供参考。

7楼
sword8586 发表于:2019/4/2 15:18:51
这样,可以但好麻烦。能否提供一个函数,就如exit一样,自此以下从开始日期计算,框架确定任意起始可以,应该可以调用。请提供解决方案。
8楼
FireScript 发表于:2019/4/2 15:24:28
 没办法,ema这种只能还原它算法的方式来获取了。没有其他可用的函数了。
共8 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 3 queries.