以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  时间段内满足条件  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=68562)

--  作者:maogoer
--  发布时间:2014/8/10 23:29:56
--  时间段内满足条件
请问老师,我想写一个公式求过去N周期中第一次满足条件A时距离现在的周期数(应该相当于通达信的barssinceN功能),应该怎么实现呢?在论坛里没有搜到呢。非常感谢!
--  作者:netfox
--  发布时间:2014/8/11 8:12:57
--  
以下是引用maogoer在2014/8/10 23:29:56的发言:
请问老师,我想写一个公式求过去N周期中第一次满足条件A时距离现在的周期数(应该相当于通达信的barssinceN功能),应该怎么实现呢?在论坛里没有搜到呢。非常感谢!

 

 

x:=条件成立;

BARSLAST(X):


--  作者:maogoer
--  发布时间:2014/8/11 9:16:58
--  
多谢回复,不过不是最近一次满足条件,是想知道第一次满足条件的时间啊。因为这段期间内是会出现多次满足条件的情况的。麻烦师兄再指教一下,谢谢了。
--  作者:FexTel
--  发布时间:2014/8/11 9:21:31
--  

1,第一次满足最好使用全局变量记录

VARIABLE:A=0,B=0;

IF COND AND B=0 THEN

BEGIN

A:=BARPOS;//满足条件时的K线值

B:=1;

END

 

BARPOS-A //即为第一次条件满足距离当前的周期数

 

 

[此贴子已经被作者于2014/8/11 9:22:27编辑过]

--  作者:maogoer
--  发布时间:2014/8/11 10:32:55
--  
多谢了!本人刚刚入门,没看懂怎么限制其是过去N个周期内的第一次呢?真是麻烦您了!
--  作者:FexTel
--  发布时间:2014/8/11 10:39:52
--  

VARIABLE:A=0,B=0;

IF COND AND B=0 THEN

BEGIN

A:=BARPOS;//满足条件时的K线值

B:=1;

END

 

IF BARPOS=DATACOUNT-N THEN B:=0;//距离现在N周期B重新赋值到0,a值重新计算

BARPOS-A //即为第一次条件满足距离当前的周期数