以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=169667)

--  作者:qucheng686
--  发布时间:2019/5/1 17:17:08
--  如何取到某个条件成立后
例子:
a条件:成交量>50000;
b条件:kd的 k>d;

9:00 a条件
9:12 b条件
9:30 b条件
10:11 b条件

求a条件出现后  第一次出现b条件的收盘价

--  作者:FireScript
--  发布时间:2019/5/5 9:07:30
--  
 VALUEWHEN(b and ref(BARSLAST(a),1)<ref(BARSLAST(b),1),c)

逻辑是在B的位置判断,最近一次a和b的距离,如果当前满足B,且最近一次触发的是a不是B,那么取这个c值。这个逻辑暂时没考虑a,b同时触发的情况。

--  作者:qucheng686
--  发布时间:2019/5/8 9:15:54
--  
1.BARSSINCE2 可以用这个函数写吗? 
2.如果可以写怎么写呢?  
3.用这个函数是不是更加灵活一点?

--  作者:wenarm
--  发布时间:2019/5/8 9:46:50
--  

不可以


--  作者:qucheng686
--  发布时间:2019/5/8 9:50:30
--  
老师,我没表达清楚,  不需要当前满足B的.

如果这样写会有什么问题呢?
a1:BARSLAST(成交量>50000);
a2:BARSSINCE2(k>d,a1);
a3:ref(c,a2);

[此贴子已经被作者于2019/5/8 9:50:46编辑过]

--  作者:wenarm
--  发布时间:2019/5/8 9:59:39
--  
没有用的,你这种写法根本体现不出来谁先谁后。
--  作者:qucheng686
--  发布时间:2019/5/8 10:06:03
--  
懂了, 因为后面也有条件B , B的值被不断地覆盖, 所以用BARSSINCE2没有用