以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  限制周期的代码  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=164180)

--  作者:yongle476
--  发布时间:2018/6/27 13:51:41
--  限制周期的代码
老师,要给指标加一个周期限制,比如MA60:MA(C,60);只在1、2、3、5分钟周期上显示,10分钟以上周期不显示,用什么函数可以实现,先谢谢!
--  作者:FireScript
--  发布时间:2018/6/27 13:58:23
--  
你这个需求的核心是周期判断,代码如下:

aa:VALUEWHEN(TODAYBAR=1,time);
bb:VALUEWHEN(TODAYBAR=2,time);
M1:TIMETOT0(BB)- TIMETOT0(aa);//转换成秒。五分钟周期返回值是300,1分钟周期返回的是60

q:=ma(c,10);
if m1<600 then a:q;

根据M1值来判断周期,按照你的说明的话,只要M1<600即可。


--  作者:yongle476
--  发布时间:2018/6/27 14:10:05
--  
老师,是我没描述清楚,我的意思是在我看盘切换周期的时候,5分钟以下周期显示MA60那根均线,若切换到其它周期,如10分钟或日线什么的就不显示那根MA60均线
--  作者:wenarm
--  发布时间:2018/6/27 14:35:10
--  

方法就是2楼中的处理方式。通过两个k线的时间差判断具体周期的时间,

aa:VALUEWHEN(TODAYBAR=1,time);
bb:VALUEWHEN(TODAYBAR=2,time);
M1:TIMETOT0(BB)- TIMETOT0(aa);

temp:=ma(c,60);
if  M1<=300 THEN MA60:TEMP;


--  作者:yongle476
--  发布时间:2018/6/27 16:50:16
--  

好的,谢谢老师