以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  跨周期怎么拿到对应K线的时间  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=94456)

--  作者:panda1987
--  发布时间:2016/3/8 8:54:49
--  跨周期怎么拿到对应K线的时间
比如在5分钟周期上我知道15分钟第N跟K线发生了某个事情,但是我想打印出来这个K线在15分钟周期的具体时间,请问应该怎么做?谢谢。
--  作者:jinzhe
--  发布时间:2016/3/8 8:57:53
--  
什么是“15分钟的第n根k线”
--  作者:panda1987
--  发布时间:2016/3/8 9:02:30
--  
早,金老师。

举个例子,我有个抓波形的公式叫A,有个signal代表有没有波形出来。那么我在5分钟周期内这么调用:signal:=STKINDI(\'\',\'A.signal\',0,3);
然后我想找这个波形在15分钟周期上最近一次发生的时间。。。

--  作者:panda1987
--  发布时间:2016/3/8 9:05:43
--  
我本来是用了last_signal:=barslast(signal>0)去拿K线的位置,但是我突然想到这样对不对?因为我是在5分钟周期拿15分钟周期的位置。

那拿到了以后呢?怎么取到对应15分钟周期的时间?

--  作者:jinzhe
--  发布时间:2016/3/8 9:09:42
--  

在A公式最后加这样一句话

if signal and time<>extgbdata(\'time\') then begin

    extgbdataset(\'shijian\',dynainfo(207));

    extgbdataset(\'time\',time);

end

 

然后在5分钟周期公式里面加上

nn:extgbdata(\'shijian\');

 

 

这个可以获得最近一次条件满足的实时时间,但是没有历史数据, 不要用来判断历史信号


--  作者:panda1987
--  发布时间:2016/3/8 9:12:07
--  
那这个取得K线位置的方法对吗?

我本来是用了last_signal:=barslast(signal>0)去拿K线的位置,但是我突然想到这样对不对?因为我是在5分钟周期拿15分钟周期的位置。

那拿到了以后呢?怎么取到对应15分钟周期的时间?

--  作者:jinzhe
--  发布时间:2016/3/8 9:18:39
--  

nn:valuewhen(signal,time);

 

然后引用nn


--  作者:panda1987
--  发布时间:2016/3/8 9:25:07
--  
我总结一下您看对不对

signal:=STKINDI(\'\',\'A.signal\',0,3); // 跨周期引用,signal可能是0,1,2,3分别代表不同的含义。0表示没信号。
last_signal:=barslast(signal>0);    // 拿到15分钟周期对应的最后一根K线位置,这个对吗?
signal_time:=valuewhen(signal>0, time);   // 拿到最近一次signal产生的时间。这个是15分钟周期的时间吗?

--  作者:jinzhe
--  发布时间:2016/3/8 9:27:55
--  

signal:=STKINDI(\'\',\'A.signal\',0,3); // 跨周期引用,signal可能是0,1,2,3分别代表不同的含义。0表示没信号。

被引用的signal你是怎么写的?


--  作者:panda1987
--  发布时间:2016/3/8 9:28:37
--  
被引用的signal就是计算波形,如果符合条件就设置一个值。