以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  [求助]如何获取(或编写程序得出)过去某一时间点的某一指标的值?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=162532)

--  作者:mikewhq
--  发布时间:2018/4/4 10:45:15
--  [求助]如何获取(或编写程序得出)过去某一时间点的某一指标的值?
请问如何获取(或编写程序得出)过去某一时间点的某一指标的值?打个比方:假如现在是14点,但我想知道在9点和10点时,1小时周期的MACD中的DEA值分别是多少?
--  作者:banzhuan
--  发布时间:2018/4/4 10:53:44
--  
a1 :  STKINDI(\'\',\'macd.dea\',0,5);//获取macd60分钟周期的dea的值
a2: VALUEWHEN(date=1180404 and time=100000,a1);//获取2018-4-4 ,金字塔时间10点的a1值

--  作者:mikewhq
--  发布时间:2018/4/4 11:58:59
--  
经过思考,你的回复我还是有疑问,你现在写的是20180404,但如果没有具体日期呢?比如我的程序是日线周期运行的,每天运行(也就是没有具体日期了),我要检查的是对于此刻来说每上一天在时线周期上的某一时间点上的DEA,那么这个时候又该如何写的呢?
--  作者:wenarm
--  发布时间:2018/4/4 12:34:34
--  

那就要看你上一个时间和当前位置的偏移量了。

a1 :  STKINDI(\'\',\'macd.dea\',0,5,-(偏移量));//负数代表向前偏移。
[此贴子已经被作者于2018/4/4 12:41:16编辑过]

--  作者:mikewhq
--  发布时间:2018/4/4 12:56:31
--  
因为这个每天都要运行的,所以不是一个数据,那么改的话应该改成什么呢?简单地说吧,我想要的是程序每天运行,检查出之前一天在小时周期中的14点跟15点这两个时刻的DEA的值,那么完成这个任务的完整程序该怎么写呢?


--  作者:banzhuan
--  发布时间:2018/4/4 13:21:15
--  
您试试下面的代码
a1 : STKINDI(\'\',\'macd.dea\',0,5);
a2: VALUEWHEN( time=140000,a1);//14点的dea值, 15点的同样修改下时间即可

--  作者:mikewhq
--  发布时间:2018/4/4 13:35:21
--  
谢谢!但我看了程序里面没有涉及到前一天这个情况,那这样会不会要把前一天,两天,三天......等等数据都弄出来了?是否应该改为以下这样的呢?
a1 : STKINDI(\'\',\'macd.dea\',0,5,-1);
a2: VALUEWHEN( time=140000,a1);//14点的dea值, 15点的同样修改下时间即可

--  作者:banzhuan
--  发布时间:2018/4/4 13:45:09
--  
再和您确认一下需求,您是运行在 日线周期, 求前一日的一小时周期 14点 (15点)dea的值是吗?
--  作者:wenarm
--  发布时间:2018/4/4 13:49:03
--  

 
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD1 : 2*(DIFF-DEA), COLORSTICK;

a:VALUEWHEN(time=140000,dea);
b:VALUEWHEN(time=150000,dea);

aa:VALUEWHEN(TODAYBAR=1,a);
bb:VALUEWHEN(TODAYBAR=1,b);

 

 

公式2:其它周期引用上面的结果。

aaa:STKINDI(\'\',\'aab.aa\',0,5);
bbb:STKINDI(\'\',\'aab.bb\',0,5);


--  作者:mikewhq
--  发布时间:2018/4/4 14:00:48
--  
正是如此!